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 15:00-16: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
- DSpace 7 at OR2020
- Discussion / Prep for 7.0beta2 tasks in DSpace 7 Release Plan spreadsheet
- What are the next steps for REST Authorization? (This is a major dependency for several other tasks scheduled for 7.0beta2)
- Anyone interested/ready to start
- (Other Topics?)
- (15 mins) Planning for next week
- Assigning PRs for Review
Attendees
- Mark H. Wood
- Giuseppe Digilio (4Science)
- Ben Bosman
- Chris Wilper
- Paulo Graça
- Dimitris Pierrakos
- Julius Gruber
- Laura Henze
- Pascal-Nicolas Becker
7.0 Release Goals (tentative)
The final list of tasks to complete are listed in our DSpace 7 Release Plan spreadsheet. This spreadsheet also lists which features are scheduled for each Beta release.
Below are the very rough 7.x Release Goals. Keep in mind, these timelines may shift (backwards or forwards) based on our available developer resources and/or community volunteers.
- 7.0 Beta 1 (goal: Feb 2020) : Security, Performance and Browse updates
- 7.0 Beta 2 (goal: Mar 2020): Authentication / Authorization enhancements/fixes. Administrative Editing. Item Versioning.
- 7.0 Beta 3 (goal: Apr 2020): Account Profiles, Submission/Workflow enhancements, Administrative tools
- 7.0 Beta 4 (goal: May 2020): SEO enhancements, Theming enhancements, Batch processing, Solr-based Statistics, GDPR
- 7.0 Beta 5 (goal: June 2020, if necessary): May be optional, pending results of prior Betas. This beta is an opportunity for general bug fixing & cleanup before the final release. Might include finishing up any unfinished features (e.g. Configurable Entities or OpenAIREv4). Might also include resolving outstanding major bugs, documentation, etc. Scope to be determined in or around April.
- 7.0 Final release: Will be released as soon as all Betas have been completed & any outstanding bugs have been resolved. Perhaps 1-2 months after last Beta.
- 7.1 Release (timeline TBD): Will include all features flagged as "7.1final" in Release Plan spreadsheet which were not completed in time for 7.0
- 7.2 Release (timeline TBD): Will include all features flagged as "7.2final" in Release Plan spreadsheet which were not completed in time for 7.1
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.0beta1 milestone (highest priority)
- Open issues in 7.0beta2 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.0beta1 (highest priority)
- Unassigned tickets scheduled for 7.0beta2 (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) Group and eperson management: https://github.com/DSpace/Rest7Contract/pull/41 (Tim Donohue - feedback provided, Andrea Bollini (4Science) - feedback provided)
- (REST Contract) Versioning https://github.com/DSpace/Rest7Contract/pull/97 (Andrea Bollini (4Science), Tim Donohue)
- (REST Contract - quick win) replace 400 with 422 for missing required or invalid parameters https://github.com/DSpace/Rest7Contract/pull/98 1 APPROVAL(Tim Donohue)
- (REST) DS-4389 improving patch system framework Part 1 https://github.com/DSpace/DSpace/pull/2591 (Andrea Bollini (4Science), Tim Donohue - REREVIEW, Michael Spalti - NEEDS FEEDBACK)
- (REST) Initial Implementation of Resource Policies endpoint: https://github.com/DSpace/DSpace/pull/2604 (Ben Bosman - Bugs found, Tim Donohue - Bugs found, Andrea Bollini (4Science))
- (REST) Projections continued: https://github.com/DSpace/DSpace/pull/2625 (Ben Bosman, Tim Donohue) NEEDS UPDATE
- (NEW) (REST) Workflow step definitions https://github.com/DSpace/DSpace/pull/2646 (NEEDS REVIEWERS)
- (NEW) (REST) Default webui.submit.upload.required https://github.com/DSpace/DSpace/pull/2650 (NEEDS REVIEWERS)
- (NEW) (REST) Scripts & processes: importing and exporting csv's https://github.com/DSpace/DSpace/pull/2648 (NEEDS REVIEWERS)
- (Angular) Projections continued (merge with REST PR #2625): https://github.com/DSpace/dspace-angular/pull/548 1 APPROVAL (Art Lowel (Atmire), Tim Donohue)
- (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) Edit collection - content source tab https://github.com/DSpace/dspace-angular/pull/5061 APPROVAL (Paulo Graça - , Tim Donohue - REREVIEW)
- (Angular) Verify whether file uploads are mandatory https://github.com/DSpace/dspace-angular/pull/552 1 APPROVAL (Giuseppe Digilio (4Science) reviewed and changes requested , Tim Donohue)
- (Angular) Generic uri metadata https://github.com/DSpace/dspace-angular/pull/565 1 APPROVAL (Tim Donohue)
- (Backend) dspace.bat file: https://github.com/DSpace/DSpace/pull/2544 1 APPROVAL (Tim Donohue - Verified on Windows. One minor change needed, Mark H. Wood , Alexander Sulfrian, Chris Wilper , Andrea Bollini (4Science) - verified on linux)
- (Backend) [DS-4239] Migrate the workflow.xml to spring https://github.com/DSpace/DSpace/pull/2420 (Ben Bosman, Tim Donohue)
- (Backend) Java 11 upgrade: https://github.com/DSpace/DSpace/pull/2611 (Tim Donohue is working on an updated PR)
- (Backend) Remove GeoIP download Ant target, reconfigure for external provision: https://github.com/DSpace/DSpace/pull/2632 1 APPROVAL (Chris Wilper , Tim Donohue )
- (Backend) Remove support for multiple ServiceManagers: https://github.com/DSpace/DSpace/pull/2496 ( Tim Donohue , Chris Wilper , Kevin Van de Velde (Atmire) )
- (NEW) (REST) Shibboleth authentication https://github.com/DSpace/DSpace/pull/2651 (Paulo Graça)
- (NEW) (Angular) Shibboleth authentication https://github.com/DSpace/dspace-angular/pull/568 (replace https://github.com/DSpace/dspace-angular/pull/429) (Paulo Graça)
PRs Merged this week!
- (REST) [DS 4287] Refactoring the IndexableObject & SolrServiceImpl https://github.com/DSpace/DSpace/pull/2612
- (Angular) Fix history & bitstreamFormats store selector: https://github.com/DSpace/dspace-angular/pull/563 1 APPROVAL
- (Angular) Fixed configuration-search-page fixedFilterQuery parameter https://github.com/DSpace/dspace-angular/pull/567
- (Angular) Submit this collection https://github.com/DSpace/dspace-angular/pull/566 1 APPROVAL
- (Angular) Header search box https://github.com/DSpace/dspace-angular/pull/559 1 APPROVAL
- (Angular) Display the entity type in MyDSpace https://github.com/DSpace/dspace-angular/pull/564
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
- REST API Projections:
- Work begun in https://github.com/DSpace/DSpace/pull/2547 (by Chris Wilper)
- Based on detail discussions in our Oct 17 meeting.
- (Outdated) 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)
- Work begun in https://github.com/DSpace/DSpace/pull/2547 (by Chris Wilper)
- 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.