This document is about the implementation of the OpenLMIS-Malawi MW-UI, and the extensions that went into making the MW-UI.
Works Well??
The following are extensions that seem to work well. Please comment if you agree/disagree, or add other examples
User Profile Extension
- MW-243Getting issue details... STATUS Commit
- This works well because the changed files are small
- Not getting changes for profile.html wouldn't "break" any functionality
- Good example of design change
- Could be added with some extension mechanism, but that might be hackier
Requisition Search Changes
- MW-241Getting issue details... STATUS & - MW-215Getting issue details... STATUS
- Only HTML changed
Search file might be too big – ideally only table would be changed
Should PR to Core
Open-External-URL
- Needs unit tests
- Needs documentation
- Could be used to fix print url hacks in other places – should be addressed separately
Table Horizontal Scrollbar
- MW-169Getting issue details... STATUS
- This should be brought over to CORE
- Unit tests are needed
Should be Moved
All the changes for the MW-UI were made directly in that repository, which means git can't merge changes. Fixing this would mean forking the original repository, and creating an image from that forked repository that is used in the MW-UI.
The benefit is this would allow git to automatically merge most code changes. As the core product releases new versions over time, git upstream code can be pulled into MW-UI while preserving the local modifications. This greatly reduces ongoing maintenance effort of conducting each upgrade.
Requisition Approval and Batch Approval
- MW-84Getting issue details... STATUS
- There are plans to merge these feature changes back to core – getting this code out of MW-UI and into a place where make a PR would be trivial makes sense
- Fork OpenLMIS/openlmis-requisition-ui to OpenLMIS-Malawi/openlmis-requisition-ui
- Having a correct fork would make maintenance and merging changes easier
Requisition Service
- There are a handful of changes here, that either should be refactored to smaller changes instead of forking a file
- Until that happens, the changes should live in OpenLMIS-Malawi/openlmis-requisition-ui
Needs Improvement
Login Service
Was there a ticket for this commit??
- File was forked to add currency support
- Login Service is tightly coupled to other "start up" actions, should be refactored to use an extension mechanism
- Either an event OR $q.all w/$filter
TB Quarterly Warning
- MW-81Getting issue details... STATUS
- Forked requisition-view.controller to add an alert - this can be accomplished by decorating the controller method
Alphabetically Sorted Product Dropdowns
- MW-217Getting issue details... STATUS
- The change is made in add-product-modal.html - this can be done in a reusable/testable way by:
- add decorator to controller
- sort products in factory
Full Forks to Change a Link
- To change a link, we are:
- Forking the controller file, and adding two new methods
- Forking the HTML to change the link
- This can be done more cleanly by
- decorating the controller to change the link (no need to touch the HTML)
- refactoring the controller to use a factory to produce the link
- refactor to use external-url method (mentioned above)
- Target directories
- Order-View - MW-272Getting issue details... STATUS
- Requisition View(Commit)
Uncertain
Requisition Initiate
- MW-237Getting issue details... STATUS
- Most of the changes to this file have been to maintain warning message
- CORE won't follow this design direction
OpenLMIS-Facility-Program-Select
- Seems to be added to fix other bugs – Seems like it could be removed entirely
- Weronika Ciecierska (Unlicensed) Could you look into if we can remove these files?
- Weronika Ciecierska (Unlicensed) Could you look into if we can remove these files?
Report
- Looks like many of the changes are to support the report-url changing
- This could be done without forking, probably
- Git history here doesn't have many ticket numbers, so its hard to figure out WHY changes were made
Tickets created by Weronika Ciecierska (Unlicensed) as a result of discussion with Nick Reid (Deactivated):