Date

Call-in Information

Time: 10:00 am, Eastern Time (New York, GMT-04:00)

To join the online meeting:

  • https://lyrasis.zoom.us/j/84378615572?pwd=bGUxSjlyRTdjOGl5U1B6L0Yva3RQdz09

    Meeting ID: 843 7861 5572
    Passcode: 556561
    One tap mobile
    +16699006833,,84378615572#,,,,*556561# US (San Jose)
    +19292056099,,84378615572#,,,,*556561# US (New York)

    Dial by your location
            +1 669 900 6833 US (San Jose)
            +1 929 205 6099 US (New York)
            +1 253 215 8782 US (Tacoma)
            +1 301 715 8592 US (Washington DC)
            +1 312 626 6799 US (Chicago)
            +1 346 248 7799 US (Houston)
            877 853 5257 US Toll-free
            888 475 4499 US Toll-free
    Meeting ID: 843 7861 5572
    Passcode: 556561
    Find your local number: https://lyrasis.zoom.us/u/kerqtGDrJ4

Slack

Attendees

(star)  Indicating note-taker

  1. Dragan Ivanovic 
  2. Georgy Litvinov
  3. William Welling
  4. Brian Lowe (star)
  5. Benjamin Gross 
  6. Veljko Maksimovic 
  7. Rolf Guescini
  8. Mark Vanin 

Agenda

  1. Questions/Issues/Pull requests/Announcements
    1. VIVO 1.13.0 release candidate -
      1. Release Testing - 1.13.0
      2. Release Notes
      3. https://github.com/vivo-project/Vitro/pull/296
    2. Confluence wiki was down
    3. German VIVO workshop - https://events.tib.eu/vivo-workshop-2022/programm/ 
      1. registration is needed - https://events.tib.eu/vivo-workshop-2022/registrierung/
  2. The ongoing sprint
    1. repositories and branches
      1.  https://github.com/vivo-project/Vitro/tree/sprint-dynapi-2022-feb-staging
      2. https://github.com/vivo-project/Vitro-angular
    2. Tracks
      1. Project board - https://github.com/orgs/vivo-project/projects/2 
      2. Ontology
        1. RDF representation of dynamic actions and resourceAPIs
      3. Binding
        1. Binding to Java objects representation 
      4. Execution
        1. Execution of a dynamic action
      5. RCP Endpoint
      6. REST Endpoint
      7. Security
        1. Definition of dynamic action roles
        2. Authentication (endpoint and UI)
        3. Authorization
          1. Session (later JWT)
      8. Validation
        1. SHACL rules for all dynamic actions
      9. UI for exposing dynamic API
        1. Angular & Angular Material
          1. the server side module 
            1. https://angular.io/guide/universal
          2. a central state management up front
            1. https://ngrx.io/
          3. i18n library 
            1. https://ngneat.github.io/transloco/
          4. GitHub CI Actions
            1. build
            2. lints
              1. adopt a style guide and have it enforced using linting
            3. tests
              1. incorporate best practices and have test coverage in initial commit
                1. CodeCov vs Coverall vs Other options
          5. library for common modules and custom elements
            1. one or two or more modules
      10. CRUD operations for custom actions
      11. UI for management of custom actions
      12. Exploitation

Notes

  1. Dynamic API Sprint development
    1. Resource ID: problem with trying to add a parameter to the incoming parameter map from the HttpServletRequest, which is immutable.  Map could be replaced with a request filter, but probably best handled in a different way.
      1. William has a fix for this; will put in a PR.
    2. Dragan: SHACL Validation.  Slows down the tests if the validations are included (adds roughly 2.5 minutes on Dragan’s machine, i.e. more than doubling the build time).
      1. Georgy: Add flag for including validation tests when something new is being added.
      2. William: Per-action enabling/disabling of validation?
      3. Georgy: Different types will need their own validators.  We’ll need to store these rules and what related resources to include in the subgraph for each validation.
      4. William:  Why not validate things before they are inserted into the graph?  If you do that, the problem goes away.  You don’t need to keep extracting from the graph to confirm validation.
      5. Georgy:  Maybe in the future we can guarantee that the whole graph will be valid, but not now.
      6. William:  Why is validation so slow? These are graphs of insignificant size; we should be able to test them thoroughly.
      7. Dragan:  Will revisit this to see if it can be made more efficient.  Seems like SHACL is the bottleneck, not the initial selection of the nodes to validate.
      8. William:  If it works, maybe we should resolve this issue and open a new one to improve performance.  Do we need to hold up the feature?
      9. Dragan:  This feature isn’t really blocking anything else, so we don’t need to hurry to merge it.  But we could.
    3. Progress of team
      1. Rolf has run into some problems with mocking.
        1. Rolf:  Big picture makes sense; just need some pointers on how to correctly implement the mocking. If someone has the time to do some pair programming, that could help.
      2. Veliko:  Are changes needed to the testing approach for N3 additions/retractions?
        1. Georgy: Your existing tests should be fine.
      3. Mark:  Hope to have something to present tomorrow for login forms.  Have been preparing for the workshop.
      4. Dragan:  N3 template additions/retractions is a blocking issue for creating CRUD operations.
        1. Veliko:  Should be done in a few hours.
      5. Georgy:  Busy with other tasks today.
    4. Dragan: Tomorrow will be a regular sprint meeting at this time.

Draft notes in Google Docs

Task List

Previous Tasks 

  • No labels