Development Process

From OrangeHRM

Jump to: navigation, search

When you start development in OrangeHRM, a senior OrangeHRM developer would guide you. He would be assigning you development tasks and review your code. Once you get a development task you would be going through following steps. First check Developer Guide if you haven't checked it yet.

Contents

Check Out Code

Unless informed otherwise, you should always work in OrangeHRM trunk. You can get a checkout to your computer by running following SVN command. Check Basic Usage of SVN if you are unfamiliar with SVN.

svn co https://orangehrm.svn.sourceforge.net/svnroot/orangehrm/trunk/php/orangehrm

Do the Changes

Do necessary development work to complete the task given. Make sure you adhere to PHP, JavaScript and HTML coding standards. Also make sure that you deal with Unit Tests properly where necessary.

Update Your Working Copy Frequently

Other developers may work parallel to you in the repository you are working on and might have committed code after your checkout. Therefore you should frequently run svn update and get code commits of other developers. This is important because there would be additions and conflicts on the areas you work from other developers and waiting longer to resolve them can only make it more difficult.

When resolving conflicts remember that final outcome should comply with development of other developers. For more information read Resolving a Code Conflict.

Run Unit Tests Frequently

One aspect of unit tests is to keep code integrity. That is whether new changes affect the expected behaviour of rest of the system. Even thought sometimes it may not apparent, your new changes may lead to fail unit tests in other areas meaning that your changes alter the way those areas work. In such cases you should improve your changes and/or failing tests and make sure code integrity. For more information, read Test Driven Development.

Get a Diff

Once you are finished the assigned development work, you can run svn diff and get patch file to be sent for review. Before this, make sure you have updated your working copy and all unit tests are passed. Read Creating a Code Review Request for more information.

Create a Code Review Request

OrangeHRM has a code review process before accepting code contributions. This is to keep a high level of quality in code. Once you submitted a patch for review, a senior developer would review it and commit it to SVN repository if your code is in an acceptable level. If it needs improvements, he would mention them in ReviewBoard under your review request. Then you can improve your code based on the comments and update the patch attached with the review request. For more information on ReviewBoard, read Basics of Review Board. If you continuously contribute quality code, you would be able to earn SVN commit rights and directly commit to SVN repository at SourceForge.

Once you complete a task, the senior developer who guides you may assign you another work.

Communicate via SourceForge Developer Mailing List

Whenever you send an email regrading a development work in OrangeHRM, remember to send a copy to orangehrm-development@lists.sourceforge.net. In that way, others can get to know your issue and would be able to respond quickly in a case where your recipient is late to reply. Another benefit is what you are facing or suggesting can be a common thing so that others can get aware of it. Subscribe to OrangeHRM Developer Mailing List if you haven't subscribed yet, so that you would be able to engage in the discussion.

Personal tools