Using Bazaar to Contribute Code
We maintain all of our code in Launchpad using the Bazaar version control system.
Bazaar
Installing Bazaar
You can install bazaar under ubuntu via
sudo apt-get install bzr bzrtools
Using Bazaar
You should try the five minute tutorial.
Bazaar Branches
There are a few software components that we maintain, and for each there is a release and development trunk.
- Release
- i2ce bzr branch lp:i2ce/3.1
- ihris-common bzr branch lp:ihris-common/3.1
- ihris-manage bzr branch lp:ihris-manage/3.1
- ihris-plan bzr branch lp:ihris-plan/1.0
- ihris-qualify bzr branch lp:ihris-qualify/3.1
- textlayout bzr branch lp:textlayout/3.1
- Development
- i2ce bzr branch lp:i2ce
- ihris-common bzr branch lp:ihris-common
- ihris-manage bzr branch lp:ihris-manage
- ihris-plan bzr branch lp:ihris-plan
- ihris-qualify bzr branch lp:ihris-qualify
Working On The Code
Suppose you want to setup a development server on your machine to play around with the code. Here are some steps that you can take to install iHRIS Manage under your home directory and setup up the apache and mysql web server.
sudo apt-get tasksel install lamp-server sudo apt-get install php-apc php5-gd php5-tidy
You can create the database, which we will call ihris_manage by:
mysql -u root -p mysql> CREATE DATABASE ihris_manage; mysql> GRANT ALL PRIVILEGES ON ihris_manage.* TO ihris_manage@localhost identified by 'PASS';
here you should change 'PASS' to whatever you want. You can also use phpmyadmin to create the database.
Now we want to get the code from launchpad.
mkdir ~/ihris-dev cd ~ihris-dev bzr branch lp:i2ce bzr branch lp:ihris-common common bzr branch lp:ihris-manage manage bzr branch lp:textlayout/3.1 textlayout
In iHRIS Manage, there is a demo site setup with sample data. We can make this available in apache by doing the following:
cd /var/www sudo mkdir ihris-dev cd /var/www/ihris-dev sudo ln -s ~/ihris-dev/manage/sites/Demo/pages manage
Once we complete some configuration options, you can access the site at:
http://127.0.0.1/ihris-dev/manage
To complete the configuration we need to tell the application which database we want to use: We will now edit the configuration to let the site know about the database user and options:
gedit ~/ihris-dev/manage/sites/Demo/pages/config.values.php
We now need to uncomment and set the value of a few variables. They are:
Variable Name | Value |
---|---|
$i2ce_site_i2ce_path | /var/lib/iHRIS/current/I2CE |
$i2ce_site_database | ihris_manage |
$i2ce_site_database_user | ihris_manage |
$i2ce_site_database_password | YYYYY (the password you set above) |
$i2ce_site_module_config | /var/lib/iHRIS/sites/manage/iHRIS-Manage-Site.xml |
Save and quit.
Coding Policy
Indentation and Formatting
No tabs please. All tabs should be converted to 4 spaces. The indentation style for (PHP) code should be bsd.
Documentation
We document our php code with phpdoc.