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
|
| SORTING Bug? |
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? |
| |
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/b46a243ba610661a7efbAdd 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