Andrea Bollini [5:30 PM]
@here this is the bi-weekly slack update meeting for the REST API
Terry Brady [5:31 PM]
Hello
Andrea Bollini [5:31 PM]
since our hangout call we have done some progress merging the PR that was approved
[5:31]
we have now some additional skeleton on the REST contract but we lack of contribution
[5:31]
https://github.com/DSpace-Labs/Rest7Contract
[5:32]
@terrywbrady have proposed to move the repository under DSpace instead of DSapce-labs
[5:32]
this could help to get more attention
[5:33]
how many people are around?
Terry Brady [5:34 PM]
It would allow us to keep code and documentation in sync by merging in a single PR... of course it could also entangle code and documentation changes.
Andrea Bollini [5:34 PM]
oh so you mean to have the contract in the DSpace/DSpace repository ?
Terry Brady [5:35 PM]
Yes. In the code directory.
Andrea Bollini [5:35 PM]
I'm not convinced that it is the right approach
[5:35]
we are still unsure about the final form that our rest contract needs to have
Terry Brady [5:36 PM]
OK. I am fine to leave it where it is
Andrea Bollini [5:36 PM]
I'm just proposing to promote the rest7contract from a repository in DSpace-Labs to a repository in DSpace
[5:37]
anyway, we can wait a few weeks and check when more people is in the meeting
[5:37]
on the rest contract we have two initial draft
[5:38]
https://github.com/DSpace-Labs/Rest7Contract/blob/master/search-rels.md
[5:38]
https://github.com/DSpace-Labs/Rest7Contract/blob/master/projections.md
Mark Wood [5:38 PM]
Ultimately the contract should go into the documentation, not the code. So a separate DSpace/Rest7Contract makes sense to me.
Terry Brady [5:38 PM]
Or it should be generated ultimately
[5:39]
(from code)
Andrea Bollini [5:39 PM]
yes, just for the archive... I have started to play a bit with rst for docuemntation for another project and it could be an option
[5:39]
and as @terrywbrady says we also have a issue ticket to test the spring rest doc framework
[5:40]
that could bring in some autogenerated snipped and details
[5:40]
https://jira.duraspace.org/browse/DS-3484
[5:40]
moving back to our rest contract draf pages
[5:41]
the first one
https://github.com/DSpace-Labs/Rest7Contract/blob/master/search-rels.md
is also related to a PR
[5:41]
https://github.com/DSpace/DSpace/pull/1686
[5:41]
I have just added few comments to it
Terry Brady [5:41 PM]
I closed this one in favor of the one with the projection
[5:41]
https://github.com/DSpace/DSpace/pull/1688
Andrea Bollini [5:42 PM]
we should keep them separate to speed up inclusion
Terry Brady [5:43 PM]
OK. I will re-open 1686
Andrea Bollini [5:43 PM]
do you have time to work on the search-rel issue? in the next week?
[5:44]
if so, I will spent some time today or tomorrow at late to provide you direction from the spring-data-rest project
[5:45]
or do you prefer to work on the projection issue?
Terry Brady [5:45 PM]
I can spend more time this week. I need some guidance on what else is needed immediately for this PR. I created a stub of the annotation.
[5:46]
Either is good for me, but I need some more details of your direction. I have been working to keep the PR's small and focused.
Andrea Bollini [5:47 PM]
my suggestion is to implement the search endpoint in a generic way so that we can fastly add new query for any objects
[5:47]
ok we can discuss further the details at the end of this meeting and on the PR
Terry Brady [5:48 PM]
SOLR search is different from an object specific search like top communities...
Andrea Bollini [5:48 PM]
yes
Terry Brady [5:48 PM]
Moving the discussion to the PR makes sense
Andrea Bollini [5:49 PM]
SOLR search -> https://jira.duraspace.org/browse/DS-3489
[5:49]
this is one of the issue that I like to ask for a volunteer
[5:50]
I think that we should start to figure out how our discovery-search and browse endpoints will work and how the returned objects are structured
Mark Wood [5:50 PM]
The ticket looks like we have a volunteer but he wants some guidance to start.
Andrea Bollini [5:51 PM]
we already have agreed with the #angular-ui team that we want to return the same object whetever strategy we use (solr or db)
Terry Brady [5:52 PM]
Is that feasible? Will that perform properly?
Andrea Bollini [5:52 PM]
but we will probably need a wrapper that add to our object additional information specific of SOLR (like the score, highlighting, etc)
Terry Brady [5:52 PM]
If we need to visit the database for every SOLR hit, the response could be slow
Andrea Bollini [5:53 PM]
no we don't need to do s
[5:53]
we only need to return the same json representation for an item
[5:53]
in both case, if retrieved from solr or from the db
Terry Brady [5:53 PM]
A useful thing to note in the contract documentation
Art Lowel [5:54 PM]
If certain fields are missing, because it came from solr, instead of the db that isn’t a big problem
Andrea Bollini [5:54 PM]
exactly, and this is more true if we wrap our object in a new entity
[5:54]
solrresultobject that have a dspaceojbect inside
Terry Brady [5:55 PM]
The metadata population will be interesting to see since it will be readily available from solr.
Andrea Bollini [5:55 PM]
this because the hal specification say that if you embed an object you are not required to return the full object
Terry Brady [5:56 PM]
As we think about projections, some projections could be satisfied by either method of population
Andrea Bollini [5:57 PM]
this is interesting ... and complex
Terry Brady [5:57 PM]
If you find a volunteer for this task, I would be happy to brainstorm methods with the person
[5:57]
It will be good to get some form of solr interaction working
Andrea Bollini [5:58 PM]
we can start drafting the endpoint and the wrapper object in the rest contract
[5:59]
once we have decided the endpoint an initial implementation should be enough fast, I can make it in the 2nd-3rd week of April
Terry Brady [5:59 PM]
Before we close, could we get a resolution on https://github.com/DSpace/DSpace/pull/1680 ... it is not that significant, but I would prefer to see it either merged or closed.
Andrea Bollini [6:00 PM]
I think it is ok to merge
[6:00]
I have only found a little bug to fix
Terry Brady [6:00 PM]
thanks
Andrea Bollini [6:01 PM]
once it is fixed I will merge
Mark Wood [6:01 PM]
Good
Andrea Bollini [6:01 PM]
we hit the end of the meeting
Terry Brady [6:01 PM]
I assume you will add a review comment (or a commit)
Andrea Bollini [6:01 PM]
but I want to highlight that the work on the projection is started
[6:01]
https://github.com/DSpace-Labs/Rest7Contract/blob/master/projections.md
[6:02]
https://github.com/DSpace/DSpace/pull/1688
[6:02]
in the PR we have some good conversation
[6:02]
I like to hear other about which approach we want to try to implement
[6:03]
any other aspects that we want to discuss as part of the meeting (we are over time)? (edited)
[6:05]
ok, we will meet again next week. I will be not present as I will attend the duraspace summit
[6:05]
anyone want to lead the rest api discussion to provide an update?
Terry Brady [6:05 PM]
I can
Andrea Bollini [6:06 PM]
ok, see you all next time
Art Lowel [6:06 PM]
bye
Terry Brady [6:07 PM]
Have a good week
Mark Wood [6:07 PM]
'bye