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.

Overview

DSpace Developer meetings are a time when Committers and interested Developers can discuss new software features, upcoming releases of DSpace software, and generally plan out the roadmap of DSpace. All meetings are public. We welcome anyone and everyone to attend, speak their opinions or just listen in on the discussions. Please note that we archive all discussions (see Meeting Archives), as a service for those who are unable to attend.

Meeting Schedule 

DSpace Developer meetings take place on the following schedule:

  • Every Thursday (except where noted in agendas) from 14:00-15:00 UTC (10am-11am EDT) in https://lyrasis.zoom.us/my/dspace?pwd=RTk4QUhISnhPRi9YenVrTFJKbDllQT09 (Meeting ID: 502 527 3040). 
  • All meetings are held for 1 hour. 
  • Slack is used for meeting reminders, sharing agendas and day-to-day discussions.
    • #dev:  For ongoing, day-to-day (between meetings) updates / discussions / questions.
    • #angular-ui : For DSpace (Angular) UI updates, discussions and/or questions.
    • #rest-api : For DSpace REST API updates, discussions and/or questions.

Meeting topics often include:

  • Recent updates on upcoming DSpace releases, bug fixes or features
  • Reviewing of recent reported issues/bugs/feature requests
  • Occasionally we vote or make decisions on upcoming DSpace technology plans/roadmap (see Developer Voting Procedures for more info)

If you are unable to attend a meeting, please feel free to add your own notes/comments to the meeting's wiki page.

Developers Meeting on Thurs, Sep 5, 2024

Time/Location

 from 14:00-15:00 UTC

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

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 9.0

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

Early brainstorms at DSpace Release 9.0 Status.  Please feel free to add your own brainstorms or link in tickets that you wish to be considered. 

Goals for 8.1 / 7.6.3

Deadline is TBD for both 8.1 and 7.6.3.  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 8.x.  That said, where possible, we'll try to backport bug fixes (especially significant ones) to 7.6.x.
    • Keep in mind, if a specific bug fix is important to you in 7.6.x, then it is best to create two PRs (one for main and one for "dspace-7_x").  If you are able to provide a backport version of the PR, then we will merge it alongside the "main" branch version.
    • NOTE: In many scenarios, a backport to "dspace-8_x" should be possible to automate using the "port to [branch]" labels & the "Port merged Pull Request" GitHub Action

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

Updates on ongoing discussion topics

  • No updates / news from DSpace governance regarding 9.0 prioritization
  • Likely priorities will be 
    • Easier installation process
    • Code cleanup / maintenance
    • Performance improvements
  • Code Reviews:
    • GitHub now has a Contributors action functionality - if anyone wants to investigate feel free to do so
  • High CPU with SSR: 
    • Tim highlighted that there is a new comment in the discussion on ticket #3110
    • Message Tim in case you find this solution works well and can be helpful; the more feedback, the better
  • Private/Public Rest API:
    • No updates, still in process
  • Simplifying installation process:
    • Progress has been made on #3173 (switching from yarn to npm)
    • For build and run commands in connection with 9.0 development, use npm instead of yarn

Presentation from Art: New library for submission forms

  • Art presented on a possible solution using the formly library (supports bootstrap by default)
  • Advantage: could use this library to easily define a form in JSON (JSON Schema) rather than creating custom forms in HTML
  • Summary of Example Code:
    • Hardcode the link to one submission step
    • Translate that into formly fields
    • One costum component, the rest of the code is from the standard formly library
    • Map fields to formly properties
    • onSubmit: generate patch based on changes in model and translate that in a format that works
  • Art Lowel (Atmire)  will summarize this presentation and put it into an existing ticket: https://github.com/DSpace/dspace-angular/issues/2216
  • Discussion ensued around the question whether we want to use an external library or use improved out-of-the box form features in Angular 18
    • Concern that external libraries might not be as well maintained.  Currently ng-dynamic-forms library has very little maintenance.   Formly seems better at a glance, but also seems to primarily be maintained by one person: https://github.com/ngx-formly/ngx-formly/graphs/contributors
    • Challenge with using Angular 18 is that DSpace needs to be upgraded first to Angular 18.  Or a basic proof of concept outside of DSpace.
    • Need to investigate further what form improvements come with Angular 18 
    • Tim will create a ticket for the migration to Angular 18 to start planning and look into how to make this achievable.  Done: https://github.com/DSpace/dspace-angular/issues/3304

PR Review

  • Discussed and reviewed:
    •  #9659 - Thumbnail with a given page number
      • In favor of direction, but open to improvements; needs testing  
    • #3096 - Change - Metadata field selector, add infinite scroll for data paginated
      • tap() may not be appropriate - Art will summarize this observation in a comment
      • This is an older PR, may need to ask creator to switch this to main, or create alternate PR for main.
      • Question of whether we want to backport this to 7
    • #3105 - Fix for User profile (/profile): only 20 group memberships shown instead of all
      • Briefly looked at this PR.  Code looks reasonable overall, with some minor comments to be added.
      • Needs testing
    • Each of these three still needs testers 









  

Meeting Archives

Historical Notes and Transcripts from all Developers Meetings are available off of the Developer Meeting Archives page.