2017-07-25 Meeting notes

2017-07-25 Meeting notes

Date

Jul 25, 2017

7am PDT

Meeting link

Webex:  https://meetings.webex.com/collabs/#/meetings/detail?uuid=MCWZVO5CU6C2R2CMTSHBG8Y9T5-3O29&rnd=298431.87089

US Toll:  +1-415-655-0001

Meeting #: 192 770 130

Attendees

  • @Josh Zamor (Deactivated)

  • @Paweł Gesek

  • @Paweł Albecki (Deactivated)

  • @Nikodem Graczewski (Unlicensed) ?

  • @Mateusz Kwiatkowski

  • @Sebastian Brudziński

  • @Nick Reid (Deactivated)

  • @Ben Leibert

  • @Chongsun Ahn (Unlicensed)

  • @Brandon Bowersox-Johnson

Goals

  • Review UI extension / maintainability recommendation

  • Schedule followup on Performance

Discussion items

Time

Item

Who

Notes

Time

Item

Who

Notes

5m

Agenda review

Josh

15m

UI Extension & Maintainability

@Nick Reid (Deactivated)
 

 

30m

Deeper dive on Performance & tooling

@Josh Zamor (Deactivated)

Notes

 

UI

 

Looking for more atomic extension mechanisms based on the work done in Malawi with the goal to reduce forking needed.

 

Dev forum:  https://groups.google.com/forum/#!topic/openlmis-dev/YCDvPKbh3uY

 

  • follows angular JS decorator pattern to wrap a read only function to add new functionality.  Original function ensured that that when the requisition is in approval, then every form field should be read only.

  • 200 line file, original fork had to fork all of that to add a few lines

  • new pattern has boiler plate code to link into the function , and then write the new function

  • while original change was very small, and perhaps "easier" to do, the original style caused a fork of 500 lines of code (incl unit tests)

 

Feedback on questions from dev forum post:

 

  • wouldn't be too much boilerplate

    • MW has forked a # of lines of UI, reduction would be good

    • new solution feels like what we wanted it to - it's less forking and therefore less to maintain going forward

  • do we have an example of extending controller / service?

    • both should be easier than overriding a directive

  • are we always testing the original function?

    • with the new approach, the original unit tests still run

    • when the change is loaded in, it doesn't re-run original unit test

    • imagine it's a service, you have your unit tests, you create an extension, it returns something different, new unit tests test the new thing.  Any other contract check can't see the new change, and so can't check it.

  • more floor joist changes than siding changes!

    • these are the small logical changes

    • could use more evidence - what happened in v2?

  • have to fork HTML?

    • yes, we could provide more of an example - Paweł Gesek could bring up things from SELV & SIIL.  Extend distribution grid. Coverage screen.  Nick Reid to start a wiki page to gather input on different examples and prioritize.

 

Action items

Nick Reid to make wiki page to gather html extension ideas and prioritize
Paweł Gesek to help fill in that wiki page ^


OpenLMIS: the global initiative for powerful LMIS software