Contribute to the DSpace Development Fund
The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.
Date
from 14:00-15:00 UTC
Location: https://lyrasis.zoom.us/my/dspace (Meeting ID: 502 527 3040).
- More connection options available at DSpace Meeting Room
Agenda
(15 mins) Developer Stand Up - Developers give brief updates on their effort (or their team's effort).
- Update/see "Current Work" section below based on your status. Please feel free to update prior to meeting.
- Please highlight any new work (needing reviews/testing), any blockers (for you), and any discussion topics you may have.
- (30 mins) General Discussion Topics
- REST API discussion: Reminder to all (self included) which endpoints can support which methods
- Per our Contract README: https://github.com/DSpace/Rest7Contract/blob/master/README.md#use-of-the-http-verbs-and-http-response-code
- Multiple Resource (i.e. Collection) Endpoints (e.g. /items) may support only POST and GET
- Single Resource Endpoints (e.g. /items/:uuid:) may support GET, HEAD, PUT, PATCH and DELETE
- Sub-paths only act on associations between resources (e.g./items/:uuid:/mappedCollections), and only allow GET, PUT, POST, DELETE of those associations.
- We may need to revisit the decisions in these two recent PRs:
- https://github.com/DSpace/Rest7Contract/pull/79 (Community & Collection Logo). Should PUT/DELETE just use /bitstreams/<:logo_uuid>? (as Logos are Bitstreams!)
- https://github.com/DSpace/Rest7Contract/pull/80 (Collection Item Templates). Should PATCH/DELETE just use /items/<:itemtemplate_uuid>? (as Templates are Items!)
- We may need to revisit the decisions in these two recent PRs:
- Revisiting our Code Review processes for PRs
- Up until now, all PRs require two code reviewers
- As we've seen, this provides good feedback, but can cause review/implementation delays if only one reviewer can be identified in a timely fashion
- This issue was brought to Steering Group. Recommendation is to consider allowing for single reviewers for smaller / more obvious PRs, with option of that reviewer asking for an additional reviewer if they find something requiring additional feedback.
- Revisiting REST API Projections: https://jira.duraspace.org/browse/DS-3533
- Reviewing & scoping tasks flagged as "NEEDS MORE INFO" in Development Planning Spreadsheet
- This is necessary to prepare for the next phase of the DSpace 7 Estimation Process
- REST API discussion: Reminder to all (self included) which endpoints can support which methods
- (15 mins) Planning for next week
- Assigning PRs for Review
- Next tasks from Development Planning Spreadsheet
Attendees
- Mark H. Wood
- Giuseppe Digilio (4Science)
- Ben Bosman
- Chris Wilper
- Paulo Graça
- Dimitris Pierrakos
- Julius Gruber
- Laura Henze
Current Work
= Highest Priority tasks (please prioritize these reviews/tasks over others). These are tasks with lots of dependencies
= review done (this week), changes were requested.
= review done, approved.
= review done, merge conflict or other minor changes requests
Tickets / PRs In Progress
- (Angular) Adding Accessibility via Travis CI https://github.com/DSpace/dspace-angular/pull/356 (work in progress) (Lower priority)
- (Angular Bug) https://github.com/DSpace/dspace-angular/issues/368 ( Art Lowel (Atmire) )
- (REST Contract) Edit Homepage news: https://github.com/DSpace/Rest7Contract/pull/45 (Ben Bosman - has outstanding questions/comments) (Lower priority)
- (REST) DS-4043: Revisit the security layer of the submission (work in progress) Andrea Bollini (4Science)
- (REST) Pagination bug with withdrawn items: https://github.com/DSpace/DSpace/pull/2406 (Dimitris Pierrakos , Ben Bosman - Feedback provided)
PRs Needing Review
- (REST Contract) Group and eperson management: https://github.com/DSpace/Rest7Contract/pull/41 (Tim Donohue - feedback provided, Andrea Bollini (4Science) - feedback provided)
- (REST) Issue when community has multiple dc.title values https://github.com/DSpace/DSpace/pull/2486 UPDATED ( Tim Donohue , Andrea Bollini (4Science))
- (REST) Spring security for createAndReturn with parent id https://github.com/DSpace/DSpace/pull/2489 ( Tim Donohue , Chris Wilper )
- (REST) Authority control bugfixes https://github.com/DSpace/DSpace/pull/2528 (Tim Donohue, Giuseppe Digilio (4Science), Andrea Bollini (4Science))
- (REST) (Entities) CSV Import fixes, improvements to entity validation: https://github.com/DSpace/DSpace/pull/2522 (Ben Bosman, Paulo Graça - also created )
- (REST) Scripts and processes endpoint https://github.com/DSpace/DSpace/pull/2529 (Tim Donohue, Dimitris Pierrakos)
- (REST) DS-4337 implement bitstream-bitstreamformat relation endpoints https://github.com/DSpace/DSpace/pull/2503 (Tim Donohue Feedback provided, Ben Bosman)
- (NEW) (REST) DS-4359 add null check to getAllRelationshipTypes https://github.com/DSpace/DSpace/pull/2545
- (NEW) (REST) DS-4360 fix searchevents link https://github.com/DSpace/DSpace/pull/2546
- (Angular) Item-Collection Mapper: https://github.com/DSpace/dspace-angular/pull/348 ( Tim Donohue - REREVIEW, Art Lowel (Atmire))
- (Angular) Shibboleth integration support: https://github.com/DSpace/dspace-angular/pull/429 (Giuseppe Digilio (4Science) reviewed again fixed error with yarn start, Fernando FCT/FCCN, Paulo Graça - feedback provided)
- (Angular) forceBypassCache should be removed from the RequestService: https://github.com/DSpace/dspace-angular/pull/468 (Art Lowel (Atmire), Giuseppe Digilio (4Science) issue found)
- (Angular) Collection pages WIP: https://github.com/DSpace/dspace-angular/pull/472 (Art Lowel (Atmire) - feedback provided, Tim Donohue)
- (Angular) Routing by handle and uuid: https://github.com/DSpace/dspace-angular/pull/490 (Art Lowel (Atmire), Giuseppe Digilio (4Science))
PRs Merged this week!
- (REST) Fixing exception error when using UUID on Harvesting process https://github.com/DSpace/DSpace/pull/2536
- (REST) Oai harvesting setup https://github.com/DSpace/DSpace/pull/2491
Blocked
- (Blocked PRs go here)
Delayed / Needs Discussion
- Managing Authorization info in Angular UI: How to pass Authorization rights (i.e. logged in user's access rights) from REST API to Angular? See for example: https://github.com/DSpace/dspace-angular/issues/393
- Can this be achieved via passed HAL "_links" (e.g. the existence of an "edit" link in REST response means you must have Edit rights)?
- In July 25 meeting, we noted this probably cannot be resolved with just one simple solution. May need to look at different options for different scenarios
- Also likely to need to store/cache a user's Groups in UI layer, as some areas (e.g. Administrative) require knowledge of user group membership
- REST API Projections:
- Early work begun at https://github.com/DSpace/DSpace/pull/1847. Discussed in more detail in our Aug 22 meeting. Overall, this approach seems like a good direction, need volunteers to move it forward.
- https://github.com/DSpace/Rest7Contract/issues/2 (discussion resumed by Andrea Bollini (4Science) could be relevant for the projection)
- Early work begun at https://github.com/DSpace/DSpace/pull/1847. Discussed in more detail in our Aug 22 meeting. Overall, this approach seems like a good direction, need volunteers to move it forward.
- Initial Performance Testing from Chris.
- (REST Contract) Edit Homepage News: https://github.com/DSpace/Rest7Contract/pull/45
- Delayed until after Preview release. General agreement (in meeting on March 21, 2019) that storing HTML in metadata fields is not really ideal behavior. Metadata (from a librarian standpoint) tends to be free of format-related markup (as that allows for easier sharing, understanding of metadata. Currently Community & Collection homepage information is HTML-based and is stored in metadata that is appropriate for a minor subset of information (like the title) but it is better to move large/rich text to bitstreams.
- Proposal here is to consider storing HTML-based markup (for Site, Community & Collection homepages) in Bitstream(s) associated with the object in question. May allow for more CMS-lite behavior in the future
- Timeline for this is uncertain. Possibly in 7 or 8. May depend on how/whether it can be scoped.
- Concurrency in DSpace 7 (or 8). What do we want to do when multiple editors are editing the same object? Needs further analysis regarding implementation details
- We've decided (in meeting on March 7, 2019) to use ETags to implement concurrency. REST Contract notes on ETags: https://github.com/DSpace/Rest7Contract#etags--conditional-headers
- ETags only update of the two fields match. If someone edits first, your edit would fail and you would get a fail response (422?)
- ETags seems to have broader support in other REST APIs. Recommended also by both Art and Andrea.