You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
More specifically, after DSpace/DSpace#2625 was merged, the REST API was updated to no longer embed any resources by default. However, clients may override this default behavior by passing projection=full as a parameter (in which case embedded resources are returned).
After merging this PR 2625, we found that the Submission UI is unable to function without embedded resources being returned in response to the initial POST to /workspaceitems (to create the new submission). More specifically, the Submission UI seems to expect that this POST will respond with an embedded "SubmissionDefinition" via the /workspaceitems/<:id>/submissionDefinition linked entity described here https://github.com/DSpace/Rest7Contract/blob/master/workflowitems.md#submissiondefinition).
The Submission UI seems to require that embedded SubmissionDefinition to initialize the submission form, rather than using the separate /api/config/submissiondefinitions endpoint (when the submission configuration is not embedded).
This ticket is a reminder to analyze whether the Submission UI can be refactored to no longer rely so heavily on embedded resources (as many embedded resources can result in slower performance). The Submission UI seems to be the only area of the Angular UI which cannot function without embedded resources.
We are also investigating updating the REST API backend to accept the projection=full param for POST requests (currently it only accepts that param for GET requests). If the REST API can accept this parameter, then the workaround can move to the Angular UI (see (WIP) Update Submission UI to use projection=full for POST /workspaceitems #582)
However, neither of these workarounds fix the reliance on embedded resources described above.
The text was updated successfully, but these errors were encountered:
This bug is related to the REST API projections work. See https://jira.lyrasis.org/browse/DS-3533
More specifically, after DSpace/DSpace#2625 was merged, the REST API was updated to no longer embed any resources by default. However, clients may override this default behavior by passing
projection=full
as a parameter (in which case embedded resources are returned).After merging this PR 2625, we found that the Submission UI is unable to function without embedded resources being returned in response to the initial
POST
to/workspaceitems
(to create the new submission). More specifically, the Submission UI seems to expect that this POST will respond with an embedded "SubmissionDefinition" via the/workspaceitems/<:id>/submissionDefinition
linked entity described here https://github.com/DSpace/Rest7Contract/blob/master/workflowitems.md#submissiondefinition).The Submission UI seems to require that embedded SubmissionDefinition to initialize the submission form, rather than using the separate
/api/config/submissiondefinitions
endpoint (when the submission configuration is not embedded).This ticket is a reminder to analyze whether the Submission UI can be refactored to no longer rely so heavily on embedded resources (as many embedded resources can result in slower performance). The Submission UI seems to be the only area of the Angular UI which cannot function without embedded resources.
Workarounds
/workspaceitems
always returns all embedded resources. See Default to full projection for workspace item POSTs DSpace#2682projection=full
param forPOST
requests (currently it only accepts that param forGET
requests). If the REST API can accept this parameter, then the workaround can move to the Angular UI (see (WIP) Update Submission UI to use projection=full for POST /workspaceitems #582)However, neither of these workarounds fix the reliance on embedded resources described above.
The text was updated successfully, but these errors were encountered: