2020-01-16 DSpace 7 Working Group Meeting

Date

 from 15:00-16:00 UTC

Location: https://lyrasis.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. Open Repositories 2020 Proposals due on Tues, Jan 21
      1. Who will be attending from this team?  Who is submitting a Proposal already?
      2. Possible OR2020 Proposals
        1. Workshop: Getting Started with / Upgrading to DSpace 7.0
        2. Series of DSpace 7.0 talks (similar to OR2019)?
          1. DSpace 7 overview
          2. Configurable Entities
          3. Submission & Workflow
          4. REST API
          5. Angular UI
    2. Discussion / Prep for 7.0beta2 tasks in DSpace 7 Release Plan spreadsheet
      1. What are the next steps for REST Authorization? (This is a major dependency for several other tasks scheduled for 7.0beta2)
      2. Anyone interested/ready to start  DS-4413 - Getting issue details... STATUS
    3. (Other Topics?)
  • (15 mins) Planning for next week
    • Assigning PRs for Review

Attendees

7.0 Release Goals (tentative)

The final list of tasks to complete are listed in our DSpace 7 Release Plan spreadsheet.  This spreadsheet also lists which features are scheduled for each Beta release.

Below are the very rough 7.x Release Goals. Keep in mind, these timelines may shift (backwards or forwards) based on our available developer resources and/or community volunteers.

  • 7.0 Beta 1 (goal: Feb 2020) : Security, Performance and Browse updates
  • 7.0 Beta 2 (goal: Mar 2020): Authentication / Authorization enhancements/fixes. Administrative Editing. Item Versioning.
  • 7.0 Beta 3 (goal: Apr 2020): Account Profiles, Submission/Workflow enhancements, Administrative tools
  • 7.0 Beta 4 (goal: May 2020): SEO enhancements, Theming enhancements, Batch processing, Solr-based Statistics, GDPR
  • 7.0 Beta 5 (goal: June 2020, if necessary): May be optional, pending results of prior Betas. This beta is an opportunity for general bug fixing & cleanup before the final release. Might include finishing up any unfinished features (e.g. Configurable Entities or OpenAIREv4). Might also include resolving outstanding major bugs, documentation, etc. Scope to be determined in or around April.
  • 7.0 Final release: Will be released as soon as all Betas have been completed & any outstanding bugs have been resolved.  Perhaps 1-2 months after last Beta.
  • 7.1 Release (timeline TBD): Will include all features flagged as "7.1final" in Release Plan spreadsheet which were not completed in time for 7.0
  • 7.2 Release (timeline TBD): Will include all features flagged as "7.2final" in Release Plan spreadsheet which were not completed in time for 7.1 


Current Work

Legend for status icons

(blue star) = Highest Priority tasks (please prioritize these reviews/tasks over others).

(error) = review done, changes were requested or bugs found.

(tick) = review done, approved.

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

1 APPROVAL = pull request only requires a single approval to merge.  This is generally reserved for PRs which are either smaller, obvious, and/or bug fixes with tests to prove they work.  

Claim a Ticket!

If you do not have access in JIRA or GitHub to officially claim the ticket you wish to work on, contact Tim Donohue

PRs Needing Review

  1. (REST Contract) Group and eperson management: https://github.com/DSpace/Rest7Contract/pull/41 (Tim Donohue - feedback provided,  Andrea Bollini (4Science) - (warning) feedback provided)
  2. (NEW) (REST Contract) Versioning https://github.com/DSpace/Rest7Contract/pull/97 (Andrea Bollini (4Science)Tim Donohue)
  3. (NEW) (REST Contract - quick win) replace 400 with 422 for missing required or invalid parameters https://github.com/DSpace/Rest7Contract/pull/98  1 APPROVAL(Tim Donohue)
  4. (REST) DS-4389 improving patch system framework Part 1 https://github.com/DSpace/DSpace/pull/2591 (Andrea Bollini (4Science)Tim Donohue - REREVIEW, Michael Spalti - NEEDS FEEDBACK)
  5. (REST) Initial Implementation of Resource Policies endpoint: https://github.com/DSpace/DSpace/pull/2604 (Ben Bosman - Bugs found, Tim Donohue - Bugs found,  (tick) Andrea Bollini (4Science))
  6. (REST) [DS 4287] Refactoring the IndexableObject & SolrServiceImpl https://github.com/DSpace/DSpace/pull/2612 ((tick)Ben BosmanTim Donohue - noted Solr Schema updates are needed)
  7.  (blue star) (REST) Projections continued: https://github.com/DSpace/DSpace/pull/2625 (Ben BosmanTim Donohue)
  8.  (blue star) (Angular) Projections continued (merge with REST PR #2625): https://github.com/DSpace/dspace-angular/pull/548 1 APPROVAL (Art Lowel (Atmire)Tim Donohue)
  9. (Angular) Shibboleth integration support: https://github.com/DSpace/dspace-angular/pull/429  (Giuseppe Digilio (4Science) reviewed again fixed error with yarn start, Fernando FCT/FCCN, Paulo Graça - feedback provided)
  10. (Angular) Edit collection - content source tab https://github.com/DSpace/dspace-angular/pull/5061 APPROVAL  (Paulo Graça - REREVIEW, Tim Donohue - REREVIEW)
  11. (NEW) (Angular) Header search box https://github.com/DSpace/dspace-angular/pull/559 1 APPROVAL (Ben BosmanTim Donohue)
  12. (NEW) (Angular) Verify whether file uploads are mandatory https://github.com/DSpace/dspace-angular/pull/552 1 APPROVAL (Giuseppe Digilio (4Science)Tim Donohue)
  13. (NEW) (Angular) Display the entity type in MyDSpace https://github.com/DSpace/dspace-angular/pull/564  1 APPROVAL (Giuseppe Digilio (4Science)Tim Donohue)
  14. (NEW) (Angular) Generic uri metadata https://github.com/DSpace/dspace-angular/pull/565 1 APPROVAL (Tim Donohue)
  15. (NEW) (Angular) Submit this collection https://github.com/DSpace/dspace-angular/pull/566 1 APPROVAL (Tim DonohueArt Lowel (Atmire))
  16. (NEW) (Angular) Fix history & bitstreamFormats store selector: https://github.com/DSpace/dspace-angular/pull/563 1 APPROVAL(Art Lowel (Atmire), Tim Donohue )
  17. (Backend) dspace.bat file: https://github.com/DSpace/DSpace/pull/2544 1 APPROVAL (Tim Donohue - (tick) Verified on Windows. One minor change needed,  Mark H. Wood  , Alexander Sulfrian, Chris Wilper , Andrea Bollini (4Science) - (tick) verified on linux) 
  18. (Backend) [DS-4239] Migrate the workflow.xml to spring https://github.com/DSpace/DSpace/pull/2420 (Ben BosmanTim Donohue)
  19. (NEEDS HELP) (blue star) (Backend) Java 11 upgrade: https://github.com/DSpace/DSpace/pull/2611 (Tim Donohue is working on an updated PR)
  20. (NEW) (Backend) Remove GeoIP download Ant target, reconfigure for external provision: https://github.com/DSpace/DSpace/pull/2632 1 APPROVAL (Chris Wilper , Tim Donohue )
  21. (NEW) (Backend) Remove support for multiple ServiceManagers: https://github.com/DSpace/DSpace/pull/2496 ((tick) Tim Donohue , Chris Wilper , Kevin Van de Velde (Atmire) )

PRs Merged this week!

  1. (tick) (REST Contract) Workflow actions (update) 1 APPROVALhttps://github.com/DSpace/Rest7Contract/pull/96   
  2. (tick) (blue star) (Angular) Upgrade to angular 7 https://github.com/DSpace/dspace-angular/pull/547
  3. (tick) (Backend) Minor dependency updates to resolve GitHub security alerts 1 APPROVAL https://github.com/DSpace/DSpace/pull/2637
  4. (tick) (REST) Bug in ViewEvents1 APPROVAL https://github.com/DSpace/DSpace/pull/2638  
  5. (tick) (Angular) Pagination of SubCommunities/Collections on Community page 1 APPROVAL : https://github.com/DSpace/dspace-angular/pull/551

Blocked

  1. (Blocked PRs go here)

Delayed / Needs Discussion

  1. Managing Authorization info in Angular UIHow to pass Authorization rights (i.e. logged in user's access rights) from REST API to Angular?  See for example: https://github.com/DSpace/dspace-angular/issues/393
    1. In July 25 meeting, we noted this probably cannot be resolved with just one simple solution. May need to look at different options for different scenarios
    2. Work is ongoing, but has been started in these areas:
      1. Summary of ideas: REST Authorization 
      2. Contract for Authorization Endpoints: https://github.com/DSpace/Rest7Contract/pull/92
      3. Contract for ResourcePolicies: https://github.com/DSpace/Rest7Contract/pull/87
  2. REST API Projections:  DS-3533 - Getting issue details... STATUS
    1. Work begun in https://github.com/DSpace/DSpace/pull/2547 (by Chris Wilper)
      1. Based on detail discussions in our Oct 17 meeting
    2. (Outdated) Early work begun at https://github.com/DSpace/DSpace/pull/1847.  Discussed in more detail in our Aug 22 meeting.  Overall, this approach seems like a good direction, need volunteers to move it forward.
    3. https://github.com/DSpace/Rest7Contract/issues/2 (discussion resumed by Andrea Bollini (4Science) could be relevant for the projection)
  3. Initial Performance Testing from Chris.
    1. https://cwilper.github.io/dspace-perftest/
  4. (REST Contract) Edit Homepage News: https://github.com/DSpace/Rest7Contract/pull/45
    1. Delayed. General agreement (in meeting on March 21, 2019) that storing HTML in metadata fields is not really ideal behavior.  Metadata (from a librarian standpoint) tends to be free of format-related markup (as that allows for easier sharing, understanding of metadata.  Currently Community & Collection homepage information is HTML-based and is stored in metadata that is appropriate for a minor subset of information (like the title) but it is better to move large/rich text to bitstreams.  
    2. Proposal here is to consider storing HTML-based markup (for Site, Community & Collection homepages) in Bitstream(s) associated with the object in question.  May allow for more CMS-lite behavior in the future
    3. Timeline for this is uncertain.  Possibly in 7 or 8. May depend on how/whether it can be scoped.
  5. (warning) (Angular Bug) https://github.com/DSpace/dspace-angular/issues/368 ( Art Lowel (Atmire) )
  6. Concurrency in DSpace 7 (or 8).  What do we want to do when multiple editors are editing the same object?  Needs further analysis regarding implementation details
    1. We've decided (in meeting on March 7, 2019) to use ETags to implement concurrency. REST Contract notes on ETags: https://github.com/DSpace/Rest7Contract#etags--conditional-headers
    2. ETags only update of the two fields match. If someone edits first, your edit would fail and you would get a fail response (422?)
    3. ETags seems to have broader support in other REST APIs.  Recommended also by both Art and Andrea.

Notes