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, October 23, 2025

Time/Location

 from 14:00-15:00 UTC

Location: https://lyrasis.zoom.us/my/dspace?pwd=RTk4QUhISnhPRi9YenVrTFJKbDllQT09 (Meeting ID: 502 527 3040).  Passcode: dspace

Daylight Saving Time Ending soon (for many)

Daylight Saving Time is ending soon throughout the world:

  • Europe: DST ends on Oct 26
  • North America: DST ends on Nov 2

Upcoming DSpace Developer Meeting Times:

  • Oct 23 (today) at 14:00UTC (current time)
  • Oct 30 at 15:00UTC  (For anyone still in DST, e.g. North America, this will be one hour later)
  • Nov 6 remains at 15:00UTC (Back to the same local time for everyone who observes DST). Meeting will continue at 15:00UTC until DST starts in 2026

10.0 Release Schedule (TENTATIVE - Not Finalized)

  • New Feature Development Deadlines
    • Feature PR Creation Deadline: Friday, February 20, 2026
    • Feature PR Review/Test Deadline: Friday, March 13
    • Feature PR Merge Deadline: Friday, March 27
  • 10.0 Release Candidate:  Friday, April 3
  • 10.0 Testathon: April 6-17 (two weeks)
  • 10.0 Translation updates: April 6-17 (during Testathon)
  • Bug Fix Deadlines
    • Bug Fix PR Creation Deadline: Friday, May 1
    • Bug Fix PR Merge Deadline: Friday, May 15
  • Documentation & Release Week: May 18-22 
  • 10.0 Release Announced: Tuesday, May 26, 2026

Agenda

Attendees

Current Work

Project Boards

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 10.0

To be decided by DSpace Steering Group with feedback from Leadership Group

Priorities listed at DSpace Release 10.0 Status

Goals for 9.2 / 8.3 / 7.6.5

Deadline is TBD for 9.2, 8.3 and7.6.5.  Bug fix releases do not have fixed/scheduled deadlines. Instead, the developer team will determine when to create a release based on the significance of the issues to solve. (e.g. If major issues are fixed, then a bug fix release will occur more rapidly.  If minor issues are found, then a bug fix release may be delayed until sufficient fixes have been made to warrant a release)

  • Bug/security fixes only.  These minor releases will not include any new features.
    • New "themeable components" (for dspace-angular) are allowed in bug fix releases, provided that they don't significantly modify component behavior or similar.
    • Accessibility fixes are also allowed in bug fix releases, provided they don't significantly modify component behavior or similar.
  • Bug fix PRs should be created against "main" branch where possible. The "main" branch has the most strict code style rules. (i.e. PRs created against dspace-7_x  are becoming more difficult to port forward.)
  • Per our support policy, bug fixes are only guaranteed to be ported back to 9.x.  That said, where possible, we'll try to backport bug fixes (especially significant ones) to 8. x and 7.6.x.

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

1. Housekeeping and Updates

  • Daylight Savings Reminder:

    • Next week’s meeting will be at 15:00 UTC, which means a temporary shift by one hour for North American participants.

    • Europe remains unchanged.

    • Meeting will settle at 15:00 UTC going forward until next year.

    • Tim will post reminders in Slack and agenda notes.

  • Merger Discussions:

    • Strategic and technical groups are finalizing initial reports for Steering.

    • Expectation: potential decision within a month.

    • Steering and Leadership will review feedback and either return questions or move toward decision-making.

2. Main Topic — Modularization Work (NX vs Angular Workspaces)

A. Art Lowel’s Presentation

  • Demonstrated: Angular CLI workspace-based prototype.

  • Created a customization library using standard Angular CLI commands (ng generate library).

  • Custom components (e.g., featured items component) added as proof of concept.

  • Integration tested with the main DSpace Angular app.

Key Points from Art’s Demo:

  • Each library is generated quickly (1–2 minutes setup).

  • Libraries can be built together or separately, but currently configured to build together for convenience.

  • Suggests moving main app code into libraries to respect boundaries and improve modularization.

  • Noted issue: components in main app still require relative imports rather than library imports.

  • Recommends separating tests and scripts into dedicated libraries.

B. Comparative Discussion: Angular Workspaces vs NX

AspectAngular CLI WorkspacesNX
Setup ComplexitySimple, no new dependencyAdds major new dependency
Build SpeedSlower (no caching)Faster (supports caching, modular build)
ToolingBasic Angular toolsExtra tools: dependency graphs, strict boundaries
Development ConvenienceStraightforward; minimal learning curveEnforces strict rules; higher learning curve
MaintenanceEasier; no added layerPotentially slower upgrades
Opinionated DecisionsFlexibleEnforces “best practices” automatically
MigrationCould migrate to NX later, but initial attempt failed due to custom WebpackProvides ready migration structure


C. Technical Issues Identified

  • Custom Webpack build is deprecated.
    → Consensus to migrate to ESBuild (used by Angular and NX).

  • Test structures should be split from modules.

  • Scripts folder violates module boundaries → needs conversion into its own library.

  • Automated index file generation (using Barrelsby or similar) required; currently manual.

3. Opinions and Leanings

Art Lowel:

  • Slightly prefers Angular workspaces (simpler, no extra dependency).

  • Open to NX if consensus supports it.

  • Emphasizes removing Webpack and modularizing either way.

Giuseppe Digilio (4Science):

  • Prefers NX due to tooling and caching advantages.

  • Main priority: agreement on moving to library-based architecture, regardless of framework.

  • Later clarified preference to modularize gradually, not by moving everything into one library.

Kim Shepherd:

  • Asked whether NX’s opinionated design could restrict flexibility or improve consistency.

  • Concerned about potential over-restriction for custom development.

Sasha and Martin:

  • Both opposed adding NX — adds tooling complexity to already heavy frontend stack.

Tim Donohue:

  • Neutral, leans toward simplicity.

  • Concerned about increasing complexity for new developers.

  • Wants both prototypes (NX and workspaces) available for direct comparison before deciding.

4. Decisions and Agreements

Agreed:

  1. Move DSpace frontend toward a modular, library-based structure.

  2. Proceed to merge current PR (library-based refactoring: core, config, utils) after resolving conflicts.

  3. Create tickets to:

    • Replace custom Webpack with ESBuild.

    • Refactor scripts into a library.

    • Move app-level code into libraries (future step).

  4. Draft PR of Art’s workspace prototype will be shared for side-by-side comparison with NX PR.

    1. Art shared link to PR at the end of the meeting: https://github.com/DSpace/dspace-angular/pull/4783

⚙️ Pending Decisions:

  • Whether to adopt NX or stick with Angular CLI workspaces.

  • How to handle app directory structure (single app module vs multiple smaller libraries).

5. Next Steps / Action Items

TaskOwnerDue / Notes
Update and merge current modularization PR (core/config/utils)Giuseppe / ArtHigh priority
Draft PR for workspace prototype (for comparison)ArtShared already at https://github.com/DSpace/dspace-angular/pull/4783
Create ticket to replace custom Webpack with ESBuildArtFor DSpace 10
Create tickets to refactor scripts + app directoryArtPlanned for DSpace 10
Review both NX and Workspace prototypesTim, Giuseppe, CommittersBefore next meeting
Decide on approach (NX vs Workspaces)Team consensusNext few weeks
Communicate final time change for meetingsTimSlack + agenda

6. Summary

  • All agree on moving away from monolithic Angular frontend toward modular structure.

  • Core debate remains NX vs Angular CLI workspaces.

  • Workstreams are now clearly defined:

    • Merge existing PR

    • Replace Webpack

    • Prototype comparison

    • Decide final architecture for DSpace 10