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://duraspace.zoom.us/my/dspace (Meeting ID: 502 527 3040).

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
    1. Edit Homepage News: https://github.com/DSpace/Rest7Contract/pull/45 (Delayed for next week)
      1. Reporting back on implementation suggestions/ideas.  Do we implement as metadata on the Site object (similar to Community/Collection news sections)?
    2. Concurrency in DSpace 7 (or 8).  What do we want to do when multiple editors are editing the same object?
      1. 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)
        1. Most used way in other REST APIs.  Recommendation by Art and Andrea.
      2. REST PATCH method also defines a "test" operation: https://tools.ietf.org/html/rfc6902#section-4.6 , however we do not yet support it in the REST API  (Similar idea, expect a particular value – if the values doesn't match, get a fail response)
    3. What do we want to call the Spring Boot Webapp (now that all webapps are merged into one, see PR#2265)?
      1. Some examples: "dspace-web-services", "dspace-server" (Tim +1, Paulo +1, ab +1), "dspace-backend", "dspace-web-api"
      2. The name of this webapp will also require changes to configuration names.  For example "dspace.url" would need to be renamed similarly (e.g. "dspace.webservices.url" or similar)
    4. Search as you type capability for discovery.
      1. Already similar feature in the Collection selection in the Submission UI
      2. Suggestion is to have an REST endpoint for this feature.
    5. Workflow & MyDSpace PRs discussion (PR#2312)
    6. Browse by Date / Starts With PR (PR#364 on Angular)
    7. (add a discussion topic)
  • (15 mins) Planning for next week
    • Daylight Savings Time begins in USA on March 10 (Europe begins March 31).  
      • Do we keep this meeting at 15:00UTC or move it to 14:00UTC? Keep at 15UTC until end of March
    • Assigning PRs for Review
    • Next tasks from Development Planning Spreadsheet

Attendees

Current Work

Legend for status icons

(error) = review done (this week), changes were requested.

(tick) = review done, approved.

(warning) = review done, merge conflict or other minor changes requests

Tickets / PRs In Progress

  1. (Angular) Adding Accessibility via Travis CI  https://github.com/DSpace/dspace-angular/pull/356 (work in progress) (Lower priority)
  2. (Angular) MyDSpace UI (work in progress) (Timeline: Should be ready by Feb 28, delayed  5th Marchdelayed  12th March due to sub optimal Search implementation, need to run against the updated MyDSpace REST API PR)
  3. (REST Contract) Edit Homepage news: https://github.com/DSpace/Rest7Contract/pull/45 (Additional input has been included, requires new review from Tim Donohue  & Andrea Bollini (4Science)(error) reviewed blocking concerns) (Lower priority)
  4. (REST) MyDSpace Endpoint (Andrea Bollini (4Science) - EARLY Reviews Needed. Reviewers: Ben BosmanTim Donohue  (everything in place, first review comments answered, ITs provided on the 3rd March ) on the 4Science repo against the 2312 PR https://github.com/4Science/DSpace/pull/65
  5. (REST) Updating Owning Collections: https://github.com/DSpace/DSpace/pull/2283 (Kevin Van de Velde (Atmire)  - changes requested. Implementation doesn't align with contract) (Timeline: Should be ready a week after the entities are merged)
  6. (REST) Item Mapper functionality: https://github.com/DSpace/DSpace/pull/2282  (Kevin Van de Velde (Atmire)  - changes requested. Implementation doesn't align with contract) (Timeline: Should be ready a week after the entities are merged)

PRs Needing Review

  1. (warning) (REST Contract) Group and eperson management: https://github.com/DSpace/Rest7Contract/pull/41 (Waiting on updates from Ben Bosman )
  2. (REST) Metadata PATCH support: https://github.com/DSpace/DSpace/pull/2313 (ensure alignment with merged Contract PR#46) (Paulo Graça - approved, Tim Donohue )
  3. (attenzione) (REST) Workflow Endpoint: https://github.com/DSpace/DSpace/pull/2312 (Tim Donohue , Ben Bosman Re-reviewed and additional feedback added., All change requests implemented - answers provided also for latest feedbacks) 
  4. (REST) EPerson profile PATCH functionality : https://github.com/DSpace/DSpace/pull/2257 (Andrea Bollini (4Science) , Tim Donohue )
  5. (REST) Fix bug where CORS Headers missing when Exception thrown: https://github.com/DSpace/DSpace/pull/2208 (Paulo Graça , Tim Donohue )
  6. (Angular) Submission implementation: https://github.com/DSpace/dspace-angular/pull/279  (Art Lowel (Atmire) , Paulo Graça - reviewed, Tim Donohue  all received suggestion applied, ready to be merged after approval)
  7. (attenzione) (Angular) Browse by date and Starts-With component: https://github.com/DSpace/dspace-angular/pull/364 (Paulo Graça - approved, Tim Donohue - minor changes requested. Behavior questions added to PR)
  8. (Angular) Transfer to .po message format - Initial PR: https://github.com/DSpace/dspace-angular/pull/366 (Paulo Graça , Tim Donohue , Art Lowel (Atmire) )
    1. Even though not all keys are present yet, please provide feedback if this can be merged so we can stop new keys being added to the json format.
  9. (Angular) Context sensitive admin menus (Art Lowel (Atmire) )  https://github.com/DSpace/dspace-angular/pull/367 (Paulo Graça , Tim Donohue )
  10. (Backend) One Webapp Backend - Initial PR: https://github.com/DSpace/DSpace/pull/2265 (Ben Bosman , Mark H. Wood )
  11. (Backend) Upgrading Solr Server for DSpace - Initial PR: https://github.com/DSpace/DSpace/pull/2058 (Terrence W Brady , Kim Shepherd , Art Lowel (Atmire))
    1. Might have an impact on MyDSpace PR (See "In Progress" section)?

PRs Merged this week!

  1. (tick) (REST Contract) Metadata PATCH support: https://github.com/DSpace/Rest7Contract/pull/46
  2. (tick) (REST Contract) Endpoint for EPerson profile PATCH requests: https://github.com/DSpace/Rest7Contract/pull/49
  3. (tick) (REST Contract) Fix examples for metadata-as-map https://github.com/DSpace/Rest7Contract/pull/53 
  4. (tick) (Angular) Administrative Item Edit: https://github.com/DSpace/dspace-angular/pull/362

BLOCKED

  1. (Angular) Move Item Component: https://github.com/DSpace/dspace-angular/pull/335
    1. Blocked by DSpace PR#2283
  2. (Angular) Item-Collection Mapper:  https://github.com/DSpace/dspace-angular/pull/348
    1. Blocked by DSpace PR#2282

Delayed / Needs Discussion

  1. (REST) Scripts & Processes endpoint: https://github.com/DSpace/Rest7Contract/pull/17
  2. Discussion of deletion of EPeople for GDPR compliance (from Pascal)
    1. https://github.com/DSpace/DSpace/pull/2229. NOTE: item.getSubmitter() will return null if EPerson deleted.
  3. (Angular) MyDSpace UI: The actual implementation of the search doesn't use the ‘search’ link to build search query. This does not allow you to use facet with authority value (used in MyDSpace). How to fix?

Priorities for Preview Release

As discussed in previous DSpace 7 meetings, our DSpace 7 Preview release is aimed for end of March, followed by a Beta in May (before OR2019).  The top priorities for the Preview Release are (in this order):

  1. Submission & Workflow UI / backend
  2. Configurable Entities (from DSpace 7 Entities Working Group (2018-19))
  3. Upgrading Solr Server for DSpace (not required for Preview, as there's no user facing features. However, the earlier we feel comfortable merging this effort the better)

Notes

  • Updates to PRs captured above.
  • Discussion Topics
    • Edit Homepage News.  No updates, and lower priority. Delayed for next week
    • Concurrency in DSpace 7 (multiple editors at the same time).  
      • Art gave a brief summary of Etags vs. Patch "test" method.  Summary captured above
      • All agree that ETags seems like the best direction. However, this is low priority right now, and no one has time prior to Preview Release.  Tim will move this to the "Delayed" category so we can pick it back up again later.
    • What do we want to call the Spring Boot Webapp (now that all webapps are merged into one, see PR#2265)?
      • No strong opinions expressed
      • Andrea & Paulo like "dspace-server" webapp.  Tim does too
      • Mark likes "dspace-web-services"
      • Art notes no strong preferences.  "server" is OK, but we need to be clear that this isn't the only thing on the server-side...the Angular UI also has a server-side component (to support Angular Universal / SEO and to serve up the Angular app).
      • Tim offers to put to vote.
      • Others say "server" is fine. Just go with it.
    • Search as you type capability for discovery.
      • Already similar feature in the Collection selection in the Submission UI.  Currently this doesn't us a REST endpoint, but performs searching within Angular (by prefetching everything)
      • Suggestion is to have an REST endpoint for this feature.
      • All agree this is a nice feature for DSpace.  Art said the need for this will also become more evident as we review Lotte's new PR
      • Tim however notes that he'd like to see an implementation estimate for this feature.  Wants to know when to schedule this, and whether we should do it now or later
    • Browse by Date / Starts With PR (PR#364 on Angular)
      • This current implementation is missing the "Now showing..." line that exists in the current UIs, e.g. http://demo.dspace.org/xmlui/browse?rpp=20&etal=-1&sort_by=1&type=title&starts_with=D&order=ASC
      • Tim is concerned about usability.  Without the "Now showing" contextual information, the "starts with" functionality is a bit "jarring" as it doesn't tell you how many Items are in the list (and approximately where you are in the list – e.g. how many pages exist, etc).
      • Art notes this information is missing as it isn't provided by the REST API.  So, this is as good as we can do until the REST API is updated
      • Tim will log a bug ticket about this, and move the PR forward.  It's "good enough" for now, but this seems like a bug we'll hear complaints about from users.
    • Workflow & MyDSpace PRs discussion (PR#2312)
      • Discussion on this topic went in the weeds. It was moved to post-meeting. Below is the summary for the post-meeting discussion:
      • Ben has concerns about storing non-DSpaceObjects in Solr (as Solr Documents). Should this only use WorkspaceItem/WorkflowItem in Solr?  Why do we need to index Steps/Tasks in Solr?
      • Andrea notes that this is needed because some WorkspaceItem/WorkflowItem objects have multiple tasks (i.e. one to many association between Workspace items and number of tasks).  If we don't index Tasks separately, we'll have difficulty telling them apart.  
        • Notes this is similar to how we currently don't index Bitstreams separately in Solr, and we have difficulty (currently) matching search results to a specific bitstream (as each Item in Solr has only one bitstream's content made searchable).  Andrea wants to avoid this same issue immediately.
      • Ben also notes that implementation may not be ideal.  It's odd to have new "types" of objects listed here: https://github.com/4Science/DSpace/blob/DS-3851_workflow_new/dspace-api/src/main/java/org/dspace/core/Constants.java#L61  These new objects are not actual DSpaceObjects, but are almost implied to be so.
      • Ben also had concerns on whether objects are indexed multiple times in Solr.  E.g. Does a task have all info about the Item it relates to?  Does a WorkspaceItem have all info about the Item it relates to?
        • Andrea says Items are not indexed multiple times.
      • Ben asked Andrea for more examples of how this works
      • TODO: Ben Bosmanwill pull down the code & test it more locally.  Wants to see what is indexed in Solr for each object type.
      • TODO: Andrea Bollini (4Science) will create a new PR to REST Contract providing more examples of how to interact with WorkspaceItems & WorkflowItems.  This should help clarify how this all works
  • Next week's meeting
    • We'll keep these meetings at 15UTC until the end of March (when daylight savings time starts for Europe).  Then we'll move them to 14UTC.