At OpenMRS 2012, a birds-of-a-feather group took place with the goal of identifying the pitfalls involved in getting starting with OpenMRS and how different people overcame those problems. Two interviews were conducted, and a summary of these interviews appears in the next few paragraphs. We welcome additional descriptions of peoples' experiences getting started as developers, either here in-line or below as comments. To facilitate the recording of issues, the next section of this document contains sections for each of our technologies for you to describe problems you have had with them. The third section of this document contains proposed solutions. Again, your edits or comments are welcome.
Subject 1: The HelloWorld module was a good place to start. I had experience with OpenJDBC so annotations were familiar to me. Discovered extension points as the result of a question. Eclipse was a major difficulty, was a Netbeans user. Concepts are hard to understand. HelloWorld gives exposure to config.xml but application.context is difficult. Sample applications are the best way to learn, you can copy them. Liquibase is well-documented, not hard. Library conflicts are annoying, particularly with many modules loaded. General problem-solving strategy of overcoming problems was to Google first, then talk to mentor.
Subject 2: Had to figure out how to look for answers, worried about asking dumb questions on IRC/list. Had some problems with Tomcat.
Configuring plug-ins can be difficult.
Getting the right version for Linux.
Out of virtual memory
Configuring proxy for maven
Please feel free to add additional solutions and to comment on or edit the current proposals.
At OpenMRS12, there were several requests for a better developer guide. In light of the upcoming Google Documentation Camp (Dec. 3-7, 2012, proposal deadline Oct. 29, 2012), we would appreciate your suggestions here. The initial suggestions come from the interviews conducted at OpenMRS12.
All of the interview subjects were GSOC interns, and all of them credited their mentors with getting them over the humps and with overcoming feelings of intimidation in using IRC, the dev list, Answers, forums, etc. While there is no way we can provide the GSOC mentoring experience (6-12 hours per week) to every new developer, it might be possible to get a list of people who would commit to 4 hours per week of mentoring. Developers taking their first ticket would be eligible to be hooked up with a mentor. At the end of 4 hours, the new developer would be eligible for a second 4 hours at the discretion of the mentor (usually the same mentor would carry on).
UPDATE: We have now launched the OpenMRS Guides program to help with this. Feedback on this program is welcome!