2019-12-17 DSpace 7 Entities WG Meeting

Date & Location

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

As of Dec 17, 2019, the DSpace 7 Entities Working Group is on hiatus and has merged with the DSpace 7 Working Group.  This page represents the Notes of the final meeting.  The "Task List" and "PRs Needing Review" sections below will be kept up-to-date to allow volunteers to continue reviewing/testing any remaining Entities or OpenAIREv4 PRs.  For ongoing DSpace 7.0 development efforts, please see the DSpace Release 7.0 Status and DSpace 7 Working Group.


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


Actual attendee list will be updated after meeting.


15minsQuick Reminder

Final DSpace 7 Entities WG meeting :  With holidays the next two weeks (24th and 31st), this will be the final DSpace 7 Entities Working Group meeting of 2019. As of Jan 1, this Working Group will disband & work as part of the larger DSpace 7 Working Group.

  • For any still open PRs, PR reviews can continue to happen.  As of Jan 1, Entities PRs will be lower priority (unless they fix a major bug). But, they can still be reviewed by volunteers and/or Tim (after high priority PRs are reviewed, obviously).



Any additional topics to today's agenda?

315minsUpdates on OpenAIREv4All
415minsWrap-up and Assigning tasks
  • Assign tasks / PRs to review (as needed)
  • No more meetings on the schedule for the DSpace 7 Entities Working Group.  This Working Group will be on hiatus until other major Entities work becomes a higher priority. That said, volunteers are welcome to continue with reviewing, etc and coordinate via the existing #entities-wg channel in Slack.

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. (blue star) (NEW) (REST) relationship type rest controller bug fix https://github.com/DSpace/DSpace/pull/2641
  2. (blue star) (Angular) Keep virtual metadata on relationship delete https://github.com/DSpace/dspace-angular/pull/530 (Paulo Graça - feedback added, Tim Donohue - feedback added) (8 hours - week of Dec 16)
  3. (Angular) Virtual metadata on item delete https://github.com/DSpace/dspace-angular/pull/533 ( Paulo Graça - feedback added , Tim Donohue - feedback added)  (4 hours - week of Dec 16)
    1. sample screenshots:  pr-533.pdf
    2. Dependent on #530 (see above). Internal PR to display the differences
  4. (Angular) Convert external source to entity https://github.com/DSpace/dspace-angular/pull/540 (NEEDS REVIEWERS, ready to review)
    1. Dependent on #539 (now merged). Internal PR to display the differences
  5. (Angular) Combining relationships and metadata during submission https://github.com/DSpace/dspace-angular/pull/541 (NEEDS REVIEWERS) (12 hours)
    1. Dependent on #534 (now merged). Internal PR to display the differences
  6. (NEW) (Angular) Create relationships as an admin in edit item [WIP] https://github.com/DSpace/dspace-angular/pull/545  (NEEDS REVIEWERS ONCE DEPENDENCIES ARE MERGED) (16 hours left - week of Jan 6)
    1. Dependent on #540, #539, #531, #530 (see above)
  7. (COMING SOON) (OpenAIRE4) OpenAIRE API import of entities/metadata (In progress development by Dimitris Pierrakos)

PRs Merged

  1. (tick) (REST Contract) Entity type small changes https://github.com/DSpace/Rest7Contract/pull/95
  2. (tick) (REST) DS-4401 Enforce relational place ordering when place direction is known https://github.com/DSpace/DSpace/pull/2617
  3. (tick) (REST) Get entity type performance improvement https://github.com/DSpace/DSpace/pull/2615
  4. (tick) (REST) Creating a workspace item from an external source https://github.com/DSpace/DSpace/pull/2614
  5. (tick) (REST) Entities submission config https://github.com/DSpace/DSpace/pull/2618
  6. (tick) (REST) Default Entities relationship types used for the demos https://github.com/DSpace/DSpace/pull/2622
  7. (tick) (REST) EntityType by label endpoint and integration tests https://github.com/DSpace/DSpace/pull/2628
  8. (tick) (Angular) Item page entities improvements https://github.com/DSpace/dspace-angular/pull/532
  9. (tick) (OpenAIRE4) OpenAIRE 4 submission forms and virtual metadata https://github.com/DSpace/DSpace/pull/2608
  10. (tick) (OpenAIRE4) OpenAIRE4 adding missing field person.identifier https://github.com/DSpace/DSpace/pull/2621
  11. (tick) (OpenAIRE4) OpenAIRE4 funding agency missing translation https://github.com/DSpace/dspace-angular/pull/542
  12. (tick) (blue star) (Angular) Create relationships during the submission https://github.com/DSpace/dspace-angular/pull/531
  13. (tick) (blue star) (OpenAIRE4) OpenAIRE4 oai_openaire metadata format support https://github.com/DSpace/DSpace/pull/2592
  14. (tick) (Angular) Lookup relations - Search external sources https://github.com/DSpace/dspace-angular/pull/539
  15. (tick) (Angular) Reordering related entities in the submission https://github.com/DSpace/dspace-angular/pull/534 

Task List

This task list has been updated as of our meeting TODAY.  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". (DEEMED LOWER PRIORITY, but "nice to have" for 7.0 if possible?)
  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. Copy virtual metadata from deleted entity to related entity
      1. (tick) REST Contract: https://github.com/DSpace/Rest7Contract/pull/78
      2. (tick) REST impl: https://github.com/DSpace/DSpace/pull/2577
      3. (warning) Angular Impl (under review)https://github.com/DSpace/dspace-angular/pull/530 and https://github.com/DSpace/dspace-angular/pull/533
  6. (tick) Dynamic display of Relations
    1. Early Docs / Notes: https://docs.google.com/document/d/1X0XsppZYOtPtbmq7yXwmu7FbMAfLxxOCONbw0_rl7jY/edit#heading=h.pm34t6u1djdf
    2. (tick) Completed: https://github.com/DSpace/dspace-angular/pull/517
  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. Creating relations between two Entities during Submission process
      1. (tick) REST Contract: https://github.com/DSpace/Rest7Contract/pull/64 ,
      2. (tick) REST Impl: https://github.com/DSpace/DSpace/pull/2472
      3. (warning) Angular Impl (under review): (tick) https://github.com/DSpace/dspace-angular/pull/531 and https://github.com/DSpace/dspace-angular/pull/534
      4. Early Docs / Notes: https://docs.google.com/document/d/1X0XsppZYOtPtbmq7yXwmu7FbMAfLxxOCONbw0_rl7jY/edit#heading=h.9aixusqzgcnp
    3. (tick) Search External Sources (includes ORCID integration with Entities)
      1. (tick) REST Contract: https://github.com/DSpace/Rest7Contract/pull/74 
      2. (tick) REST Impl: https://github.com/DSpace/DSpace/pull/2560
      3. (tick) Angular Impl (under review)https://github.com/DSpace/dspace-angular/pull/539
    4. Convert External Sources to an Entity
      1. If an Admin:
        1. (tick) REST Contract: https://github.com/DSpace/Rest7Contract/pull/82
        2. (tick) REST Impl: https://github.com/DSpace/DSpace/pull/2590
        3. (warning) Angular Impl (under review)https://github.com/DSpace/dspace-angular/pull/540
      2. If a Submitter (Feature is NOT specific to Entities, as this is simply porting the "Live Import" framework of DSpace 6.x)
        1. (tick) REST Contract: https://github.com/DSpace/Rest7Contract/pull/83
        2. (tick) REST Impl: https://github.com/DSpace/DSpace/pull/2614
        3. (warning) Angular Impl (under review)https://github.com/DSpace/dspace-angular/pull/540
  8. (tick) Name Variants
    1. (tick) Create name variants in submission
      1. (tick) REST Impl: https://github.com/DSpace/DSpace/pull/2561
      2. (tick) Angular Impl - this is included as part of https://github.com/DSpace/dspace-angular/pull/531
    2. (tick) Display name variants on Item pages (Angular)
  9. OpenAIRE v4 support (using Entities)
    1. (tick) Configuration of Entities needed for OpenAIRE v4: https://github.com/DSpace/DSpace/pull/2575
    2. (tick) Configuration of Metadata fields/schemas needed for OpenAIRE v4: https://github.com/DSpace/DSpace/pull/2576
    3. (tick) Configuration of Submission Input Forms for OpenAIRE v4: https://github.com/DSpace/DSpace/pull/2608
    4. (tick) Configuration of OAI-PMH for OpenAIRE v4: https://github.com/DSpace/DSpace/pull/2592
    5. (warning) Import entities/metadata from OpenAIRE API (using Live Import feature): (coming soon)
  10. (tick) How to display related items on an Item page if that related item is still in workflow approval
    1. (tick) Simply display the related item as plain text metadata (until workflow approval completes).
  11. Edit Item page integration
    1. How to display relationships on "edit metadata" tab in UI.  How to add relationships on "relationships" tab in UI.
    2. Angular UI Mockups discussed/approved on Nov 5 and Nov 12.
    3. (tick) Angular relationships tab: https://github.com/DSpace/dspace-angular/pull/517
    4. (warning) Create relationships as an admin in edit item (under review)https://github.com/DSpace/dspace-angular/pull/545
  12. (question) (DELAYED for 7.1 or later) 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) (DELAYED for 7.1 or later) 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) (DELAYED for 7.1 or later) 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) (DELAYED for 7.1 or later) 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?


  • Last meeting of the DSpace 7 Entities Working Group (on indefinite hiatus).  Our working group is considered disbanded unless we find a reason to meet later in the year (if any remaining Entities effort is needed later in 2020)
    • REST API effort (contract & implementation) for Entities is COMPLETE!
    • There are still some outstanding Angular and OpenAIREv4 PRs (see list of "PRs Needing Review" above), but NO MORE FEATURE PRs are expected
      • One exception we realized is that Dimitris from OpenAIRE is working on a PR to import metadata from the OpenAIRE API (using the existing "Live Import" framework in DSpace 7).  This PR is currently listed as "COMING SOON" above, and should be created by the end of 2019. It can be reviewed by volunteers in 2020.
  • Next Steps for still open PRs
    • These are considered low priority to review/test in 2020.  The main DSpace 7 Working Group will be working in organized sprints to finalize the DSpace 7.0 release, so their priorities will be on general DSpace 7.0 features.
      • That said, volunteer developers can continue to review Entities PRs as they see fit.  Tim will also review & test them when his time allows (but only after any high priority DSpace 7 PRs are reviewed/tested first)
    • As Working Group is no longer meeting, any Entities PR discussion should move to #entities-wg in Slack or GitHub. 
    • If a small group wants to talk in more detail about a specific PR, the DSpace Meeting Room is always available for an ad hoc PR meeting.  These can be organized or requested via Slack or Github.
  • As the Working Group is not meeting any further, the "PRs Needing Review" list & "Task List" sections above should be kept updated to let volunteers know the current status of any remaining Entities PRs.
  • Thanks again to all who participated in the DSpace 7 Entities Working Group !  It's been wonderful seeing the passion & energy for both Entities & OpenAIREv4 in DSpace 7.  Please consider joining our DSpace 7 Working Group in 2020 (if you have not already) to help us complete the 7.0 release!