Contribution Guidelines

 

Coding

Wherever you want to Implement a new feature or Fix a bug (see below) the best way to work with us is to fork the project in your userspace (in GitHub is called https://github.com/<username>) and to Pull-Request on an ad-hoc branch different from the 'develop' (if not available please ask on Jira OpenHospital page to open one for you).

Please refer to Java Spring pattern (see Spring Migration) and use Smart Commits as much you can.

And don't forget the 'gold rules'!

  • Fork, develop & merge-request (pull-request)

  • Double analyze the existing code, don't write what is already written, be DRY (Don't Repeat Yourself)

  • Dumb code is better than clever one when is time to share

  • Write comments when only "YOU" know what you are doing

  • Optimize only after achieved

  • Less is more!

If you need more instructions please read here.

Write documentation

OpenHospital has a community based documentation created through a wiki (right where this page is).

To contribute to the wiki, please register for an account and then create articles.

Report bugs

OpenHospital uses Atlassian JIRA issue tracking system - https://openhospital.atlassian.net/. Anyone can register for an account and easily report bugs to help improve the overall stability of the product. Please follow these JIRA guidelines when reporting a bug: JIRA Wiki. Following these standards will help JIRA stay clutter-free and up-to-date so legitimate bugs can be quickly addressed. The JIRA wiki also explains how to register for a JIRA account and describes each data field in detail.

Some important take-aways from the JIRA wiki:

  1. Make sure it really is a bug - Questions are best handled in the community forums. If you are unsure if it's a bug, post in the forums and see if anyone else is having the same problem

  2. Provide as much detail as possible, including detailed steps on how to reproduce the bug. Also include a note outlining the intended results from performing the steps - How would it work if the bug did not exist?

  3. Search existing issues before posting a new one. The bug you encountered may have already been reported.

Implement a new feature

  1. Make sure the feature does not exist

  2. Consider discussing the proposed new feature in the forums to allow others to give their opinion and give suggestions

  3. Create a "New Feature" or "Improvement" issue in JIRA issue tracking system. This will be the primary location to interact with OpenHospital developers and finally submit your new feature for review.

  4. Fork OpenHospital's latest sources from the GitHub repository

  5. Submit a Git pull request

Now, wait to hear from OpenHospital regarding your contribution. It is not uncommon for a OpenHospital developer to ask questions, suggest additional improvements or attempt to fix a possible problem with portion of the contribution. This is completely normal. Interact with the developer and work to find a suitable solution. Undoubtedly, OpenHospital is thrilled with community contributions and wants to see them integrated into the product.

Some tips:

  • It's much easier for OpenHospital's developers to receive several small patches than a huge one, because the latter takes more time to review.

  • Follow the conventions of the existing code as strictly as you can: pay attention to class names, variable names and all the coding style.

Fix a bug

Similar to implementing a new feature, community members are encouraged to contribute fixes for bugs. Follow these steps to fix a bug you have discovered:

  • Login to openhospital.atlassian.net and click Issues->Create Issue in the top menu.

  • Fill in relevant fields as described in the above "File a bug" section, and click Create Issue.

  • Fork the official GitHub repository

  • Make your code changes, and test thoroughly. All code fixes must first be implemented and tested on the develop branch of the Git repository. OpenHospital staff will backport the bug if relevant to earlier releases.

  • Once you code changes are complete and pushed to your Git clone (your fork), you are ready to issue a Git Pull Request.

  • Issue your pull request against the appropriate lead's git repository clone, reporting the JIRA ticket number.

At this point, the OpenHospital developers will see your pull request and work with you (either in JIRA comments, or in Github comments) to ensure your fix is clean and ready for integration. After responding to any issues, your code will be committed. You should no longer need to update the JIRA ticket and can rest assured your contribution is highly valued and will be acted upon in a timely manner!

Translate the software

We are really thankful for your contributions up to now and everyday we work to evolve OpenHospital software and to ease contributors work. For this reason we decided to start using Transifex as translation tool for our leading product.

Briefly:

The platform is very user-friendly, just try it! If you run into problems please read these instructions.