Google Summer of Code – 2009 Balance

Now that GSOC has ended, I thought I would share with you my thoughts on this experience.

This started by being a terrifying experience (not in the bad meaning of the word). It was the first time I developed something real for a real team. It was my first time working in a open-source project and the first time working with such diverse technologies like JSP, Spring, jQuery, DWR and even Javascript.

I was stunned by the community. The people at OpenMRS is very patient and supportive, at first I was relunctant to ask some questions I thought were stupid, but everyone helped me without complaining. If the project went as far as it did is because of everyone at OpenMRS who went to the IRC channel and read/answered the mailing lists. I give my thanks to everyone, especially to my mentors, Darius Jazayeri and Daniel Futerman, for their infinite patience.  If you are reading this balance, chances are that I also have to give you my thanks, for your feedback and support.

About the project. Although the milestones for the project were accomplished and, overall, the goals were met, I feel that the module is still very incomplete. I’ve created a page for development tracking of the module. I’ve already added a lot of points to improve, and you are encoraged to add your own: HTML Form Entry Designer – Development Tracking

I’ve also added installation instructions and a small tutorial for its use on the project wiki page.

One of the goals of GSOC was to promote open-source development among students, and for me it succeeded. I’ll try to keep developing the HTML Form Entry Designer module as often as I can and possibly fix some bugs in OpenMRS or take other projects. I would also like to have a try with different open source communities.

So was it worth it? Definitely, yes. If I my exam period hadn’t overlapped with GSOC it would be like heaven. Because it did overlap, GSOC was more like an earthly thing, with good and bad times. Thankfully the good times totally eclipsed the bad ones, so I’m recommending this program to everyone (and if you are applying next year, consider OpenMRS!).

I’ll try to use this blog to keep in track with my ventures in the world of open-source, so stay tuned (for those of you subscribed to openmrs feeds, don’t worry, you’ll only receive entries tagged with “openmrs”). For now I’m going to take a little vacancy, until September (away from the computer, so I’ll probably won’t be able to answer emails, although I’ll try to check it a day or two).

Thank you all!

GSOC Weekly Blog Entry (2009-08-17)

Today was the “firm pencils down” date for GSOC and I “released” a “beta” version of the HTML Form Entry Designer. You can try it here: http://lab10.openmrs.org:8080/openmrs/module/htmlformentrydesigner/designerHome.form

User: admin
Pass: test

If you “follow” the video in the previous entry you should have no problem understanding how to use it.

This is a beta version, so a few bugs are to be expected. Also, tinymce can be quite weird sometimes :(

This is what I did this week:

  • Added Coded and Datetime concepts (all observations treated by htmlformentry are now functional!)
  • The Encounter Provider now shows a list of the roles in the database
  • Tinymce uses the release version instead of the development version (as well as the visualxml plugin), meaning the speed should be quite improved.

It sounds too little (especially compared with last week), but I had to learn how to use controllers to connect to the database, as well as dwelve into some of the openmrs code, so I’ve spent some time doing it. I’m glad I did it because my understanding was quite lacking in that department.

Now that GSOC is over (the code period at least), I mean to continue with the development of htmlformentrydesigner. For the few days I’ll try to write documentation for the module (how to use it, identify bugs, features to implement, limitations, etc), so that other users can use it and other developers can help with it. After next week I’m taking a vacancy from the computer (until the end of August), and I should restart development with it (well, September and October are very demanding months for me, but I’ll try to help whenever I have free time.

Also, next week I’ll write a balance of GSOC (it’s definitely positive!)

GSOC Weekly Blog Entry (2009-08-10)

With only a week left for the suggested end of the coding period of GSOC, I’ve tried to give my best efforts to improve the editor. This past week was so productive (maybe I really needed a break), that the htmlformentrydesigner moved from 0.5-dev to 0.7-dev (and I’m very picky on incrementing version numbers).

Here’s the full changelog:

  • Widgets are now rendered properly thanks to the atomic plugin and trailing plugin.
  • Fixed the bug that wouldn’t allow to render observation widgets in the designer view
  • Added more buttons to the editor
  • Used the same CSS as the one used by OpenMRS (although it’s not exactly the same as the one used by htmlformentry, I still need to see to it)
  • Added encounter widgets, to offer Encounter Date, Location and Provider controls
  • Added correct handling of the submit tag
  • The editor automatically adds <htmlform></htmlform> envolving the content
  • Added buttons in the tinymce toolbar for adding observations, encounter widgets and the submit button
  • The dialogs for adding observations and encounters are inline (ajax)
  • Removed &nbsp; entities because htmlformentry doesn’t support it

Here’s a video of the capabilities of 0.7-dev:

You may have noticed by the video that this is almost a full version of the htmlformentrydesigner. That’s what I’m expecting to have next week, here’s my plan for it:

  • Add Coded and Datetime widgets for observations
  • Improve integration with htmlformentry module
  • Add templates for easing form creation
  • Improve code (for speed and readability)
  • Fix possible bugs and try to improve usability

GSOC Weekly Blog Entry (2009-08-02)

This entry is sooner than usual because I’m taking the next 3 days off to go camping with my friends. This week I had to move to my summer house, so I hadn’t as much time as last week to work. I’ve also found some bugs while installing the trunk version of OpenMRS on my laptop, which took me a few hours to resolve.

Here’s what I’ve done this week:

- Fixed a bug with OpenMRS, that would throw an exception if the DWRConceptService.getConcept method was called with a non-existant concept ID

- Given up on using the noneditable plugins to keep rendered widgets from being editable (I still need to figure out a way to render them properly)

- Added the rendering of Text and Boolean widgets

For next week my goals are:

- Render widgets properly with other HTML (this should take most of my time)

- Choose the buttons to use in TinyMCE

- Fix the bug that doesn’t allow tinymce to render a concept directly in the Designer View if it is added from that view

- Use the same CSS in the editor as the one originally used in OpenMRS

I hope I get back with renewed energy to embrace this last few weeks of GSOC!

Follow

Get every new post delivered to your Inbox.