DSpace / dspace-angular

DSpace User Interface built on Angular.io
https://wiki.lyrasis.org/display/DSDOC8x/
BSD 3-Clause "New" or "Revised" License
128 stars 422 forks source link

[Submission Refactor] Refactor Entity Relationships to be modified via WorkspaceItem #858

Open tdonohue opened 4 years ago

tdonohue commented 4 years ago

Describe the bug As agreed/described by #818 (the discussion ticket that preceded this one), the Submission process should only use WorkspaceItem and/or WorkflowItem endpoints. Not usage of other endpoints (like Item) are allowed.

Unfortunately, the code/implementation in https://github.com/DSpace/dspace-angular/pull/541 did not align with this goal. While the code works, it requires a lot of workarounds (especially in the UI layer) to allow it to function.

Expected behavior Once https://github.com/DSpace/DSpace/issues/2953 is completed, the Submission User Interface will need:

  1. To understand the new type=relationship metadata fields
  2. To send proper WorkspaceItem PATCH requests when adding/removing/updating Entity relationships
  3. To have any workarounds which sync data between Item and WorkspaceItem removed. All code in the Submission process should only use the /api/submission/workspaceitems/** endpoints

(Estimate is TBD. Additional implementation notes/details to be added by @artlowel )

Related work

tdonohue commented 2 years ago

Estimated by Atmire as roughly a 280hr task, 140hrs Angular & 140hrs REST API.

tdonohue commented 1 year ago

As noted in #2252 discussion, there may be side effects of this existing code e.g. #2314

Bumping this to "high priority" because we are starting to see odd caching behaviors and similar which appear to be caused by the way this code currently works.