Setup of Development environment
Windows Development environment
Required software
- Git (see also some Notes about Git); recommended: TortoiseGit
- Microsoft .Net 3.5 Redistributable and SDK (we only use .Net 2.0 for OpenPetra, but SharpDevelop requires .Net 3.5)
- SharpDevelop 3.0
- NAnt (see also some Notes about NAnt)
- one of the following Database Management systems:
- PostgreSQL (recommended) Notes about PostgreSQL
- MySQL Notes about MySQL
- no installation effort at all is required for SQLite
- Poedit (for translation) (see also Notes about I18N)
- Mono (for translation)
- Inno Setup 5 for building setup files
Linux Development environment
Install required software
Please add information for other distributions that you are working with!
Git
- on Ubuntu/Debian: apt-get install git-core
MonoDevelop 2.x
- on Ubuntu/Debian: apt-get install mono-2.0-runtime monodevelop
NAnt
- on Ubuntu/Debian: apt-get install nant
- Problem: NAnt 0.85 (Build 0.85.2478.0; release; 10/14/2006) does not seem to support the task "solution" on Linux?
Invalid element <solution>. Unknown task or datatype.
- Solution: copy binary zip from sourceforge, unzip, and change /usr/bin/nant to point at the latest NAnt.exe
- Also you need to make a symbolic link:
- Problem: NAnt 0.85 (Build 0.85.2478.0; release; 10/14/2006) does not seem to support the task "solution" on Linux?
ln -s /usr/lib/mono/2.0/Microsoft.CSharp.targets /usr/lib/mono/2.0/Microsoft.CSharp.Targets
SQLite or PostgreSQL
- on Ubuntu/Debian: apt-get install sqlite3; or apt-get install postgresql
Get the source code
The source code is managed with Git.
Please understand that we will provide write permissions only to the core members of the development team, just to keep the project on one track. We very much need your contributions though, and we will aim to quickly deal with submitted patches and code via the forum. This still has to be worked out how this works best to submit code that way.
You can get the source code in several ways:
- see the Git instructions at Sourceforge
- that page describes how you can download anonymously from Git
- you can also browse the Git repository online, and you can download a tar.gz snapshot there
- the latest release should also provide a download of the source files, see Download section
Configuration of Windows Development Environment
The recommended way of installing OpenPetra.org for development is to somewhere map a network drive, using the DOS command subst
For example:
mkdir c:\development subst u: c:\development download the git repository into u:\OpenPetra (it contains the .git directory, and the OpenPetra.build: U:\OpenPetra\OpenPetra.build, etc) URL of the git repository: anonymous access: git://openpetraorg.git.sourceforge.net/gitroot/openpetraorg developer access: ssh://USERNAME@openpetraorg.git.sourceforge.net/gitroot/openpetraorg make sure that you set your username and email address in your git client
- you need to make a copy of the file OpenPetra.build-sample-windows.config and call it OpenPetra.build.config
copy OpenPetra.build-sample-windows.config OpenPetra.build.config
Configuration of Linux Development Environment
for anonymous access:
cd ~ git clone git://openpetraorg.git.sourceforge.net/gitroot/openpetraorg cd openpetraorg cp OpenPetra.build-sample-linux.config OpenPetra.build.config
for developer access (with write permissions):
cd ~ git clone ssh://USERNAME@openpetraorg.git.sourceforge.net/gitroot/openpetraorg git config user.name "YOUR NAME" git config user.email "USERNAME@users.sourceforge.net" cd openpetraorg cp OpenPetra.build-sample-linux.config OpenPetra.build.config
NAnt
There is a central NAnt script that is able to generate a lot of code and is able to do all automated tasks in the OpenPetra project.
get help
To see the available commands, just run on the command line:
cd OpenPetra nant help
initial steps
First you need to compile the PetraTools which is a set of programs for creating databases and more:
nant compileCommon nant compilePetraTools
Now you need to create a database. If you don't change the config file, the SQLite database system will be used.
nant recreateDatabase
Then you want to load the database with base data:
nant resetDatabase
You should compile OpenPetra.org this way:
nant compilePetra
Start the OpenPetra.org Server:
nant startPetraServer
Start the OpenPetra.org client:
nant startPetraClient
With the base database, there is the user demo with password demo that you can use to login to your installation of OpenPetra.org.
See Preview: Current functionality for information what is actually working already.
Stop the OpenPetra.org Server:
nant stopPetraServer
Generate the translation files:
nant translation