Post specifications of your module/add-on/feature and get community feedback
It's recommended that you publish your specifications as public Google Docs. So, when you make updates to specifications, you don't have to re-post them.
Announce module/add-on/feature you developed to the community
When you announce your module/add-on/feature make sure you also provide all the required information to get it working with OrangeHRM core. OrangeHRM Inc is not providing any support or guidelines for community contributed work. Authors have to take care that sufficient information is provided.
Ask questions about any community developed module/add-on/feature
You can discuss any issue or suggestion that you have with a certain community contributed work. Authors of relevant work is supposed to answer them. Anyone who is successfully using the particular work may also contribute to resolve issues. OrangeHRM Inc is not liable for resolving any issues occurred in any community contributed work.
Adding Features to OrangeHRM Core
Features are added to OrangeHRM core based on strong community request. Non of the works posted in this forum is assured to be included in a future version of OrangeHRM core. However if a certain work is getting popular among the community and it is stable enough, OrangeHRM Inc would consider adding it to core product.
Development Guidelines
Currently there is no well defined mechanism for developing module/add-on/feature as a third party add-on. What you can do is observe current OrangeHRM code and develop your work in a plug-able way. You can see latest code of OrangeHRM core by getting a checkout from following SVN URL.
https://orangehrm.svn.sourceforge.net/svnroot/orangehrm/trunk/php/orangehrm
OrangeHRM is being converted into Symfony framework. So, it's advised that your work is based on Symfony framework. Admin and PIM modules are currently being converted. You can see the work by getting a checkout from following SVN URL.
https://orangehrm.svn.sourceforge.net/svnroot/orangehrm/branches/2.5-refactor
There is a basic guide on the usage of Symfony in OrangeHRM at following Wiki URL,
http://www.orangehrm.com/wiki/index.php/Developing_With_Symfony
OrangeHRM follows Test Driven Development. So, it's expected your work is well tested with accompanying unit tests.
In addition to these, it's strongly advised you follow OrangeHRM coding conventions. You can find them below.
http://orangehrm.com/wiki/index.php/Developing_With_Symfony
http://www.orangehrm.com/wiki/index.php/Javascript_Coding_Conventions
http://www.orangehrm.com/wiki/index.php/HTML_Coding_Conventions
Disclaimer
- OrangeHRM Inc is not liable for stability, portability and security of any community contributed work unless a particular feature is added to OrangeHRM core.
- OrangeHRM Inc doesn't consider community work when creating automated upgraders. It's up to the authors of respective works to take care that they are compatible with new versions.
- As mentioned above, currently there is no well defined structure for third party work. This forum was created to support those enthusiastic community users who want to contribute to OrangeHRM without waiting for a stable mechanism. Experience gained in this forum would be used to create such a mechanism.
