Welcome to OpenMRS! This guide will walk you through the steps to join the OpenMRS community and set up your system for development. You will also find some links to other resources that will help you learn and contribute to the OpenMRS project.
Join the OpenMRS community
OpenMRS is a volunteer based community. We welcome anyone who is willing to learn and contribute. To join the community, follow these steps:
- Create an OpenMRS ID
Your OpenMRS ID defines your username in the OpenMRS community and provides access to community resources, like this wiki, our issues tracker, and the OpenMRS Talk forums.
Follow this link to create your OpenMRS ID.
- Introduce yourself to the community in the OpenMRS Talk Welcome thread.
You can learn more about how to use Talk by reading this introduction and FAQ.
- Join discussions at OpenMRS Talk.
Other communication channels are also available:
- Ask OpenMRS is where you can ask questions or search for answers.
- IRC #openmrs channel is where the real-time discussions about projects happen. You can find discussions about daily scrums and troubleshooting community priority issues.
- Slack OpenMRS workspace is another platform for real-time discussions. This is also where you can pose questions or chat with other developers and community members.
Check the OpenMRS Calendar for events and team sessions that might interest you.
In addition to our Slack and OpenMRS Talk forum, we have many regular calls and virtual events to help contributors connect and learn together. These are optional and open for contributors to join. Some calls are weekly check-ins for specific project teams; others are more general. The community calendars are always up-to-date with upcoming calls and events. You can check the calendars in three ways:
5. Look for Active Project teams or topics that might interest you
Consider joining a team of OpenMRS contributors working together on interesting topics or projects. You can find active Team-Based Projects in the OpenMRS Community at: https://wiki.openmrs.org/display/projects/Active+Projects
6. Get edit privilege for wiki and issue tracker
Because of spammers, we must require this extra step before you can edit wiki pages or make any changes to JIRA tickets.
a. Create an account at OpenMRS helpdesk.
b. In the Summary text box, state that you would like to have edit access to wiki and JIRA.
c. Submit the helpdesk request.
Learn about developer stages
Based on your experience as an OpenMRS developer, you will be assigned a developer stage, from dev/1 up to dev/5, with increasing responsibilities and privileges.
To learn more, visit OpenMRS Developer Stages.
Set up Git on your system
Git and GitHub work together so that the changes you make to the codes are tracked and incorporated correctly into OpenMRS code repositories. Follow the instructions below to sign up to GitHub and install GIt on your system.
- Create a GitHub account
You need to have a GitHub account to contribute to OpenMRS code.
- Go to GitHub Sign Up page, and create a GitHub account.
- Add your GitHub username to your account profile in OpenMRS Talk.
- Download and install Git on your computer.
- Learn Git.
If you don’t already know how to use git, follow the instructions in Using Git, or Learn Git with Bitbucket. This is especially useful if you join a sprint or choose to share your module (we hope you do).
Set up development environment
To do development work for OpenMRS, you need to configure your system according the instructions below:
- Install Java SE 8.
- Install Maven.
- Install Docker.
- Install and configure IDE.
- Install OpenMRS SDK, and start an OpenMRS server.
Create your first OpenMRS module
OpenMRS SDK makes the process of creating and deploying an OpenMRS module very simple. Follow this instruction to create your first OpenMRS module.
Start contributing! Find where you can help
Now that you’ve successfully set up your development environment, you can start to contribute to OpenMRS. Follow the Contribute as a Developer guide here:
Useful OpenMRS resources
OpenMRS wiki is the main resource where the community shares knowledge and documents the development process. Below is a list of wiki pages that can be useful for you to learn more about OpenMRS.
As a community member, you can help to improve the wiki pages by writing new documentation, updating the existing ones or simply pointing out the errors and issues in the documents.
- More about OpenMRS
- OpenMRS SDK Step by Step Tutorial
- Unit Tests
- Code Review
- Code Review Checklist
- Simple Secure Coding Checklist
- Pull Request Tips
- How to Use OpenMRS API
- OpenMRS API
- OpenMRS REST API