Versions Compared

Key

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

...

  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. REST API Projections: 
    Jira
    serverDuraSpace JIRA
    serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5
    keyDS-3533
    1. 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.
      1. 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

  • Changing the collection in the submission doesn't change the item template (Revisiting this topic from last week)
    • Problem 1: Item Templates are only applied when submission is begun, and currently submissions always begin with the default Collection. 
      • Might be solved by asking the user to select the collection first.  However, we'd want to find a clean solution for when a submission is begun via dragging & dropping a file – do they select a collection next to the drag & drop area? Or maybe some sort of "select a collection" prompt after dragging & dropping
    • Problem 2: If you've filled out metadata, and then switch collections, it's possible to lose some metadata you entered (if those fields do not exist in the new Collection's submission forms).  Users are not notified or warned when metadata is lost.
      • Option discussed last week was at least providing a warning to the user that certain fields may be removed
      • Andrea notes another approach could be to move any "to be removed" metadata fields to a new submission panel (called "trash" or "to be removed"). The user then can visually see which fields are no longer applicable, and can then choose to move that info to a new field, or let it be deleted.
      • This new panel approach has not yet been estimated though.  Andrea will describe in more detail and give a rough estimate of what this might look like.   Who would implement is unclear as well (not a high priority for 4Science at this time)
      • Andrea notes that we could also reapply the Item Template after selecting a different collection.  So, some process could be built to merge in the Item Template of the new Collection.  This also needs better defining though & a rough estimate
    • Loosely related performance issue (with loading all Collections into submission form): https://github.com/DSpace/dspace-angular/issues/487
      • This performance issue may not be impacted by REST API Projections.  It's an issue because there's no single endpoint to grab the list of Collections you have access too.  Instead, the UI has to grab Communities, and then query each Community for Collections you have access too – this results in a large amount of effort in the UI, and also a large number of requests to the REST API.
    • Another Option:  We also have the options of choosing to remove the ability to change Collections in the Submission UI.  All on our team agree this is a great feature.  But, the problems that have arisen here may not be easily solvable.  Is this high priority enough to put the effort into DSpace 7 to solve all the issues?  Or do we consider removing the feature and pushing this to DSpace 8?    Lieven noted that Atmire can do a more thorough analysis of the effort it'd take to remove this feature.
  •  Oai harvesting setup https://github.com/DSpace/DSpace/pull/2491
    • Discussed Andrea's notes here: https://github.com/DSpace/DSpace/pull/2491#pullrequestreview-294253151
    • Tim notes he sees Andrea's point, but at the same time, this endpoint may be "good enough" as is.
    • Andrea notes his feedback here is obviously late.  He wants to be sure we all understand the reasons for this feedback though.  Also notes that he's OK with current approach (but cannot give it a +1 in his opinion). He will log a ticket for how to refactor this in a future PR (either in DSpace 7 or 8).
    • We realize that our initial REST API (in DSpace 7) may not end up being 100% perfect, no matter how hard we strive for it.  So, if there's areas that need refactoring / rework to better align with Spring Data REST, we can also create tickets for that work and list them on the DSpace 8 page DSpace Release 8.0 Status
  • Ran out of time to discuss Development Planning Spreadsheet.
  • Next meeting is Oct 10, same time same place.