zetbox is an open-source software product used for efficient development, adjustment and extension of business aplications.
C# Batchfile Perl CSS ASP PowerShell Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.nuget
Configs
Data
DocumentStore/Client
Documentation
Modules
PrepareEnv
Sandcastle
Templates
Tests
Tools
WPFLibrary
Zetbox.API.Client
Zetbox.API.Common
Zetbox.API.Server
Zetbox.API
Zetbox.App.Projekte.Client
Zetbox.App.Projekte.Common
Zetbox.App.Projekte.Server
Zetbox.Assets
Zetbox.Cli
Zetbox.Client.ASPNET.Toolkit
Zetbox.Client.ASPNET
Zetbox.Client.Bootstrapper
Zetbox.Client.Forms
Zetbox.Client.WPF.Toolkit
Zetbox.Client.WPF
Zetbox.Client
Zetbox.ConfigEditor
Zetbox.DalProvider.Base
Zetbox.DalProvider.Client.Generator
Zetbox.DalProvider.ClientObjects
Zetbox.DalProvider.Ef.Generator
Zetbox.DalProvider.Ef
Zetbox.DalProvider.Memory.Generator
Zetbox.DalProvider.Memory
Zetbox.DalProvider.NHibernate.Generator
Zetbox.DalProvider.NHibernate
Zetbox.Generator
Zetbox.Microsoft
Zetbox.Objects.Ef.Fallback
Zetbox.Objects.Ef
Zetbox.Objects.Fallback
Zetbox.Objects.Memory.Fallback
Zetbox.Objects.Memory
Zetbox.Objects.NHibernate.Fallback
Zetbox.Objects.NHibernate
Zetbox.Objects
Zetbox.Server.HttpService
Zetbox.Server.Service
Zetbox.Server.Service32
Zetbox.Server.Wcf
Zetbox.Server
Zetbox.Unix
Zetbox.WPF
publish
!ResetDatabase.sh
.gitattributes
.gitignore
GetCodeGen.cmd
GetFallbackCodeGen.cmd
LICENSE.txt
README.md
UpgradeTasks.md
Zetbox.Client.sln
Zetbox.Complete.sln
Zetbox.snk
Zetbox.zreproj
gendarme-powershell-policy.txt
gendarme-visualstudio.xslt
gendarme.bat
gendarmeXML.ps1
gendarmeignore.txt
gendarmerules.xml
generate.sh
gpl-3.0.txt
lgpl-3.0.txt
zbClient.cmd
zbDeployAll.cmd
zbGenerate.cmd
zbGenerateFallback.cmd
zbPublishAll.cmd
zbResetAll.cmd
zbResetDatabase.cmd
zbServer.cmd

README.md

zetbox basic

zetbox basic is a toolkit to build database-oriented applications. The developer specifies the data model and zetbox basic creates the database, schema updates, DTOs and an extensible user interface.

Supported systems

The server runs on both Windows and Linux (using mono 2.10) and can talk to MS-SQL and PostgreSQL. The client currently supports Windows with WPF.

Build requirements

  • On Windows you can build zetbox with Visual Studio 2010 (including the Express versions).
  • On Linux you can build the server components using mono 2.10's xbuild.
  • For build-time code generation, the Arebis Code Generator is required.
  • Git is required for aquiring the source and generating compile-time version information.
    • TortoiseGit works well on Windows.
    • If you already have a GitHub account, you might want to look into GitHub for Windows.
    • Use the git packages from your distribution on Linux.
    • For compile-time version checking install MSYS git and take care to specify "Run Git and included Unix tools from the Windows Command Prompt".
  • Gendarme is required to check for common programming errors.
    • Since the Gendarme 2.10 installer does not add itself to the PATH, this has to be done manually: Start -> Computer -> Properties -> Advanced System Settings -> Environment variables -> Add "C:\Program Files (x86)\Gendarme" (or similar) to the PATH variable.
  • A database
    • On Linux install PostgreSQL using your preferred method.
    • On Windows you can use either MS-SQL 2008 (Express or otherwise) or PostgreSQL 8.4.12-9.x.

Everything else is based on standard tools downloaded with NuGet during the build itself.

Building on Windows

  • Have a version of Visual Studio 2010 installed or get the C# Express edition
  • Have a version of MS-SQL 2008 installed and/or get PostgreSQL for Windows (we are currently testing against 8.4.12, but 9.x should work too)
  • Clone the repository to your work area.
  • In the clone, copy Configs\Examples to Configs\Local
  • [MSSQL] Create a database called "zetbox".
  • [MSSQL Express/Compact] When using a DataSet instead of a full database, you need to change the ConnectionString in all MSSQL configurations in Configs\Local.
    • [Tip] When creating the database for development, specify the "Simple" recovery model to reduce the required space on disk.
  • [PG] Create a database called "zetbox" belonging to a user "zetbox" with a password.
  • [PG] Run the uuid-ossp.sql script from PG_INSTALL_DIR\share\contrib in the new database.
  • [PG] Change the database password in all ConnectionStrings in all PostgreSQL configurations in Configs\Local or use the provided default for the login role.
  • Open a Visual Studio Command Prompt and navigate to the checkout
    • Set the desired database and ORM provider with "set zenv=Local\NHibernate\PostgreSQL" or "set zenv=Local\EF\MSSQL"
    • Install our custom nuget source with ".nuget\nuget.exe sources add -name zetbox -source https://office.dasz.at/ngf/api/v2/"
    • Allow unsigned Powershell scripts to run. Execute "set-executionpolicy -executionPolicy RemoteSigned" in an PowerShell running as Administrator. Take care that you set the policy for both 32- and 64-bit mode.
    • Initialize the database and generated objects by running the "!FullReset.cmd" script.
  • To run the standalone WCF host, you need to set the proper urlacl. Edit and run the "urlreservation.cmd" as administrator
  • Now you can start the server and client with the "zbServer.cmd" and "zbClient.cmd" scripts.