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
@Mary Jo Kochendorfer and @Brandon Bowersox-Johnson
I'm trying to organize UI work here — since the UI component work cross cuts a bunch of places, and I kinda need a place to outline overall stragedgy before it goes into JIRA tickets... I'm also starting to keep track of the design work that is happening (or needs to happen here)
Let me know if this is an appropriate place to put this wiki page (and feel free to move it if its wrong)