Current State Technical Evaluation (TECH)
Description: Review current code assets including features and technical debt
Leads: Rich, Ashraf
Rapporteur/Notetaker: Darius
Notes from Session: (audio recording failed)
Intro
Key Question: "What should the next implementation do? Which branch does it start from?"
Currently:
"2.0" is pulling from "eLMIS" automatically, at every commit
"eLMIS" has pulled from "2.0" once (very recently) and intends to continue doing this manually ~ every week
"2.0" is a "development trunk", it's not typically fully functional
Karl: I'd like to see over the next 6 months, that "2.0" becomes the master upstream branch for development. And having the "eLMIS" in bitbucket makes things a lot harder.
Rich: Right now, 2.0 is not really "upstream", and we all want it to be.
Ashram: Once VIMS is released (later this year, or next year) then we can put resources into shifting from bitbucket to github.
Rich: Current state: 2.0 is not releasable (e.g includes incomplete features)
Karl: Have a separate repository with Moz-specific configuration. Going forwards, we should have a default/demo configuration and feature toggles that disable features not yet complete.
---------------
New features in 2.0 (Ashram)
* Different configurations for R&R, with different calculations ("R&R Templates")
* Different groupings within an R&R
* Reports
* Checks status of equipment before certain orders (and requires explanations for broken equipment)
* Dashboard on home screen (role-specific)
* uploading of photos from an android application (ODK)
* integration with RapidSMS gateway
* GIS map
* ILS gateway
-------
Some Code Statistics (Josh)
68k lines of code
core: 12k LOC
reports: 12k LOC
openlmis-web: 5.6k LOC
vaccine: 3k LOC
including tests, ~100k lines of code
total test coverage: ~25%
~200 DB tables
(Ashram: some database tables are there as proof of concept and are great examples of things to "clean up")
What we need to make a master branch?
Cleanup: remove tables
Hide features (UI)
Doc/describe how
Have a default/demo config (following github.com/clintonhealthaccess/lmis-moz pattern)
Evaluate TW customization module
For country-specific configurations
Doc and recommend as good practices
Doc and describe features
Identify which are Global versus country-specific
Merge in "accessibility"
Published FAQ on current state?
Endgame: final test/stability run; merge to master
Finalized branching strategy (e.g. "gitflow")
OpenLMIS: the global initiative for powerful LMIS software