Versions Compared

Key

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

...

  1. Questions/Issues/Pull requests/Announcements
    1. 6. German VIVO workshop - https://events.tib.eu/vivo-workshop-2022/programm/2022-06-15/
    2. VIVO 1.13.0 release candidate - Release Testing - 1.13.0
  2. The next sprint
    1. date
      1. May 30th - June 17th
    2. Registration
      1. link
      2. Six/Seven registered participants so far
    3. Infrastructure
      1. Wiki page - Sprint - Dynamic API based on an ontology 2
      2. Slack channel created
      3. Project board
        1. We will continue using this Project board - https://github.com/orgs/vivo-project/projects/2
          1. but extend it with new issues (features, bugs)
      4. Starting point
        1. backend
          1. https://github.com/vivo-project/Vitro/tree/sprint-dynapi-2022-feb-staging
            1. will be renamed to dynamic-api
          2. https://github.com/vivo-project/Vitro/tree/sprint-dynapi-2022-feb
            1. wouldn't be used
        2. frontend
          1. https://github.com/vivo-project/Vitro-angular/tree/dynapi-2022 
          2. https://github.com/vivo-project/Vitro-angular/tree/dynapi-2022-staging   
      5. Cleaning up not completed work at previous sprint
        1. https://github.com/vivo-project/Vitro/pull/285
          1. GET all and GET one - two dynamic actions or one ?
        2. https://github.com/vivo-project/Vitro/pull/286
          1. deletion and modification
        3. https://github.com/vivo-project/Vitro/pull/287
        4. Transforming xml notation of Dynamic API ontology to turtle/n3 notation
        5. Introducing new jena model for dynamic actions
        6. Cleaning up issues at  https://github.com/orgs/vivo-project/projects/2/views/1
      6. Tracks
        1. Ontology
          1. RDF representation of dynamic actions and resourceAPIs
        2. Binding
          1. Binding to Java objects representation 
        3. Execution
          1. Execution of a dynamic action
        4. RCP Endpoint
        5. REST Endpoint
        6. Security
          1. Definition of dynamic action roles
          2. Authentication (endpoint and UI)
          3. Authorization
            1. JWT
            2. Do we need OAuth2 or OpenID Connect ???
          4. The ontology - link
        7. Validation
          1. syntax,
          2. over the ontology,
          3. generic SHACL rules for all dynamic actions
          4. custom SHACL rules for specific dynamic actions ???
        8. UI for running a dynamic action
          1. Angular & Angular Material
          2. Some notes regarding angular from William Welling .

            1. I would recommend against using a openapi specification generator
                   
                  1. it likely does not take into consideration angular universal for SEO, central state management, or i18n
                   
                  1. it is not likely to be a long lived dependency, popular, or actually work well with the dynamism of custom actions
                1. choose between the server side module (both express and angular universal)
                  1. https://angular.io/guide/universal
                  2. https://github.com/nestjs/ng-universal
                2. consider a central state management up front
                  1. https://ngrx.io/
                3. choose i18n library (important to know whether we want runtime or build time i18n)
                  1. http://www.ngx-translate.com/
                  2. https://ngneat.github.io/transloco/
                  3. https://angular.io/guide/i18n-overview
                4. adopt a style guide and have it enforced using linting
                  1. have github action check code styles
                  2. protect main branch against style guide violations
                5. incorporate best practices and have test coverage in initial commit
                  1. have github action that performs code coverage
                  2. protect main branch for code coverage decrease
            2. CRUD operations for custom actions
            3. UI for management of custom actions
            4. Exploitation

      ...