Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Submission UI is unable to function without _embedded resources #581

Open
tdonohue opened this issue Feb 19, 2020 · 1 comment
Open

Submission UI is unable to function without _embedded resources #581

tdonohue opened this issue Feb 19, 2020 · 1 comment
Labels
bug component: submission performance / caching Related to performance, caching or embedded objects

Comments

@tdonohue
Copy link
Member

tdonohue commented Feb 19, 2020

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

However, neither of these workarounds fix the reliance on embedded resources described above.

@cwilper
Copy link
Contributor

cwilper commented Feb 19, 2020

Here's the REST PR where we are working on updating REST to support client-specified projections for POST requests: DSpace/DSpace#2684

@tdonohue tdonohue added component: submission performance / caching Related to performance, caching or embedded objects labels Apr 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug component: submission performance / caching Related to performance, caching or embedded objects
Projects
None yet
Development

No branches or pull requests

2 participants