Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

See Trading reviews on Pull Requests for how to get immediate attention to that PR!

Notes

DSpace-DSpace-CRIS Merger Updates

General Status Updates

  • The merger is now official and will begin with DSpace 10, continuing (and finishing) with DSpace 11
  • Announcement & reports from the Technical Planning Group and Strategic Planning Group were posted on the mailing list

  • Public feedback form is available; responses will help create a merger FAQ

  • Participants encouraged to ask questions now or in future meetings

Merger Management Team

  • A draft charge for the new Merger Management Team is under Steering Group review

  • Team will:

    • Assist Tim and Holger in managing merger progress

    • Keep roadmap aligned with release schedules

    • Help identify delays and adjust work as needed

  • Merger will not shift release dates; still targeting May / early June annually

GitHub Label for Merger

  • New GitHub label for merger created, exists in frontend and backend
  • Use to track PRs/issues related to the merger
  • Contributors should add the label where appropriate and notify Tim if something is missing

Technical Topics

Integrating NG Dynamic Forms Library into Codebase

  • Goal: Copy the NG Dynamic Forms library directly into the DSpace codebase to:
    • Allow upgrading NG Bootstrap
    • Gain more control over dependencies
  • The library is outdated/unmaintained; copying preserves license and enables future replacement
  • Replacement of the library will come in later releases (likely 11 or 12)
  • Art added ad reviewer to PR (#4898)
  • Tim emphasized the need for licensing verification

Dependabot / Node / NPM Compability Issue

Issue

Attempted Solutions & Final Fix

  • Tim and Alan Orth experimented with ranges: unsuccessful / unsatisfying results

  • Vincenzo found another project’s solution:

    • Pin the NPM version to 10 in package.json

    • Dependabot obeys that pin and produces correct lock files

Next Steps

  • Tim will merge the PR once the build passes

  • NPM version can be updated later once DSpace fully moves to Node 24

Spring Bean / XML File Configuration

  • Kim voiced concern that some services / beans are configured through XML inside the webapp instead of external config files, making configuration harder

Discussion Summary

  • Mark: Beans placed internally are those meant for developers, not administrators (harder to accidentally alter)

  • Tim: Some beans are required at boot and shouldn't be user-editable; but if specific beans should be configurable, they can be moved

  • Kim: Considering moving configurations to annotations to remove XML entirely

  • Mark: Some XML-defined beans may be unnecessary—Spring could auto-detect them

  • Tim: Encourages reviewing XML files gradually; acknowledges mix of XML + annotations is historical

Action Items

  • Kim may create tickets/PRs where individual XML files should move or convert to annotations

  • Team supports long-term cleanup of Spring configuration

Additional Discussion

  • Giuseppe noted that a PR related to custom URLs also modified validation service XML configuration

  • Kim should review whether this PR interacts with her concerns around configuration placement

Cache-Busting Dynamic Configuration Files & Theme CSS (PR)

Purpose of PR (#3993)

  • Adds hashing/fingerprints to CSS & config files to prevent browser caching after updates
  • Helps administrators & users avoid having to hard-refresh after deployments

Status

  • PR is old (for DSpace 7.x), has merge conflicts

  • Art: Their team uses it in production; works well

  • Art will ask Yura to refresh the PR

  • Tim requests:

    • Updated PR

    • A corresponding PR for main as well (PR currently has label "port to main")

  • Reviewers assigned: 
    • Sasha 
    • Martin
    • Tim (tentative)

Deleted Bitstream Download URLs Returning Wrong HTTP Code (#11611)

  • Deleted bitstreams return 401 Unauthorized instead of 404 Not Found

  • Causes:

    • SEO issues: Google won’t unindex the file properly

    • UI issue: Redirects users to login page instead of showing 404

  • Deleted bitstreams are:

    • Flagged as deleted in DB

    • Unlinked from parent bundle

    • Still returned in queries that fetch all bitstreams

  • Permission check finds the deleted bitstream and treats it as a restricted resource → 401

Discussion

  • Tim: Bitstreams should behave like items—deleted = 404; restricted = 401

  • Art: Need to confirm we’re not exposing existence of restricted content

  • Kim: Suggests testing after cleanup script runs; maybe the state changes from “deleted but present” to fully removed

  • Conclusion:

    • Behavior should mirror item-level deletion

    • Need to update logic so deleted bitstreams bypass authorization checks and return 404

Action

  • Tim will summarize conclusions into the GitHub issue

Removing the "webapp" database table 

  • DSpace command "version" reads from the webapp table

  • Since DSpace 7, the table is no longer used

Discussion

  • Tim: Agrees table should be removed but keep the version command with updated logic

  • Mark: The existing version command never worked reliably

  • Sasha will create a GitHub issue to remove the table and related Java code

Auto-Closing Stale Issues (#11550)

  • Issues: Add stale label after 3 years, close after 7 days

  • PRs: Add stale label after 1 year, close after 14 days

  • Tim seeks reviewers; Nick assigned himself during the meeting

Other topics

  • Briefly looked at and discussed merger-related PR regarding custom URL for items (#11549)
  • Note: No meeting on December 25 and January 1