2.0.0 Release Notes

Background

2.0 represents a significant advance in OpenLMIS governance, contribution and collaboration. 

At the September 2015 OpenLMIS Community Meeting, it was decided an updated, global and stable release of OpenLMIS was needed.  Recognizing a single master branch of OpenLMIS was essential to shared benefit, an effort had already begun to merge together the major branches/forks.  2.0 is that consolidation, and is a merge of eLMIS, the 1.0 branch (GitHub) and updates from the CHAI Mozambique project.

The end result is a generic install of OpenLMIS suitable for new future projects.  Just as important, governance and tools were instituted to facilitate contribute and collaboration.  Specifics are listed below.

The consolidated code contained some features that were very project specific.  As the desire was for a global, generic OpenLMIS from a default install, such features were hidden, or "toggled off".  More details are available here: OpenLMIS 2.0 Release: Product Overview.

No new features were developed exclusively for 2.0.

Contribution

  • Founding of OpenLMIS Technical Committee for tech governance
  • Updated Contribution Guide - see CONTRIBUTING.md in the source
  • New coding principles guide - see STYLE-GUIDE.md in the source
  • Establishment of shared tools and infrastructure, notably
    • Continuous Integration (Jenkins)
    • Static code analysis (Sonar)
    • Issue tracking and project management (JIRA)
    • Developer forum (Google Groups)

Consolidation and Stabilization

  • Code consolidation:  2.0 is a merge of the 1.0 branch (GitHub) and some of the latest from eLMIS (BitBucket).  The last merge from eLMIS into 2.0 was in early December 2015.
  • Database script consolidation:  after the removal of unused schema, the hundreds of migration scripts were consolidated into a pair of schema and seed data files
  • Introduction of a basic set of demo data.  See README.md for instructions on how to load via the gradle demoseed task.
  • Public demo server site
  • Feature Toggling.  This is a stopgap measure to cosmetically hide country-specific features.  
  • Introduction of a basic modularization strategy
  • Defined release numbering format
  • Housecleaning of old/unused branches
  • And, of course, a few bug fixes.  

A complete list of work items are tracked in JIRA under the epic 2.0 Release Tag

Miscellaneous

  • Translations were not updated with this release - English strings may be seen in some areas after switching to a non-English language
  • The toggling may result in a few visual oddities.  For example, on the User page, some of the Role assignment sections may always be empty as the associated rights/roles were toggled off.
  • In general, features toggled off were not tested.

Where to Get It

Look for the v2.0 tag on the master code branch in GitHub.

Sonar analysis and ERD are here.

Resolved Defects

 

Open Issues

List of all open issues at the time of release.

.