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
Planning Sprint : April 20-April 24
- Catch up on planning / discussion
- Review DSpace 7 Release Plan spreadsheet for beta3 and beta4 task
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.
- (25 mins) General Discussion Topics
- Live Import Feature & "Metadata Suggetions" per https://github.com/DSpace/DSpace/pull/2712
- Live Import was definitely in DSpace 6.x: 2016 Framework for live import from external sources
- However, "Metadata Suggestions" seems like a new feature of Live Import? If this is accurate, we should track it separately so that it can have estimates & scheduling specific to it.
- (Requires more analysis / brainstorming) (REST) (beta 3) Subresources should obey access restrictions https://github.com/DSpace/DSpace/pull/2726
- As noted last week, currently in the REST API, we do not fully support Community or Collection Admins adding/managing Community/Collection Groups
- Related to brainstorm REST Contract PR and this
- Currently, Community/Collection Admins do not have permissions to search/view all EPeople or Groups, nor can they view current members of the Group. These are all limited to full Administrators at this time.
- As discussed on April 16, the ideal solution would be to not change the REST API, but instead allow all Community/Collection Admins to have search/view permissions on all EPeople or Groups. However, this would require a way to easily determine if a user was a Community/Collection Admin in a manner that does not cause performance problems. For example, we would not want to have to load every Group or every Community/Collection to determine if the current user could manage/administer them. Instead, we'd want to see if there's a database level query that can answer the question: "Does the current user have Admin-level rights on one or more Communities or Collections?"
- Finalize / approve the initial list of all authorization features which we should implement for the /api/authz/features REST endpoint. This list of features should be limited to only features which are required to enable/disable User Interface functionality. (In other words, we can always add more features in the future. We just need to approve the list necessary for 7.0)
- Review current spreadsheet (from Andrea Bollini (4Science) ) : https://docs.google.com/spreadsheets/d/1182LcD_WqIZRbUGWpLtBw0aOMR9jhbOVB7GZqtTpR9A/edit?usp=sharing
- (Feel free to add other topics)
- Live Import Feature & "Metadata Suggetions" per https://github.com/DSpace/DSpace/pull/2712
- (20 mins) Planning for next week
- Claim tasks for next week from DSpace 7 Release Plan spreadsheet
- Assigning PRs for Review
Attendees
7.0 Release Goals
These resources define the prioritization and general schedule we are working towards
- DSpace 7 Release Goals : overview of goals/timelines & beta release process
- DSpace 7 Release Plan spreadsheet: our planning spreadsheet which details which features are scheduled for each Beta release.
Current Work
= Highest Priority tasks (please prioritize these reviews/tasks over others).
= review done, changes were requested or bugs found.
= review done, approved.
= review done, merge conflict or other minor changes requests
1 APPROVAL = pull request only requires a single approval to merge. This is generally reserved for PRs which are either smaller, obvious, and/or bug fixes with tests to prove they work.
Claim a Ticket!
If you do not have access in JIRA or GitHub to officially claim the ticket you wish to work on, contact Tim Donohue
- Available Angular UI Tickets
- Open issues in 7.0beta2 milestone (highest priority)
- Open issues in 7.0beta3 milestone (second highest priority)
- Open issues flagged as "Difficulty: low". These may be a good starting point for newer developers.
- Available REST API Tickets
- Unassigned tickets scheduled for 7.0beta2 (highest priority)
- Unassigned tickets scheduled for 7.0beta3 (second highest priority)
- General REST API tickets flagged as "low hanging fruit". These may be a good starting point for newer developers.
- General REST API unassigned bug tickets. Again, might be a good starting point for newer developers.
PRs Needing Review
- (REST Contract) related to the scripts & processes PR above (related to PR 2648 below) https://github.com/DSpace/Rest7Contract/pull/99 (NEEDS UPDATES FROM KEVIN) (Andrea Bollini (4Science) - REVIEWED, Tim Donohue )
- (REST Contract) Remove unnecessary exception in license PATCH https://github.com/DSpace/Rest7Contract/pull/118 (NEEDS REREVIEW FROM BEN) ( Andrea Bollini (4Science), Tim Donohue)
- (REST Contract) Configuration property retrieval https://github.com/DSpace/Rest7Contract/pull/119 (Tim Donohue - REREVIEW, Andrea Bollini (4Science) )
- (REST Contract) Language support on the backend (possible new cookie for Angular?) https://github.com/DSpace/Rest7Contract/pull/122 (Tim Donohue, Ben Bosman, Art Lowel (Atmire) )
- (REST) (beta4) Scripts & processes: importing and exporting csv's https://github.com/DSpace/DSpace/pull/2648 (WAITING ON PR UPDATES FROM KEVIN) (Andrea Bollini (4Science) - REVIEWED, Tim Donohue - added summary of way forward Mark H. Wood )
- (REST) (tentative 7.1) [DS-4281]: Metadata suggestions in the live import https://github.com/DSpace/DSpace/pull/2712 (NEEDS TICKET??) (Tim Donohue - I believe this is a new feature? We should add this to the spreadsheet, Andrea Bollini (4Science), agree with Tim it is a new feature so postpone compared to existing features)
- (REST) (beta 3) Subresources should obey access restrictions https://github.com/DSpace/DSpace/pull/2726 (Tim Donohue -New feedback added, Andrea Bollini (4Science) implementation approach need discussion)
- (REST) (beta 3) Administer Workflow (Abort WorkflowItem, Delete WorkflowItem) https://github.com/DSpace/DSpace/pull/2727 (Ben's team is checking out if this can be changed per Andrea's suggestions) (Tim Donohue - feedback added, approach seems fine though, Andrea Bollini (4Science) implementation approach need discussion)
- (REST) Configurable whitelist for "Access-Control-Allow-Origin" header: https://github.com/DSpace/DSpace/pull/2735 (Ben Bosman , Giuseppe Digilio (4Science))
- (REST) (beta 3) Account profile management https://github.com/DSpace/DSpace/pull/2747 (Tim Donohue, Andrea Bollini (4Science))
- (REST) Assume login feature https://github.com/DSpace/DSpace/pull/2740 (Ben Bosman, Tim Donohue - Feedback added, Andrea Bollini (4Science) - Feedback added)
- (REST) (beta 3) Controlled vocabulary Mykhaylo Boychuk https://github.com/DSpace/DSpace/pull/2743 (REST Contract #120) (Tim Donohue, NEEDS SECOND REVIEWER)
- (Angular) (beta 3) Edit resource policies https://github.com/DSpace/dspace-angular/pull/645 (Tim Donohue, Art Lowel (Atmire) , Julian Timal (eScire) )
- (Angular) (beta 3) Administer Workflow https://github.com/DSpace/dspace-angular/pull/650 (Tim Donohue, Julian Timal (eScire))
- Depends on REST PR #2727 (see above). NEEDS FEEDBACK ON #2727
- (Angular) (beta3) Scripts & Processes Admin UI https://github.com/DSpace/dspace-angular/pull/636 (Tim Donohue, Giuseppe Digilio (4Science), Craig Rosenbeck)
- Depends on REST PR #2648
- (Angular) (EARLY beta3) Switch to Angular CLI https://github.com/DSpace/dspace-angular/pull/625 (Tim Donohue, Giuseppe Digilio (4Science))
- ((Angular) Alternative links https://github.com/DSpace/dspace-angular/pull/652 (Giuseppe Digilio (4Science), Tim Donohue)
- (Angular) Login as EPerson https://github.com/DSpace/dspace-angular/issues/653 (Tim Donohue , Giuseppe Digilio (4Science) ,Julian Timal (eScire))
- NEW TICKET FROM ART TO DESCRIBE CACHING OF HTML ISSUES
- DEPENDS ON REST PR #2740
- (Backend) DS-626 : Exchange usage data with IRUS https://github.com/DSpace/DSpace/pull/2664 (Craig Rosenbeck, NEEDS SECOND REVIEWER)
- (Backend) (tentative 7.2) DS-4440 GDPR - Anonymize Statistics Feature: https://github.com/DSpace/DSpace/pull/2692 (Andrea Bollini (4Science), Ben Bosman, Tim Donohue)
- (Backend / Security) (EARLY beta3) Upgrade Spring Boot, Spring & Spring HATEOAS: https://github.com/DSpace/DSpace/pull/2720 (Andrea Bollini (4Science) - REVIEW BY APRIL 23, Craig Rosenbeck)
PRs Coming Soon
- (beta 3) REST Language Support on the backend Mykhaylo Boychuk ETA 17 or 20 April
PRs Merged this week!
- (REST) (beta 2) Edit Community/Collection - Assign Roles/Groups https://github.com/DSpace/DSpace/pull/2722
- (Angular) (beta2) Edit Community - Assign Roles/Groups https://github.com/DSpace/dspace-angular/pull/632
- (Angular) (beta2) Edit Collection - Assign Roles/Groups https://github.com/DSpace/dspace-angular/pull/643
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
- 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
- Work is ongoing, but has been started in these areas:
- Summary of ideas: REST Authorization
- Contract for Authorization Endpoints: https://github.com/DSpace/Rest7Contract/pull/92
- Contract for ResourcePolicies: https://github.com/DSpace/Rest7Contract/pull/87
- Initial Performance Testing from Chris.
- (REST Contract) Edit Homepage News: https://github.com/DSpace/Rest7Contract/pull/45
- Delayed. 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.
- (Angular Bug) https://github.com/DSpace/dspace-angular/issues/368 ( Art Lowel (Atmire) )
- 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.