...
- Dragan Ivanovic
- Miloš Popović
- Georgy Litvinov
- Mel M
- Doug Chestnut
- Samantha Emerson
- Michael Bentz
- Kshitij SinhaWilliam Welling
- Yuji Shinozaki
- Christopher P. Barnes
- Ivan Mrsulja
- Michel Héon
- Brian Lowe
- Mark Vanin
- Benjamin Kampe
- B Henderson
Agenda
- Questions/Issues/Pull requests/Announcements
- 2023 LD4 Conference on Linked Data
- https://sites.google.com/stanford.edu/2023-ld4-conference/home
- the deadline is 2nd of June, 2023
- New tickets for building VIVO REST API
- https://github.com/orgs/vivo-project/projects/2/views/1
- track 11 VIVO REST API
- UF performance issue with login
- Michael Bentz:
Hi everyone, I mentioned on the call last week that we are having login and logout performance issues for VIVO 1.13. It takes between 8-10 seconds to login with a VIVO account. I have tested installing VIVO both in a container and on the host. In both cases the VIVO application hangs when a login or logout request is made. The steps to reproduce are:
- Install using https://wiki.lyrasis.org/display/VIVODOC113x/Installing+VIVO
- Wait for VIVO application to finish initial startup
- Load VIVO with data (11GB tdbContentModels, 2.4GB tdbModels).
- Restart Tomcat
- Reindex VIVO
- Attempt to login using the root account
- Log out
- https://github.com/vivo-project/Vitro/commit/67c0421bea4ba6578037644d459be6a4318fd4ca
- Michael Bentz:
- 2023 LD4 Conference on Linked Data
- VIVO 1.14.0 RC 3
- VIVO REST API
- Person
- Organization unit
- Publications
- Events
- Projects
- Versioning
- endpoints - GET vivo_home/api/rest/{version}/persons
- documentation
- wiki pages linked with VIVO version space (VIVODOC113x) vs GitHub project for documentation (similar to https://github.com/DSpace/RestContract)???
- Fetching data
- pagination
- limit and offset
- stats data in response
- size (usually the same as limit, except it is at the end of list), total, pagesCount, index (offset)
- sorting
- sort by (data property name), order (ASC or DESC)
- localization
- Content language HTTP header parameter
- pagination
- Continues work with Project boards vs Sprints
- community members preferences
Notes
- 2023 LD4 Conference on Linked Data
DRAGAN: A community member is one of the co-chairs. Event is in person and the topic is relevant for the VIVO community. Link is provided in the SLACK channel if someone wants to participate.
- VIVO REST API
DRAGAN: I have specified an API for core entities, DynAPI engine is ready to support it. It is not so easy to cover everything but initial version is here. It will be the standard API for VIVO in the future. If someone customizes the faux properties for VIVO, some endpoint customizations will be needed as well. Detailed description is provided in corresponding links in agenda.
Question: should pids be hardcoded or be left in the array form as is suggested now? Any feedback on the specification is helpful, what is missing or what needs improvement.
MICHEL: In vivo data is built as a graph, and when you represent resource via form, you will miss info if you try to make a form of every possible person definition. It should be in RDF format. We should make a generic converter from RDF to JSON and then visualize it, its less complicated than estimating how a form should look.
DRAGAN: In REST it is possible to offer resource in different formats, we might offer that as well, but the question is usability of those different representations in other systems because most developers are not familiar with RDF triplet format.
MICHEL: I think it is better to have triple to JSON converter and return only in RDF format.
DRAGAN: In DynAPI all endpoints are customizable, people can specify a response content-type.
GEORGY: We could have parallel APIs if someone needs them, we can inform people how to add them.
- UF performance issue with login
DRAGAN: Florida UNI login error, Georgy mentioned that maybe logging took some time because of huge model, and it may be that in 1.13 there are some bugs that cause login issues but they will be fixed in 1.14. I have checked catalina.log, everything seems fine but I need to check vivo.log file.
- VIVO 1.14.0 RC 3
DRAGAN: We will wait a little before publishing a new RC. You will be provided with testing instructions. Any feedback will be helpful.
- VIVO REST API
- Versioning
DRAGAN: We will have different API versions, what about documentation for those versions? One idea might be to try to add different paths for documentation in WIKI space. We could also use GitHub projects, use MD as a language to write docs.
- Fetching data
DRAGAN: Fetching should have some standard features (pagination, localisation, sorting…). How we should implement it in the DynAPI will be discussed in the next meeting.
GEORGY: Localisation should work from a language filter that is already implemented.
DRAGAN: Great, also I had some problems while designing pagination and sorting. There is a lot of complexity when checking the limit, need to find a simpler way.
BRIAN: When writing to an API, people should be able to provide fields in different languages?
DRAGAN: we should check how we can support multilingual content in JSON.
BRIAN: Maybe do a convention when we have field_language field names in JSON.
- Continues work with Project boards vs Sprints
DRAGAN: I will be available to answer to any request or answer questions. Inform me when you would be able to contribute. There will maybe be an official sprint in June, REST API based. Everyone is encouraged to join. This sprint is maybe better to be organised as project board so issues are available for anyone to take them. Do we need 4 sprints per year or are the project boards better, give me some feedback?
...