OpenLMIS Pain Points
This is a running list of pain points end-users, developers, and implementers experience with the current version of OpenLMIS.
Developers
No documentation on how to get OpenLMIS up and running
This is true for an implementer. Developer steps are decently documented
Insufficient developer documentation
Please clarify. Agree, for example, little guidance on domain, solution design, etc.
No database documentation
What is required? ERD, for example, is now part of a build job
Average BA/non-dev type can't get started - hard to install (vs OpenMRS, etc.)
Scant API & documentation
Monolithic app tightly coupled with UI:
Not extensible and causes lots of forking/toggling (e.g. new screens)
A lot of the variation is in reporting
No way to contribute without stepping on the toes of others.
No CI Server/no Continuous Delivery:
Update (3/16): We now have Jenkins running to exercise unit tests and DB integration, but functional testing is weak and needs enhancement (e.g. JS tests are not enabled).
Successful build are not being deployed to Demo
Insufficient test coverage
Supportability: inadequate error handling – lots of errors are caught and swallowed; logging is insufficient.
Older tech stack – Some outdated tools and approaches:
For those that we want to keep, we need to update to latest/later versions
Large number of tools & shared libraries that overlap &/or duplicative: Security is a concern and burden
Poor architectural choices (eg: use of Lombok and approach to exception-handling)
Using the APIs requires first doing an interactive login
No end-user documentation of test cases for manual/regression testing
End-Users
End-user documentation is lacking; falls to implementor to write it; reference documentation
No way to provide user feedback
UI is non-responsive: fails to size and scale, even on large desktop displays
Poor performance in low-bandwidth environments
need baseline metrics!
Lack of "offline first" design for occasionally connected environments for certain business processes
Implementors
No user training guide
No deployment planning tools (e.g. facility list, users/roles, seed data, etc.)
Or is this a process/project management toolkit?
No framework for creating dashboards or reports for a country
default reports have insufficient business value; Jasper isn't solving the problem
no user-friendly tools for creating custom/ad hoc reports
No security model or transaction logging to help manage the system –
Need updated threat analysis (e.g. penetration testing)
No way to create country-specific data collection forms (e.g. IVD monthly form) without forking
can't create custom screens/tabs to expose and collect custom fields
Very hard to initially configure the system –
all the seed/reference data for upload configuration is onerous, manual and time-consuming, e.g. master facility list, or the ability to pull in from DHIS2
No way to add additional features needed for a country implementation without forking the code
No auto-update/upgrade/migration process
e.g. security updates
OpenLMIS: the global initiative for powerful LMIS software