UI/UX Overview + Backlog
This page outlines improvements and technical debt that needs to happen to the OpenLMIS-UI. Tickets listed on this page are may not be ready for work, and can actively be picked up once placed on a backlog grooming page.
Backlog
Consistency
Problem | Solution | Tickets |
---|---|---|
It is too easy to click off the modal in the add screen of stock management and loose all the work the user has done | ||
Unit Tests
| ||
sticky-columns can't be "easily used" | ||
CSS restyling:
| ||
Performance
Problem | Solution | Tickets |
---|---|---|
As the application evolves, we need to make sure the OpenLMIS-UI continues to download and start quickly. |
| |
Extensibility
Problem | Solution | Tickets |
---|---|---|
Tooling
Problem | Solution | Tickets |
---|---|---|
There are large files that have too much functionality, which makes their classes difficult to extend or change. A large part of the problem is identifying the files that need to be changes and fixing them. | Add some tooling to identify these large files, and make secondary tickets to refactor the files to be smaller
| |
Jasmine 1.3 is outdated | Update to latest version of Jasmine (Overview of process here) | |
Scaffolding new modules or file types involves lots of boiler plate |
| |
Set up Javascript linter | ||
Set up Sass linter | ||
Malawi
Problem | Solution | Tickets |
---|---|---|
User Input In requisitions, losses and adjustments error messages don't clear until the page is refreshed In requisitions, product grid cells are not shrinking to their minimal size
| ||
Notifications are wacko | ||
Offline Offline is described to be super sensitive. The UI will show that it's in the offline state, when it really isn't.
| ||
Memory/runtime/wtf
| ||
Caching
| ||
WTF
| ||
Un-Forking |
Unit Testing
http://docs.openlmis.org/en/latest/conventions/uiCodeConventions.html#unit-testing-guidelines
Examples | ||
---|---|---|
Brittle | Checks markup, not meaning | |
Set up view that is available in router? | https://github.com/OpenLMIS/openlmis-cce-ui/blob/master/src/cce-edit-inventory-item/edit-inventory-item.html.spec.js#L655-L672 | |
Testing utils bundled into applicaiton? | https://github.com/OpenLMIS/openlmis-cce-ui/blob/master/src/openlmis-testing-utils/openlmis-testing-utils.module.js |
Misc Notes
Todo list clearing
- Add HTML5 mode to nginx
https://gist.github.com/cjus/b46a243ba610661a7efb - Add postCSS - some styles are not getting poly-filled
- Documentation update for directives and cleaning scope
- Add documentation for layout patterns. Should be markdown eventually – but confluence is good for now
- extra-data component
2017-09-15 Alfred/Dercio/Nick
- Hide as many columns as possible
- In Stock Management Recieve - reason entry isn't needed as there is only one choice, the column should not even show
- There are blank areas from lot/vaccination groups → its weird
- Odoo allows users to define groups of data, remembering the order that a use clicked buttons to create the group
- This made complex data reporting and editing easier
- Make all editable fields in a table required
- Odoo allows users to add additional information to a row in a secondary view (modal-ish)
- Odoo allows devs to configure if the system should do 'live' validation or validate once a form is submitted
- Module development in Odoo, allows an implementer/user to see the packages that are installed – which makes talking and reasoning about the system possible
OpenLMIS: the global initiative for powerful LMIS software