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.

Tuesday, March 29, 2011

POSSCON and more...

POSSCON Results
So POSSCON was a huge success in my eyes. It was great to meet people that were very enthusiastic about open source software. I think the open source community is moving in the right direction and I think more and more software solutions are going to become open source. It was interesting to see the input from some various computer scientist veterans about how open source can be useful. I found John "mad dog" Halls speech very interesting. Hall talked about his take on open source and how much money it can really save businesses. I also like that he emphasized the fact that software is only as valuable as someone makes it. If you NEED software badly and it can help you very much, then chances are that software is extremely valuable. This idea is very interesting because when you think open source you think of "free", at least I do. This is not necessarily true. Open source software can be very valuable and can be a point of profit for someone. Overall I believe POSSCON opened my eyes just a little more to the possibilities of open source and most of all reinforced its goodness.

OpenMRS Plans, Future, Work, Etc.
We haven't had much progress as a group on OpenMRS these past few weeks. Bobby Strickland did a feasibility study on our first scheduled bug and discovered the bug is fixed in later versions of OpenMRS. I presented the idea that we could extract the solution and patch it with the requested version since there is a possibility that someone is running an older version and doesn't want or can't update to the latest stable version of OpenMRS. I believe I will try and revert my code to the requested version and offer a patch to the bug submission. Our other goals this week is to find another bug to work on in order to fulfill our requirement. Overall I have become very comfortable with the OpenMRS project and I feel like we are able to get around with the code very well. Better get to contributin' !

Thursday, March 17, 2011

POSSCON 2011

A part of the curriculum of CSCI 462 involves attending POSSCON 2011. POSSCON will have many speakers and many different workshops and I hope to attend to attend as many as possible.

Here are a few people I would like to talk to:


  1. Jim Jagielski - I think it would be interesting to talk to Jim Jagielski. Jagielski is the current president of the Apache Software Foundation. I think it would be intriguing to talk to Jagielski about future apache projects and which projects he thinks are the most important. Apache has a large amount of software and i think that all of them are very important to the Computer Science world and specifically software engineering.
  2. Dr. Sam Bowen - I would like to talk to Bowen because of my interest in Open EMR's. This whole semester i have been working on OpenMRS which is another open source EMR. I would like to see his take on the subject and maybe ask him some questions regarding the differences between OpenMRS and OpenMRS.
  3. David Duggins - I would like to meet Duggins and ask him about startups and his take on using open source to create new businesses. I would like to ask him bout the primary advantages and how much of an actual advantage open source would be. I would also like to see some real world examples of businesses that have started using open source software.
Overall I am very excited to get to POSSCON and get to meet  some of the important figures in the open source world.

    Tuesday, March 15, 2011

    The Plan, Stan...


    Our latest team goals included coming up with a road map/ schedule for the rest of the semester. This involved finding bugs, features, or other contributions to work on for the rest of the semester. Our team found a few different bugs and features that we are hoping to be able to contribute to.

    1. “Password Change” - This is a non-essential bug that needs to be fixed in OpenMRS. This bug allows the administrator to select requirements for a password (numbers, letters, etc.) but the password message always reads “Must be at least 8 characters long, contain an uppercase character, and contain at least one number”. This could be a major error for implementations that create different password properties.

    2. “OpenMRS 2.0 Wishlist” - This is a non-essential fix for a specific implementation of OpenMRS. This implementation is located in Lesotho, which is located in South Africa. The implementation needs a few changes that are important for the locale of the implementation. Our goal for this fix is to fix a few of the changes that are requested, not all of them. This fix is particularly interesting because we would be working on an actual implementation.

    Overall I believe all of our goals are achievable and I think it will be a good experience to dive deeper into the OpenMRS project. Our patch for our previous bug was a good intro into OpenMRS API. I believe we have a much better knowledge of OpenMRS.

    In addition to finding issues and creating a road map, we also are looking to submit our patch for code-review. We have had the bug assigned to us and hope to upload the patch in the next 24 hours. Lets cross our fingers and hope it was a good fix.

    Wish us luck.

    Wednesday, March 2, 2011

    OpenMRS Preferred Patient Fix

    Progress on the home front...
    Our group has finally solved our bug. As described in my previous blogs, OpenMRS does not require that you have a preferred patient ID. Our patch now fixes that and requires that a user enters a preferred patient ID. Our fix required quite a bit of research on our parts to find how OpenMRS uses the SpringMVC framework for patient form validation. After finding out where OpenMRS had their validators placed we were able to go ahead and create a new validator and its entities in order to require that the user input a preferred patient identifier.


    Plans for the future
    now that we have fixed our bug we are thinking of creating a code repository, which we really didn't need before, in order to handle the changes within our group. Our next process for our bug fix is to post our patch for code review within the OpenMRS ticket system(JIRA). Right now our group has not decided on a contribution for the rest of the semester but we hope to have one chosen and a road map in place by the end of the week.

    Thursday, February 24, 2011

    Playing Catch Up

    Whoa! Almost let this blog die...
    I have a few things I'd like to catch up on and discuss.


    CS Alumni Symposium
    First I'll talk about the computer science department's alumni symposium. Our department put on this symposium for current students and in my eyes it was a huge success. Previous graduates came to offer their advice about graduating and getting jobs. I thought all of this advice was very useful. Seeing these graduates and how successful most of them are is a very big eye opener. It reminded me that I am involved in a career field that is constantly in need of new people. It's good to know that finding a job after school will be easier than most. I also got to talk to Jason Youmans of Bibliolabs who gave some good ideas about internships. I think that the main message that i took away from the symposium was that I need to get extracurricular with my computer science and get involved in something I'm passionate about. Overall I thought it was a successful meeting.

    Team Project and Bug Fix
    Fixing our bug has pretty much been a flop so far. Most of us have had other school work to deal with the past week or so. It has been slow moving. I did make a minor amount of progress the past few days.

    I am starting to try and learn Spring MVC which deals with the form submission in OpenMRS. If I can figure out how the form submission redirects when there is an input error I can just use that same technique when the "preferred patient" is not selected. This should be easy to do within the next week. Hope to have a solution very, very soon.

    After we get done working out this bug I hope to work on a bigger issue with OpenMRS and make some major contributions with our group for the semester.

    TOSS Chapter 7 Exercises
    ...........................................