Date

Call-in Information

    • Time: 10:00 am, Eastern Time (New York, GMT-04:00), which is 4:00 pm, Central European Summer Time

      Join Zoom Meeting
      https://lyrasis.zoom.us/j/85872775966?pwd=d0pEd3d2T3ZqbktEcHN3MDAxK2tpZz09

      Meeting ID: 858 7277 5966
      Passcode: 444279
      One tap mobile
      +13126266799,,85872775966#,,,,*444279# US (Chicago)
      +13462487799,,85872775966#,,,,*444279# US (Houston)

      Dial by your location
              +1 312 626 6799 US (Chicago)
              +1 346 248 7799 US (Houston)
              +1 646 931 3860 US
              +1 669 444 9171 US
              +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)
              877 853 5257 US Toll-free
              888 475 4499 US Toll-free
      Meeting ID: 858 7277 5966
      Passcode: 444279
      Find your local number: https://lyrasis.zoom.us/u/kbPhRTYbIB

      Slack

Attendees

Resources

Agenda

  1. Review the sprint objectives
  2. Demonstration of implemented features
  3. Feedback and questions

Notes

Dragan: There were 7 participants, who showed interest in this topic. New repo was created for the angular-front project. William created the initial fronted app structure, and worked on it during the sprint.

The goal for the DynamicAPI is decoupling the presentation layer (UI) from the backend API. In that case, we would be able to provide RestfulAPI’s for anyone to use. We also want to create a frontend dynamically based on the description of action that should be performed. This will make expansion of the UI for newly created features trivially simple. If all works well, the VIVO extension for VITRO will contain no code, just n3 notations describing vivo specific actions and functionalities.

Before this sprint we had: 

  • Defined the ontology for dynamic api
  • Ability to create new N3 templates with this new dynamic api notation for creating new triplets
  • Ability to create SolrQuery operations and SPARQLQuery operation
  • No UI


Plans for this sprint:

  • Possibility to create multi-step action
  • Conditional and iterative steps are introduced
  • Extend N3 template to include ability to remove and modify triplets
  • Start frontend project
  • Visual editor for creating new dynamic api operations
  • Create Validation for dynamic action definition
  • Introduce Security to the Dynamic API


Results after this sprint:

  • We can chain steps
  • We can have conditional steps
  • We can't support iterative steps
  • Removal and modification of triplets is possible via N3  templates
  • UI layer is created, but works for now only for simple actions
  • UI for creating new dynamic action was not started
  • Validating new dynamic actions works
  • Authentication implementation is started, but not completed


Functionalities for demonstration:

  • First, one Dynamic action definition (n3 file) was presented, and its contents were described
  • UI (and functionality) for fetching, adding, modification and removal of data (countries in this case) was presented
  • Dynamic generation of UI based on the actions in this system was demonstrated
  • SHACL rule validation was shown, and how it works when dynamic action isn’t defined according to the rules.


Follow-up goals:

  • Introduce iterative steps
  • Notation for UI layouting
  • Restructure how dynamic api works with data internally
  • Complete authentication and authorization
  • More SHACL rules
  • Visual editor for creating dynamic actions (this editor will be available to org admins, for example)


Questions:

  • Christian: Some of the code needs to be re-implemented. How much is the code completed:
  • Dragan: Not yet completed enough to talk about deployment and release.


  • Christian: SHACL was a topic for years in VIVO forums. Could we use these SHACL rules to validate all incoming data, and all exported data as well.
  • Dragan: Something like this is definitely possible, and SHACL should be used for more than just dynamic api action, but for now it is not possible. Also, in that case, new SHACL rules for that input/output validation would need to be written


  • Christian: This is probably biggest vivo architecture change in a long time. Are there any time estimations, and when this new system will be available for usage.
  • Dragan: Two sprints were used for development of dynamic api, and we would need at least two more. It is not realistic to give any timelines for now.


  • Christian: How could we get more development resources (developers) working on this?
  • Dragan: I'm constantly trying to attract more people to join vivo development, and am hoping to attract more interest with these demonstrations, but i'm not sure how to attract more people.


  • Bruce: What resources you need to achieve this feature (dynamicAPI)
  • Dragan: Software developer hours


  • Christian: Will it help to get more people to do side tasks like demonstration and testing?
  • Dragan: Yes, but for now we have a problem onboarding new people, but we also need to have some core infrastructure done before those smaller new tasks can be defined.


  • Christian: We might need more framing, vision and context about the strategy and and goal for DynamicAPI, so that it can be presented to Leadership group and others who can potentially join the development.
  • Dragan: Yes, more info is needed to explain this project to someone else, but these Github boards and tickets are here mainly for tech people who are closely working on this project


  • Christian: We also need phases of how to roll out this new architecture and integrated into existing VIVO instances
  • Dragan: It is plan to have this new VIVO as VIVO 2.0, and yes, question of migrating existing systems will be a complex one.

Recorded video

Draft notes on Google Drive


  • No labels