GOOGLE SUMMER OF CODE 2013 – DHIS2.ORG – FINAL EVALUATION – SUCCESS !

banner-gsoc2013

www.dhis2.org

I’ve successfully passed the final evaluation of my Google Summer of Code 2013 ! 🙂

I am extremely extremely happy and this was one of the best news of my life !!!

I want to thank a lot Google, the entire DHIS2 team and especially Morten and Bob (my mentors) for an incredible summer that I will never forget !

Thank you for this life changing opportunity !

Links:

District Health Information System:   http://www.dhis2.org

Code branch:   https://code.launchpad.net/~rosu-ovi

GOOGLE SUMMER OF CODE 2013 – DHIS2.ORG – UPDATE 10

www.dhis2.org

 

banner-gsoc2013

In these last few days I’ve mainly worked on fixing bugs and improving the existing code.

The project has reached a pretty polished stage and the output file that is generated by the Filtered Meta-Data Export seems correct.

I’ve really grown attached to the project and I’m a little sad that there is only one week remaining of the GSOC 2013 program.

I will spend the last week writing documentation and wrapping up the project.

GOOGLE SUMMER OF CODE 2013 – DHIS2.ORG – UPDATE 8

www.dhis2.orgbanner-gsoc2013

In the last few weeks I’ve mainly worked on improving the Export Detailed MetaData user interface.

It has radically changed since its last iteration.

Functionality added:

– create and manage an entire list of filters (CRUD functionality)

– create an ad hoc filter

– sorting functionality

– pagination

– visual improvements

– less clicks to achieve the same goal 🙂

– Export MetaData with dependencies

Most of my time was spent implementing, testing and improving the Export MetaData with dependencies algorithm.

I’ve used recursion combined with the Reflection API in order to achieve this goal.

How it works ?

Lets say the user want to export an “Indicator”.

In order to use that Indicator, its dependencies also need to be exported, otherwise it will not work correctly.

What the algorithm does is, it gets the dependencies of that Indicator ( DataElements, IndicatorType etc.) and adds them to the export list, then computes the dependencies of those elements and so on until it reaches the base element which no longer has any dependency to any other exportable objects.

These weeks where really productive because I’ve learned tons of new stuff, tricks and I’ve really improved my Java skill.

Thanks for reading.

P.S. I will come back with screenshots in a later post.