Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

From the pervious discussion of extending OpenLMIS to allow multiple suppliers and workflows related to requisition splitting — we have identified multiple requirements that the UI could support. This document outlines these additional requirements, and attempts to prioritize them in terms of level of effort required to implement these requirements.

SIL SELV (from Pawel)

Localizable calendar — localaizable in all form components (people will find un-localizable parts)

Adding questions to columns — andding new rows and columns

Making sure different screen sizes and layouts work — not scroll but "wrap"

Being able to edit a distribution (how would you change the editablility)

Adding edit history screen

Need simplistic options to either add a button or replace a screen entirely

How do we extend business logic

  • Where would add the logic to the button
  • Change how stock on hand is calculated (document this)
  • Are there easy extension points for service (adding new functionality and replacing the original provider — think angular.merge/extend)

CSS Styles and SASS Variability

CSS Styles and SASS Variability

There should be no special method of removing or explicitly overriding CSS — an implementer should simply use more specific CSS rules to change styles. All CSS styles in OpenLMIS should strive to be as 'shallow' (unspecific) as possible (and avoid the !important statement) so that its reasonable to override a style by simply creating a new CSS style.

All colors, absolute spacing, and browser breakpoints should be implemented using SASS variables, so that the overall UI look and feel can be changed by creating a different *.variables.scss file that will overwrite the initial declarations in OpenLMIS.

Generic Screens (Administration Screens)

...

Targeted Directives - It also might be possible to completely replace an individual `<input />` or `<select />` element – but the difficulty would be being able to consistently target an individual element, and being able to assume that all form element actually support this ability. Issues of rending priority could also hamper development if two elements are changing the same input.

How to Extend Business Logic

  • Where would add the logic for a button injected by a template?
  • Change how stock on hand is calculated (document this)
  • Are there easy extension points for service (adding new functionality and replacing the original provider — think angular.merge/extend)

Generic Search Result (or list) Screens

...

New table cell functionality


...


SIL/SELV UI Changes to OpenLMIS (from Pawel)


The following are examples of changes to OpenLMIS that SolDevlo made to SIL/SELV

  • Localizable calendar — localaizable in all form components (people will find un-localizable parts)
  • Adding questions to columns — andding new rows and columns
  • Making sure different screen sizes and layouts work — not scroll but "wrap"
  • Being able to edit a distribution (how would you change the editablility)
  • Adding edit history screen
  • Need simplistic options to either add a button or replace a screen entirely