2018-09-10 UI Architecture (v7) notes

Date

Attendees

Goals

  • Discuss UI Architecture / UI v7
  • Get architecture concerns out in the open, and prioritize


Quick recap of tech committee discussion.


From last call on 9/7/18:

Sync on Angular and our thoughts on it / potential replacements


  • We discussed the future of frontend frameworks in the gap kickoff.
    • Have roughly 20k LOC of Angular 1.X
    • Development of Angular 1.X is continuing with the last planned release of 1.7 in 2018
    • Support for Angular 1.X is said to continue through to ~2020
    • There are some alternatives that would allow us to mix and match frameworks, such as React and Vue, along with Angular 1.X
    • We have no significant funding to seriously consider a rewrite away from Angular 1.X
  • Refactor business logic to POJO
    • POJO's for
      • Framework "independence"
      • Testability - objects
    • Typescript/ES6 - haven't started, would need some investigation into dev experience impact and LOE
  • Still in the brainstorming phase, caution against refactoring before we have our chosen roadmap



Identify the top architecture concerns that are limiting our ability to deliver (e.g. caching)


  • Caching is a top concern
    • There are often many repeated requests (e.g. minimal facilities)
    • Orderables is a good example
      • Fetching many times across UI
        • stock on hand screen, 100x calling orderableFulfills, why?
    • Only time we have a "caching" strategy is for offline requisition
    • We have a tooling gap - What JS library/tool can help us cache, and manage that cache.  IOW what's the Redis of JS?
      • JQuery (uses the browser's store) or jquery lite (ships with angular)
        • Does is enforce using localstorage
      • Overall we're still looking for a tool to help with caching
        • Lets us use the storage we want to use
        • Helps manage the cache
    • We have a question on when to cache
      • On login
      • Just in time
      • We need to revisit this question
  • Gather more feedback on development concerns
    • Did this in tech committee
      • Wasn't much feedback




For next time:

Does someone adding new code or wanting to refactor existing code, do they know which patterns we prefer to see? IOW what gaps in our exemplars do we have?

Action items

OpenLMIS: the global initiative for powerful LMIS software