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.
Developers Meeting on Thurs, Feb 8, 2024
Time/Location
from 15:00-16:00 UTC
Location: https://lyrasis.zoom.us/my/dspace?pwd=RTk4QUhISnhPRi9YenVrTFJKbDllQT09 (Meeting ID: 502 527 3040). Passcode: dspace
- More connection options available at DSpace Meeting Room
8.0 Release Schedule (UPDATED)
- New Feature Development Deadlines
- Feature PR Creation Deadline: Friday, Jan 19, 2024
- Feature PR Review/Test Deadline: Friday, Feb 9
- Feature PR Merge Deadline (Feature Freeze): Friday, Feb 23
- Major dependency upgrades: February 26 - March 15
- Jakarta EE support for Tomcat 10 and upgrading to Angular 17 (No new features)
- Early Documentation & bug fixes: March 18-22
- 8.0 Release Candidate: Week of March 25-29
- 8.0 Testathon: April 1-12 (two weeks)
- Bug Fix Deadlines
- Bug Fix PR Creation Deadline: Friday, April 26
- Bug Fix PR Merge Deadline: Friday, May 3
- Final Documentation & Release Week: May 6-10
- 8.0 Release Announced: Monday, May 13, 2024
Agenda
- Discussion Topics - If you have a topic you'd like to have added to the agenda, please just add it.
- 8.0 release topics
- Feature Review Deadline is Tomorrow (Friday, February 9)! Please get your initial reviews complete for all feature PRs!
- Any high priority questions or required feedback regarding new features?
- FINAL DECISION : Should we attempt to move the "Content Reports" feature forward as a disabled-by-default, beta feature in 8.0? Or do we delay till 9.0?
- PRs: https://github.com/DSpace/DSpace/pull/8598 and https://github.com/DSpace/dspace-angular/pull/2163
- Strategy towards a "beta" feature:
- A configurable setting must be added so that the Reports feature can be enabled/disabled.
- Warnings must be added for DSpace users that want to enable the reports.
- All unit test errors from both PRs must be resolved. (Please note that, especially for the Angular layer, it may result in temporarily disabling a few failing tests.)
- The merge conflict of the backend PR must be resolved.
- Some feedback may not be addressable. Any non-addressable feedback will be turned into issue tickets.
- Feedback which will be resolved:
- NGRX : https://github.com/DSpace/dspace-angular/pull/2163/files#r1452584973
- Convert POST to GET: https://github.com/DSpace/dspace-angular/pull/2163/files#r1452562348
- CSS/bootstrap : https://github.com/DSpace/dspace-angular/pull/2163/files#r1452587904 and https://github.com/DSpace/dspace-angular/pull/2163/files#r1452569360
- Feedback which will NOT be addressed:
- Performance load issue cause of large page sizes: https://github.com/DSpace/dspace-angular/pull/2163/files#r1452576823 and minor one: https://github.com/DSpace/dspace-angular/pull/2163/files#r1452578972
- Move part of the code to a full-featured DataService: https://github.com/DSpace/dspace-angular/pull/2163/files#r1452562348
- CSV export of reports: https://github.com/DSpace/DSpace/pull/8598#issuecomment-156721566
- Using Solr instead of database for queries: https://github.com/DSpace/DSpace/pull/8598#pullrequestreview-1415912001
- (Other topics?)
- 8.0 release topics
- Board Review & assignments:
- Backlog Board - Are there any tickets here stuck in the "Triage" column? We'd like to keep this column as small as possible.
- 8.0 Project Board - Assign new PRs to volunteers to code review and/or test.
- 7.6.x Project Board - Assign new PRs to volunteers to code review and/or test.
- Upcoming Topics: (Let us know if there are topics you want to discuss in future weeks)
- None at this time
Attendees
- Tim Donohue
- Giuseppe Digilio (4Science)
- Paulo Graça
- Mark H. Wood
- Grazia Quercia (4Science)
- Corrado Lombardi (4Science)
- Julian Timal (eScire)
- Martin Walk
- Melissa Anez
- Oliver Goldschmidt
- Hrafn Malmquist
Current Work
Project Boards
- DSpace 8.0 board: https://github.com/orgs/DSpace/projects/27
- DSpace 7.6.x board: https://github.com/orgs/DSpace/projects/29
To quickly find PRs assigned to you for review, visit https://github.com/pulls/review-requested (This is also available in the GitHub header under "Pull Requests → Review Requests")
Goals for 8.0
This were decided by Steering in their meeting on June 28, 2023.
- Move forward major features which missed 7.x.
- COAR Notify support (4Science & Harvard): https://github.com/DSpace/DSpace/issues/8120
- Development proposal page: Implementation of the COAR Notify protocol in DSpace 8
- OpenAIRE integration with notification broker/claim service (4Science)
- Porting "REST-Based Quality Control Reports" from old REST API to new one. (U of Laval, Canada)
- Duplicate Detection in Submission ported from DSpace-CRIS (The Library Code)
- COAR Notify support (4Science & Harvard): https://github.com/DSpace/DSpace/issues/8120
- Include new features which empower users in the admin UI. Make things easier for Admins.
- Accepting community contributions of any 6.x features which missed 7.x
- Improve documentation, training to allow for greater community contributions. (Ease setup/install/customization, etc.)
- Per DSpace 7 WG meeting on June 29, 2023, this may include dependency upgrades/maintenance (Angular, Spring, Solr, Tomcat, etc). May also include necessary code updates/refactors to ease in ongoing maintenance.
- Release Goal: April 22 2024
- In parallel to 8.0, proof of concepts / planning regarding modularization:
- Angular : library-based architecture proposal (4Science)
- DSpace Preservation-enabled Storage via OCFL (Lyrasis, post-8.0)
Goals for 7.6.2
Deadline is TBD for 7.6.2
- Bug/security fixes only. Release will occur when sufficient fixes have been made to warrant a release.
- New "themeable components" (for dspace-angular) are allowed in bug fix releases, provided that they don't significantly modify component behavior or similar.
- Bug fixes should have one Pull Request
- A PR against either the "dspace-7_x" maintenance branch OR the "main" branch.
- We will automatically generate a PR against the other branch using the "port to [branch]" labels & the "Port merged Pull Request" GitHub Action
- (In the case of complex bug fixes, it is possible this automatic port action will fail. In that situation a manual port PR may need to be created.)
Try "Pull Request Trading" for a quicker review
Do you have a PR stuck in "under review" that you really want to see move forward? Or maybe it's someone else's PR but you want to get it more attention?
See Trading reviews on Pull Requests for how to get immediate attention to that PR!
Notes
- Should we attempt to move the "Content Reports" feature forward as a disabled-by-default, beta feature in 8.0? Or do we delay till 9.0?
- PRs: https://github.com/DSpace/DSpace/pull/8598 and https://github.com/DSpace/dspace-angular/pull/2163
- Strategy towards a "beta" feature:
- A configurable setting must be added so that the Reports feature can be enabled/disabled.
- (NEW) Ideally this would also include disabling the backend REST endpoints if this feature is disabled. This could be optional, but may not be difficult to add.
- An example of this is here: https://github.com/DSpace/DSpace/blob/main/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResearcherProfileRestRepository.java#L49
- That code will disable the Researcher Profile endpoints whenever the configuration "researcher-profile.entity-type" is unspecified or false. See also other examples in the codebase of where @ConditionalOnProperty is used.
- (NEW) Ideally this would also include disabling the backend REST endpoints if this feature is disabled. This could be optional, but may not be difficult to add.
- Warnings must be added for DSpace users that want to enable the reports.
- All unit test errors from both PRs must be resolved. (Please note that, especially for the Angular layer, it may result in temporarily disabling a few failing tests.)
- The merge conflict of the backend PR must be resolved.
- Some feedback may not be addressable. Any non-addressable feedback will be turned into issue tickets.
- Feedback which will be resolved:
- NGRX : https://github.com/DSpace/dspace-angular/pull/2163/files#r1452584973
- Convert POST to GET: https://github.com/DSpace/dspace-angular/pull/2163/files#r1452562348
- (NEW)This move from POST to GET was also requested in the REST Contract feedback. So, it should be applied to the backend as a whole.
- CSS/bootstrap : https://github.com/DSpace/dspace-angular/pull/2163/files#r1452587904 and https://github.com/DSpace/dspace-angular/pull/2163/files#r1452569360
- (NEW) Andrea noted that we need to address the changes to ItemRest made by the backend PR: https://github.com/DSpace/DSpace/pull/8598/files#r1186856115
- These changes should not be added into DSpace as they bypass the usage of embedded content via Projections. The normal way of obtaining the owning Collection via the Item endpoint would be to do something like this:
/server/api/core/items/<:uuid>?embed
=owningCollection That request would return the Item information with owning Collection information embedded.
- These changes should not be added into DSpace as they bypass the usage of embedded content via Projections. The normal way of obtaining the owning Collection via the Item endpoint would be to do something like this:
- Feedback which will NOT be addressed in 8.0:
- Performance load issue cause of large page sizes: https://github.com/DSpace/dspace-angular/pull/2163/files#r1452576823 and minor one: https://github.com/DSpace/dspace-angular/pull/2163/files#r1452578972
- Move part of the code to a full-featured DataService: https://github.com/DSpace/dspace-angular/pull/2163/files#r1452562348
- CSV export of reports: https://github.com/DSpace/DSpace/pull/8598#issuecomment-156721566
- Using Solr instead of database for queries: https://github.com/DSpace/DSpace/pull/8598#pullrequestreview-1415912001
- A configurable setting must be added so that the Reports feature can be enabled/disabled.
- Final VOTE:
- Five +1 votes in favor of adding this to 8.0 as beta feature
- One -1 vote opposed. Prefer adding to 9.0
- One 0 vote.
- Vote passes. This feature can be included in 8.0 as a "beta" feature provided the steps noted above are all resolved/addressed (except where noted that something will not be addressed)