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 & Location

 at 16:00 UTC (11:00am EDT)


Location:

Join from PC, Mac, Linux, iOS or Android:    https://lyrasis.zoom.us/my/dspace  (Meeting ID: 502 527 3040)

Attendees

Actual attendee list will be updated after meeting.

Agenda

#TimeItemInformationWho
15mins

Agenda

Any additional topics to today's agenda?

All
215minEntities integration on edit itemMockups for adding entities to edit item pageLieven
310minLive Import vs "External Sources"

Tim sees lots of overlap in these features (both can use the same external API, e.g. ORCID, both can be kicked off from Submission UI, and both can import external data into an Item). Unclear how to describe this accurately to others.  Is there a clear plan for how these two features will share code?

https://github.com/DSpace/Rest7Contract/pull/83#issuecomment-549876020

Tim
410minsWrap-up and Assigning tasks
  • Assign tasks / PRs to review (as needed)
  • Next meeting is Tues, Nov 12

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 to Resolve

PRs Needing Review

  1. (REST Contract) Metadata suggestions in the live import https://github.com/DSpace/Rest7Contract/pull/83 (Paulo Graça - suggests to split in 2, Tim Donohue - (warning) added questions/feedback)
  2. (REST) Entities bug-fixes in place management https://github.com/DSpace/DSpace/pull/2551 (Chris WilperTim DonohuePaulo Graça) May just need one approval
  3. (REST) Feature: external sources https://github.com/DSpace/DSpace/pull/2560 (Paulo Graça (tick), Tim Donohue )
  4. (NEW) (REST) Entities: configuring whether name variants should be used https://github.com/DSpace/DSpace/pull/2561 (Paulo Graça (tick)Tim Donohue) MAY JUST NEED ONE APPROVAL
  5. (Angular) Item page entities changes/refactoring https://github.com/DSpace/dspace-angular/pull/475 (Paulo Graça (tick) , Tim Donohue - quick review)

PRs Merged this week!

  1. (tick) (REST) Ds 4224 paginated methods for relationships https://github.com/DSpace/DSpace/pull/2535
  2. (tick) (REST Contract) Entities: Creating an archived item from an external source https://github.com/DSpace/Rest7Contract/pull/82
  3. (tick) (Angular) Name variants on item pages https://github.com/DSpace/dspace-angular/pull/496 

Task List

This task list has been updated as of our meeting on Oct 22, 2019.  The tasks are numbered for easy reference, but are not necessarily listed in priority order.  During this meeting we worked to re-summarize current work status so that we can align this task list with the DSpace 7 Estimation Process (and as such, estimate any we feel should be considered for 7.0 release).  NOTE: Keep in mind, just because a task is listed here does NOT guarantee it will be completed for DSpace 7.  Some of these tasks may need to be delayed for a future release.

Legend for status icons

(tick) = task considered "completed" (unless bugs or issues are later found)

(warning) = task is incomplete or has further work to be done.

(question) = task that may be delayed or postponed for after 7.0.

  1. (tick) Metadata schemas for Entity types (DS-4223). 
    1. REST: https://github.com/DSpace/DSpace/pull/2443 , Angular: https://github.com/DSpace/dspace-angular/pull/420
    2. Early Docs / Notes: https://docs.google.com/document/d/1X0XsppZYOtPtbmq7yXwmu7FbMAfLxxOCONbw0_rl7jY/edit#heading=h.wjaqg235p53r
  2. (warning) (Minor refactor) Decide which metadata field should be used to store Entity Type (DS-4184).  Currently, it is stored in "relationship.type".
  3. (tick) Creating Relations (between Entities) with CSV Batch Import 
    1. REST: https://github.com/DSpace/DSpace/pull/2269 and https://github.com/DSpace/DSpace/pull/2471 and https://github.com/DSpace/DSpace/pull/2522
    2. Early Docs / Notes: https://docs.google.com/document/d/1X0XsppZYOtPtbmq7yXwmu7FbMAfLxxOCONbw0_rl7jY/edit#heading=h.df1z7jh9mcc
  4. (tick) Permissions on Relations (between Entities)
    1. Discussed on Aug 6 
    2. Early Docs / Notes: https://docs.google.com/document/d/1X0XsppZYOtPtbmq7yXwmu7FbMAfLxxOCONbw0_rl7jY/edit#heading=h.y6qarjnylexl
  5. Deleting Entities that have existing relations
    1. (tick) Deletion action itself:
      1. REST Contract: https://github.com/DSpace/Rest7Contract/blob/master/relationships.md#deleting-a-relationship , REST: https://github.com/DSpace/DSpace/pull/2332 , Angular: https://github.com/DSpace/dspace-angular/pull/402
      2. Early Docs / Notes: https://docs.google.com/document/d/1X0XsppZYOtPtbmq7yXwmu7FbMAfLxxOCONbw0_rl7jY/edit#heading=h.c62y8iqnvlur
    2. (warning) Copy virtual metadata from deleted entity to related entity
      1. REST Contract: https://github.com/DSpace/Rest7Contract/pull/78
      2. In implementation (REST API and Angular)
  6. (tick) Dynamic display of Relations
    1. Early Docs / Notes: https://docs.google.com/document/d/1X0XsppZYOtPtbmq7yXwmu7FbMAfLxxOCONbw0_rl7jY/edit#heading=h.pm34t6u1djdf
    2. (warning) May require usability improvements (NEEDS DISCUSSION)
  7. Submission Integration Tasks
    1. (tick) Creating new Entities using Submission Forms
      1. REST: https://github.com/DSpace/DSpace/pull/2443
      2. Early Docs / Notes: https://docs.google.com/document/d/1X0XsppZYOtPtbmq7yXwmu7FbMAfLxxOCONbw0_rl7jY/edit#heading=h.9aixusqzgcnp
    2. (warning) Creating relations between two Entities during Submission process
      1. Contract: https://github.com/DSpace/Rest7Contract/pull/64 , REST: https://github.com/DSpace/DSpace/pull/2472
      2. In Implementation (Angular)
      3. Early Docs / Notes: https://docs.google.com/document/d/1X0XsppZYOtPtbmq7yXwmu7FbMAfLxxOCONbw0_rl7jY/edit#heading=h.9aixusqzgcnp
    3. (warning) Search External Sources (includes ORCID integration with Entities)
      1. REST Contract: https://github.com/DSpace/Rest7Contract/pull/74 (in review)
      2. REST: https://github.com/DSpace/DSpace/pull/2560 (in review)
      3. In Implementation (REST API and Angular)
    4. (warning) Convert External Sources to an Entity
      1. If an Admin: Contract under review: https://github.com/DSpace/Rest7Contract/pull/82
      2. If a Submitter: Contract under review: https://github.com/DSpace/Rest7Contract/pull/83
  8. Name Variants
    1. (warning) Create name variants in submission
      1. In Implementation (REST API and Angular)
    2. (tick) Display name variants on Item pages (Angular)
  9. (warning) OpenAIRE v4 implementation (using Entities)
    1. TO BE DISCUSSED ON OCT 29. 
    2. Early PR expected in the next week or so.  This initial work will be configuration only (no new code). 
    3. Possible need for a follow-up PR to implement improvements to OAI-PMH to support OpenAIRE v4.
  10. (warning) How to display related items on an Item page if that related item is still in workflow approval
    1. TODO: Needs proposal.  Early idea is to simply display the related item as plain text metadata (until approved).
  11. (warning) Edit Item page integration
    1. TODO: Needs proposal.  How to display relationships on "edit metadata" tab.  How to add relationships on "relationships" tab
  12. (question) Relations in AIP Backup & Restore
    1. Discussed on Oct 15
    2. Proposal: https://docs.google.com/document/d/1X0XsppZYOtPtbmq7yXwmu7FbMAfLxxOCONbw0_rl7jY/edit#heading=h.qi8bp6kog7yi
  13. (question) Creating Relations in SAF Import (might be postponed for a future release)
    1. Requires AIP Backup & Restore
    2. Proposal: https://docs.google.com/document/d/1X0XsppZYOtPtbmq7yXwmu7FbMAfLxxOCONbw0_rl7jY/edit#heading=h.n8ktliibe7kj
  14. (question) SWORD integration (might be postponed for a future release)
    1. Requires AIP Backup & Restore, as SWORD uses the same crosswalks / format as AIP.
    2. Proposal: https://docs.google.com/document/d/1X0XsppZYOtPtbmq7yXwmu7FbMAfLxxOCONbw0_rl7jY/edit#heading=h.xufwyy1ep8h2
  15. (question) Best Practices around Entities in Collections (NOT: this may just be early documentation).  We've suggested in the Preview Release to structure Collections based on Entity Type (Person Collection, Projects Collection, etc).  We should better document and formalize these best practices. 
    1. Should we eventually consider hiding these Collections which only serve to store Entity Types?

Notes

  • Early mockups of "Edit Relationships" tab of Edit Item (Presented by Lieven)
    • This tab already exists in codebase, but currently you can just view relationships and delete them.
    • Mockups show a new "add" button.  Pops up the same search module that is used by Submission UI to locate Entities & select ones that are related.
    • All agree this looks like a good early design.  Might be some usability improvements to make later.
  • Discussion of "Live Import" vs "External Sources"
    • Live Import
      • Existing feature in DSpace 6.x, docs at 2016 Framework for live import from external sources
      • This feature is a separate step in the Submission process (usually at the beginning).  The step lets you (1) select source to search, (2) enter in search fields, (3) select an entry to import metadata from.  If the WorkspaceItem is new, then that metadata is imported into the WorkspaceItem as a way to kick off the submission by prefilling a lot of the metadata.   If this is a WorkflowItem (under workflow), then a visual "diff" of current metadata fields versus those returned from the external API is displayed.  User can then decide whether to update the metadata to match that of the external API
      • Current example is with PubMed
      • This feature is more about importing metadata from an external API into the current submission (as a way of pre-populating metadata fields)
    • External Sources
      • New feature, specific to Entities. Contract: https://github.com/DSpace/Rest7Contract/blob/master/external-authority-sources.md  (Original PR https://github.com/DSpace/Rest7Contract/pull/74)
      • This feature is enabled on individual input fields within the Submission process.  It allows you to select a related external object/entity, and import that related entity into DSpace.  It does NOT directly modify the current submission, except to add in a new "relationship" to the imported object/entity. 
      • It may include some (but not all) of the same external APIs as the "Live Import" feature, e.g. ORCID.  Therefore it should share underlying code (to access those external APIs) as the Live Import feature.    That said, some "Live Import" external APIs (like PubMed) cannot be used as an External Source, as they do not represent Entities or Authorities (instead they are just external repositories of metadata).
      • This feature is more about creating related entities from an external API, and it does not modify the current submission's metadata.  It just adds a new relationship and imports a new object (entity).
    • Tim notes terminology here is definitely confusing
      • Live Import seems like it should be a "section" of the new Submission UI.  It's more about importing metadata into current submission from an external API.  May need to be named something like "Import Metadata" or "Metadata Importer"
      • External Sources is enabled on individual fields (if they are entity enabled). It's more about creating relationships between current submission and an imported Entity (again from an external API).  So, it's a different type of Import, more related to Importing an entire Object/Entity and relating it to the current submission.
      • May need to be careful about how each appear in the UI layer, as it could be confusing what each is doing.
    • These features are definitely different, but also related (in that they sometimes share the same External API, e.g. ORCID)
  • No labels