Thursday, April 21, 2011

The End

The semester is coming to an end and I have to formally end this blog at some point.
OpenMRS
Contributing to OpenMRS has been a great time. I have enjoyed the things I have learned by contributing. Many of the things I have experienced on this large project I have actually seen in the work place at my internship. I believe working with this project was invaluable. I would have hoped to contributed a little more but I am glad that I got to contribute something. Every little bit counts right?

Turns out I didnt get a chance to finish my last bug fix. I started to fix the problem as I saw fit but as I dug deeper into the problem it actually turned out to be too large of a bug to handle. I would have not had time to refactor some of the unit tests that needed to be worked on, given the permitted time. I hope that the OpenMRS team has apperciated our team's contributions and I actually hope to contribute again if I have extra time to work on the project. I think I have a lot more to learn and I think OpenMRS would be a great medium to use.

CSCI Software Engineering Practicum
My experiences with this class directly coincide with experiences with OpenMRS. All positive here. I have enjoyed this class and I believe it has really helped me in preparing for working in industry. I recently obtained an internship here locally and many of the tools and techniques discussed and used in this class have been used. This blog itself actually helped me secure my internship and was a great presentation point during my interviews. I think the most important thing learned in this class was how to work with large code bases and large projects. It is a great experience to dive into a large project and have to learn about in a short amount of time. Being able to adapt to a project and educate yourself on it is a very important quality to have in the workplace since more times out of none you this is exactly what will be happening to you (makes you appreciate documentation).




Final Notes:
Please check back on my blogger as I hope to blog about some other experiences as I grow as a computer scientist. This has been a useful tool for me and I want to use it again if I can. Please if you have any questions feel free to email me through my contact Info.

Thanks,

Joshua Walton
Undergraduate
College of Charleston
Department of Computer Science

Tuesday, April 12, 2011

OpenMRS individual bug fix

So the semester is starting to come to an end and everyone in team handicapped is working on individual bugs to fix in order to contribute to the project as a whole. The OpenMRS project has been changing a lot in the last few weeks. OpenMRS has now moved to a SCRUM like methodology for their main development team. OpenMRS now concentrates on a specific development issue for two weeks at a time. These sprints help the development team conquer individual issues very efficiently. Last sprint's theme was the OpenMRS 2.x UI framework design and development. Here are some stats that were sent out on the dev list:
  • 7 people used the 2.x UI framework to create patient dashboard fragments
    • Abbas Hachem: patientPrograms
    • Darius Jazayeri: personDetails, patientIdentifiers, standardPatientHeader
    • Jeremy Keiper: personNames
    • Mike Seaton: personAttributes
    • Rafal Korytkowski: personAddresses
    • Wyclif Luyima: patientProblems
  • We did a pretty good job of navigating distributed locations and time zones
  • We completed 18 tickets
    • the dashboard fragments, and assorted framework improvements I made in response to people's requests
  • We didn't get to 3 non-essential tickets
  • Each participant made useful suggestions about features the framework needs, improvements to widgets, or to our patient fragment conventions.
It seems to me like these sprints have been very useful for OpenMRS.

There is one problem with the new methodology that I was concerned with. How was team handicapped going to contribute? I promptly asked Ben Wolfe, who is now my go-to-guy for OpenMRS questions, if we had to only work on sprints. Turns out we can work on whatever tickets we want. Sprints are simply the recommended process of contribution.

After my conversation with Ben our group sat down and planned out an individual bug to work on for each of us. Right now I am working on TRUNK-2148. This bug is related to the JUnit tests within OpenMRS. Right now some tests are reporting ERROR to the build log. OpenMRS dev team has requested that they be logged as INFO instead. My job is to find every place the log.error is used within OpenMRS code and change it. No Problem! Just so happens there are 723 matches within eclipse's search. I've got some time to work on the project later this week so i hope to finish parsing the project this week. This fix might take some time because direct communication with some of the lead devs is needed to find out the functionality of each error that is logged.

My plans for contribution later is to somehow contribute to the creation of OpenMRS 2.x. I think there is lots of opportunity there and I would like to dive into it.

Til' next time...Adios.