Page tree
Skip to end of metadata
Go to start of metadata

Date

No meeting on Thurs, Nov 28th because of the USA Thanksgiving holiday (28th-29th).

 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. Updates on 7.0 Release Schedule from Leadership & Steering
      1. Working to ramp down DSpace 7 Entities Working Group by Jan 1.  Seems likely that most of the Entities / OpenAIRE work (if not all) will be completed or "in code review" by end of December anyhow.
        1. Andrea Bollini (4Science) noted that this don't seem inline with the direction of a managed schedule of dspace 7 where Entities eventually are in lowest priority for DSpace 7.  He notes that speedup this work in December mean subtract time to other task in higher priority and require other to review work not in the immediate todo list or give up to other. He point out to a coming PR that seems too large to be reviewed properly: https://github.com/DSpace/dspace-angular/pull/531
      2. As of Jan 1, we'll be one working group (this one).  Working Group will start to work more in a "sprint-like" fashion.
      3. Goal is to work together to release a new updated "beta" per month (starting in Feb).  These Betas will be layering on new features each month, until we hit 7.0 Final.  Releases will be simple (like was done for "7.0 Preview") – just cut a tag, and push release via Docker. (I.e. this will NOT be a full Maven release process, as these Betas are simply for early community testing & feedback.)
        1. Tim will post more info on each "Beta" soon (by next week).
      4. Leadership & Steering will be looking to align paid development resources to help with these Beta sprints (to help ensure we have consistent development resources).  That said, volunteer-based development will continue to be welcome, as it will help us move even faster.  More info will be coming.
    2. (Ongoing Topic) High priority REST Authorization efforts (and upcoming PR from Andrea Bollini (4Science) ).  Any questions or concerns needing discussion?
    3. Take decision about CORS headers, Shibboleth and "withCredentials" issue:  DS-4396 - Getting issue details... STATUS
  • (15 mins) Planning for next week

Attendees

Current Work

Legend for status icons

(blue star) = Highest Priority tasks (please prioritize these reviews/tasks over others). These are tasks with lots of dependencies

(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.  

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. (warning) (Angular Bug) https://github.com/DSpace/dspace-angular/issues/368 ( Art Lowel (Atmire) )
  3. (REST Contract) Edit Homepage news: https://github.com/DSpace/Rest7Contract/pull/45 (Ben Bosman  - has outstanding questions/comments) (Lower priority)
  4. (REST) DS-4043: Revisit the security layer of the submission  (work in progress) Andrea Bollini (4Science)
  5. (REST) Pagination bug with withdrawn items: https://github.com/DSpace/DSpace/pull/2406 (Dimitris Pierrakos , Ben Bosman - Feedback provided)
  6. (REST) Update to JDK 11: https://github.com/DSpace/DSpace/pull/2611

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. (MERGED) (blue star) (REST Contract) Contract for authorizations endpoints https://github.com/DSpace/Rest7Contract/pull/92 ( (tick)Ben Bosman, (tick) Paulo Graça, (tick) Tim Donohue)
  3. (REST) REST endpoint for discovering withdrawn and private items. https://github.com/DSpace/DSpace/pull/2580 (Tim Donohue - minor suggestions, Ben Bosman )
  4. (REST) DS-4389 improving patch system framework Part 1 https://github.com/DSpace/DSpace/pull/2591 (Andrea Bollini (4Science)Tim Donohue)
  5. (NEW) (REST) Ds 4317 bundles in rest continued https://github.com/DSpace/DSpace/pull/2600 (Chris WilperTim Donohue)
  6. (NEW) (REST) Initial Implementation of Resource Policies endpoint: https://github.com/DSpace/DSpace/pull/2604 (Ben BosmanTim DonohueAndrea Bollini (4Science))
  7. (NEW) (REST) Small Bitstore fix to work correctly with multiple stores: https://github.com/DSpace/DSpace/pull/2597 1 APPROVAL(Mark H. Wood, Tim Donohue )
  8. (NEW) (REST) [DS 4287] Refactoring the IndexableObject & SolrServiceImpl https://github.com/DSpace/DSpace/pull/2612 (Ben BosmanTim 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) Add community & collection tree https://github.com/DSpace/dspace-angular/pull/505 ((tick)Tim Donohue - code works, but test failures, (tick) Michael Spalti , Paulo Graça )
  11. (Angular) Edit collection - content source tab https://github.com/DSpace/dspace-angular/pull/5061 APPROVAL  (Paulo Graça - issues found, Tim Donohue )
  12. (Angular) Add/Edit Community and Collection Logos https://github.com/DSpace/dspace-angular/pull/512 (Art Lowel (Atmire) - (warning) provided feedback, Tim Donohue  - (warning) tested but ran into bugs)
  13. (NEW) (Angular) [DS-4400] Fix for minor edit metadata bug https://github.com/DSpace/dspace-angular/pull/537 (Tim Donohue(tick), Paulo Graça (tick))
  14. (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) 

PRs Merged this week!

  1. (tick) (REST Contract) Contract for resourcepolicies: https://github.com/DSpace/Rest7Contract/pull/87
  2. (tick) (REST Contract) Workflow step definitions https://github.com/DSpace/Rest7Contract/pull/91
  3. (tick) (REST) Ds 4317 bundles in rest https://github.com/DSpace/DSpace/pull/2548
  4. (tick) (REST) Scripts and processes endpoint https://github.com/DSpace/DSpace/pull/2529
  5. (tick) (REST) Bug in GET collections https://github.com/DSpace/DSpace/pull/2594
  6. (tick) (REST) REST Projections initial PR: https://github.com/DSpace/DSpace/pull/2547
  7. (tick) (REST) CRUD for collection item template https://github.com/DSpace/DSpace/pull/2579
  8. (tick) (Angular) Spanish Translation https://github.com/DSpace/dspace-angular/pull/515
  9. (tick) (Angular) Add support for bundles https://github.com/DSpace/dspace-angular/pull/509
  10. (tick) (Angular) i18n: Placeholder catalogs as a starting point for translators https://github.com/DSpace/dspace-angular/pull/521
  11. (tick) (Angular) Search Sidebar refactor https://github.com/DSpace/dspace-angular/pull/513 1 APPROVAL
  12. (tick) (Angular) Tracking stats from the UI https://github.com/DSpace/dspace-angular/pull/495
  13. (tick) (blue star) (Angular) Refactor Submission Parsers https://github.com/DSpace/dspace-angular/pull/508
  14. (tick) (Angular) Add support for locally hosted fonts: https://github.com/DSpace/dspace-angular/pull/528 1 APPROVAL

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. Can this be achieved via passed HAL "_links" (e.g. the existence of an "edit" link in REST response means you must have Edit rights)?
    2. 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
      1. Also likely to need to store/cache a user's Groups in UI layer, as some areas (e.g. Administrative) require knowledge of user group membership
      2. Andrea Bollini (4Science) has investigated on that and created the following resources/proposals: 
      3. REST Authorization
      4. https://github.com/DSpace/Rest7Contract/pull/87 
      5. https://github.com/4Science/Rest7Contract/pull/1
  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 until after Preview release. 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. 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

  • Discussion of  7.0 Release Schedule from Leadership & Steering
    • As of last Weds (Nov 27), Leadership approved a tentative release schedule.  However, it's based on the assumption of 4FTE developers, and Leadership is now looking to secure funding to ensure we can guarantee development at that effort for the next 6months (roughly speaking that's when 7.0 may be out, but only if we have 4FTEs starting on Jan 1)
      • Leadership & Steering will be looking to align paid development resources to help with these Beta sprints (to help ensure we have consistent development resources).  That said, volunteer-based development will continue to be welcome, as it will help us move even faster.  More info will be coming.
    • Working to ramp down DSpace 7 Entities Working Group by Jan 1.  Seems likely that most of the Entities / OpenAIRE work (if not all) will be completed or "in code review" by end of December anyhow.
      • Andrea Bollini (4Science) noted that this don't seem inline with the direction of a managed schedule of dspace 7 where Entities eventually are in lowest priority for DSpace 7.  He notes that speedup this work in December mean subtract time to other task in higher priority and require other to review work not in the immediate todo list or give up to other. He point out to a coming PR that seems too large to be reviewed properly: https://github.com/DSpace/dspace-angular/pull/531
      • Tim noted that this one PR (#531) is not representative of the normal development process of the Entities WG. Agrees it's a large PR that will take more effort to review.  All other PRs out of Entities WG are much smaller (generally in 1-2K range, as we've previously strived for)
      • Tim noted that this ramp down idea was also mentioned in Leadership Group meeting on Weds.  There were no questions or concerns expressed, so Tim is moving this forward
      • As of Jan 1, the Entities Group will shut down regardless of whether work is completed.  If it's completed, great.  If not, then any still open PRs will need to be addressed at a later time (depending on available volunteers, as all paid developers will be concentrating on higher priority tasks as of Jan 1)
      • Tim also notes that obviously he cannot control exactly where volunteers choose to put their effort. That is why Leadership & Steering is looking for paid developer resources – those developers we can require to work on specific tasks (in order to get paid).  However, there will always be the ability for volunteers to choose other tasks to work on – even if those tasks are lower on the priority list...but, that said, low priority PRs will also be low priority to code review/merge.
    • As of Jan 1, we'll be one working group (this one).  Working Group will start to work more in a "sprint-like" fashion.
    • Goal is to work together to release a new updated "beta" per month (starting in Feb).  These Betas will be layering on new features each month, until we hit 7.0 Final.  Releases will be simple (like was done for "7.0 Preview") – just cut a tag, and push release via Docker. (I.e. this will NOT be a full Maven release process, as these Betas are simply for early community testing & feedback.)
      • Tim will post more info on each "Beta" soon (by next week).  First Beta though will concentrate more on updating our dependencies – getting REST API on latest Java & Spring Boot, getting UI on latest Angular.
  • Discussion of REST Authorization efforts
  • Discussion of Shibboleth CORS Headers and "withCredentials" issue:  DS-4396 - Getting issue details... STATUS
    • Giuseppe summarized the issues on what we need to get Shibboleth working right
    • On Angular side, we need the "withCredentials=true" property to be sent on the Request
    • On REST side, because the "withCredentials" must be set, we must set the following CORS headers:
      • Access-Control-Allow-Origin: [full-url-of-Angular-UI-or-client]
      • Access-Control-Allow-Credentials: true
    • Unfortunately, this means we can no longer set "Access-Control-Allow-Origin: *" (which allows any clients to access the REST API)
    • The recommended approach is discussed in the JIRA ticket
      • Namely, we are looking at ways to handle the "Access-Control-Allow-Origin" header in the REST API, and perhaps configure a white list  of allowed URLs that can contact the REST API.
      • In the meantime, as a quick fix / temporary workaround, there is a way to configure Apache to handle these "Access-Control-Allow-Origin" headers.... 4Science will use this approach for now on the REST API demo site, until we find a way to build this into our REST API directly.
    • Tim notes that approach seems reasonable. No other comments.  Others are encouraged to look at this as well (where time allows) and add feedback to the ticket as needed.