Cheers~~
Just finished the last week of GSOC officially. I have included the extra 3 days between Friday and the final gsoc date (16th) in this update and hence it has been a long week! I can’t belive the time has gone past so quickly. I have learned a lot over the last 12 weeks and had fun doing so. I would like to thank my mentor Ben Wolfe for his support and to the OpenMRS community for adopting myself and fellow students. I would also like to thank Google for providing this opportunity. It has been a great summer!
Things don’t end here though. I will still be posting here with updates on the progress of my OpenMRS related work as well as any other development projects I might feel the need to add.
Here is the lowdown of the week past:
Monday – Further refactorings that led me to hitting what felt like a brick wall. Had to refactor back. (See Tuesday).
Tuesday – After renaming methods in RDT module last week to comply with openmrs standards for dao method names (from putXXX to saveXXX) I discovered a bug in openmrs core. After getting feedback from the dev list I created a ticket about this problem here: http://tickets.openmrs.org/browse/TRUNK-1661
Wednesday – Laid down the ground work to being able to integrate Remote Form Entry module with Remote Data Transfer. After a lengthy discussion with Ben Wolfe about the intricacies involving mapping RFE locations to RDT serverIds I am not in a better position to proceed. The solution involves adding an extra column to RDT’s Server table. I created a new branch of RFE and have began integrating (configuration, listener’s, etc), and also amended RDT appropriately. It seemed to me to be a little late in the day to begin such a hefty job but I could think of anything else to do that would take me right up to the GSOC pencils down date (16th). The RFE integration was marked as “extra credit” on my GSOC expectations but nevertheless would be great to finish by the 16th, but if it doesn’t happen by then I will work on it until it is finished outside of GSOC. I have already finished the other “extra credit” item which involved allowing binary files to be transferred (this was originally described as dropping a file into a folder in the operating system for transfer, but we agreed to change this to be implemented through the web UI).
Thursday – Attended the OpenMRS dev call. Installed Apache Maven: OpenMRS is moving to a Maven organised build. Discussed more details with Ben about RFE integration. It is necessary for RFE to be able to add/modify existing RDT queue items so when the nightly return data from RFE is generated it can override any previously queued data if it hasn’t been sent yet.
Friday – Continued to work on integration. Implemented new API functions in RDT followed by providing a means for RFE to add items straight to the queue with correct destination taken from Openmrs Location to RDT ServerId mapping. Made RFE generate return data automatically send this data through RDT (i.e. put it in the queue for sending later).
Saturday – Implemented lazy loading of binary data property of receieved and queue items. This was necessary to improve performance when dealing with large files. Hibernate supports this feature through byecode instrumentation using the javassist api. Implemented support for transfers from central to remote in RFE via RDT.
Sunday – Implemented support for transfers from remote to central in RFE via RDT.
Monday – Added finishing touches to the RFE Integration with RDT branch. Wrote documentation on the conversion which is available here: http://openmrs.org/wiki/Talk:Remote_FormEntry_User_Guide
Outcome - Took on a lot this week in trying to convert RFE to use RDT. I ended up with a working version which I am happy but nevertheless will probably need modifcation in the future after feedback from implementators/testers has been given. Remote Data Transfer is in a fit state now and I feel it is ready for an initially alpha release. All in all I have completed all of the tasks listed on my GSOC work plan including those marked as “Extra credit”.
I have been puzzled for sometime on how to recursively delete all .svn directories from a local copy of a particular SVN checkout. I was searching through the net and found a solution but sadly it didn't work so I had to make some minor modifications to make it work. Now all you have to have to do is copy and paste the following code in a notepad and save it as "delete_svn.reg" and double click it and allow it to create a registry. Then you can right click on the root directory of any SVN local copy checkout and select "Delete SVN Folders" from the context menu to delete .svn metadata directories.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn _svn) DO RD /s /q \"%%f\" \""
This week
This is my last status post in the course of GSoC. But the spirit goes on.. let’s see what I’ve done during this week:
- I implemented a very basic concept viewer
- I wrote some more queries to support more search criteria
- I added more Javadoc to the source code
- I wrote a manual for the search as mentioned in the previous post
- I added autocomplete functionality to advanced and basic search
I had no problems this week, because it is semester break and I had plenty of time to research solutions to problems.
Next week
As said above GSoC 2010 has come to an end. It was a very great opportunity which I’ll never forget.
But this is not the end for my project, I will continue working on it and improve it until it is a really great module.
But now it’s time for me to relax, see you soon! I will surely write another post about my experiences at GSoC and OpenMRS!
Officially Google Summer of Code comes to an end this week, but the lessons learnt from it will continue forever.
It was a very informative learning experience so far. I learnt how to work in a team and get the work done. I am very happy and honored have got selected to Google Summer of Code. All praises should go to God and God Alone. I have given my best during Google Summer of Code. I had to do Google Summer of Code as well as My Academic Project simultaneously. I managed to get them both done while switching on and off between the two.
Even though the summer is over I am hoping to continue the contributions whenever I can to the opensource community. I will be doing my final year from September 2010 and hoping to graduate in 2011 if God Wish th.
I would like to thank my Mentor Burke Mamlin and my backup Mentor Ben Wolfe for all the help throughout this summer. Really was lucky to have you guys as mentors.


Hey,
I wrote a short manual for the advanced concept search in the enhanced concept search module. It can be found here: Manual
For the past 12 weeks I have been working on the Concept Proposla Module with Glen and Andy.
Throughout this period I have worked on implemeting 3 main functional tasks up to now. Those are
1) Creating a concept proposal webpage
2) View list of concept proposals
3) Transfer existing proposals from core to the new concept proposal module
Here I have attached the dowload url of the .omod file and I have to work bit on the UI senario.
Through out this summer I had really great experince inturms of learning. I learned lot and I was really excited to work with Glen where he allocated his valuable time during workdays to share with me. Andy was quite fast on responsing to my emails too.
Overall this Gsoc was a great experince to me and I was quite happy. Because this Gsoc introduced me to the OpenMRS where I learned lot from it rich framework. I am quite excited to work on it and I have decide to continue my contribution to OpenMRS after the Gsoc too.
Got patch for HTML-57 and ticket 2087 committed to trunk!!!







