/
2017-09-19 Meeting notes
2017-09-19 Meeting notes
Date
7am PST
Meeting Link
Toll: +1-415-655-0001
Number: 199 948 686
Attendees
- Elias Muluneh
- Paweł Gesek
- Nikodem Graczewski (Unlicensed)
- Mateusz Kwiatkowski
- Paweł Albecki (Deactivated)
- Sebastian Brudziński
- Nick Reid (Deactivated)
- Chongsun Ahn (Unlicensed)
- Ben Leibert
- Brandon Bowersox-Johnson
- Sam Im (Deactivated)
- Mary Jo Kochendorfer (Deactivated)
Goals
- UI Extensible patterns
- Code Review and Quality
Discussion items
Time | Item | Who | Notes |
---|---|---|---|
30m | UI Extension Patterns followup | Nick Reid (Deactivated) | |
30m | Code Review and Quality | Josh Zamor |
Notes
UI Extension Patterns Follow Up
Previous strategy was to think we should focus on big-sky, extend anything.
Newer strategic thinking is to be more specific about where extension should occur. This is a learned piece from the amount of code that had to be forked and maintained in Malawi.
Current strategy: Add extension points where Malawi made forks
- Pub/Sub application wide events
- want to break apart large event logic (e.g. app wide login)
- if it happens everywhere, fire an event
- Decorate service/factory endpoints
- if it has logic, wrap it in a factory - avoid use in controllers and directives
- openlmis-download
- ui-component creates base functionality
- auth-ui adds authentication token
- Generated documentation
- facility-service-cache
- program-service
- Add new functionality to a service
- Avoid business logic in Directives or Controllers
- Noticed that using a decorating pattern in directives / controllers turns into a mess
- Move calculations / business logic to factories or services
- openlmis-download in repo openlmis-ui-components has an example of a factory holding business logic (the logic is to open the given URL in a new window)
- Looking at the download factory, decorated in the auth-ui: https://github.com/OpenLMIS/openlmis-auth-ui/blob/85a0eecd80774ddce9e0a252148333124fc22b21/src/openlmis-download-auth/openlmis-download.factory.decorator.js
- Since this is auth, this takes that generic download factory, and adds the OAuth2 authorization token to OpenLMIS links
- Could it be moved into the directive?
- Perhaps not, as the directive is the piece that works directly with the DOM.
- Have had a need to extend business logic, have not yet seen the need to extend a directive.
- How do we document where extensions are?
- add "Decorator" to the name, so it's findable, eg. http://build.openlmis.org/job/OpenLMIS-reference-ui/lastSuccessfulBuild/artifact/build/docs/index.html#/api/openlmis-download-auth.openlmisDownloadFactory
- might try to add an "implementations" section like javadocs has
Code Review
Code review documents
Recently some reviews have been:
- too large. Lets reject reviews that are over a few files or a couple hundred lines
- too many people, not clarity who's responsible. Lets assign 1 person (others can view, but one is assigned).
This issue has been creeping up for a while
Some reviews are very old
We have not modified our code review process for 9 months, this might be a good time to update that review process.
- 1 person should be assigned and responsible for the ticket in review
- Use the review description field to focus the reviewer about what they are reading
UI code reviews are done for most things, but some small tweaks were missed
Action items
, multiple selections available,
Related content
2017-07-11 Meeting notes
2017-07-11 Meeting notes
More like this
UI Architecture v7
UI Architecture v7
More like this
2017-11-28 Meeting notes
2017-11-28 Meeting notes
More like this
2017-07-25 Meeting notes
2017-07-25 Meeting notes
More like this
2017-11-02 Meeting notes
2017-11-02 Meeting notes
More like this
UI Documentation Working Draft
UI Documentation Working Draft
More like this
OpenLMIS: the global initiative for powerful LMIS software