[DSpace-CRIS] Nested / Basic Hierarchical Metadata (Frontend)#5097
[DSpace-CRIS] Nested / Basic Hierarchical Metadata (Frontend)#5097tdonohue merged 14 commits intoDSpace:mainfrom
Conversation
…g and status reset of form
|
Hi @FrancescoMolinaro, |
|
Hi @MarieVerdonck, many thanks for the feedback, much appreciated. Regarding the issue you reported with the repeatable fields, I have found out by checking the history of development on the CRIS code base, that the repeatable fields are not supported inside the nested forms. For the inline-group configuration there is an additional limitation, the form fields must be all inside a single row, if you want to achieve a layout on multiple rows, it can be done via the style attribute, I have updated the description accordingly. About the regex issue instead I am not able to reproduce the problem with your configuration at #5097 (comment) (regex on single field inside nested form). regex.webmMight I please ask you to try again? It could be possible that the problem has been mitigated after aligning the PR with the latest changes from main. The second configuration instead is not possible, adding a regex on the top level metadata breaks the UI because is not an actual input, instead the regex should be configured on the fields inside the nested form. |
There was a problem hiding this comment.
@FrancescoMolinaro : Thanks for this PR. I reviewed this and tested it with the backend PR. Overall, the feature works well, and I haven't found any obvious bugs. I did however find some minor things to cleanup in the code (especially some disabled tests -- see inline below).
One other thing I did want to ask is whether the UI display for the inline-group is the same in this PR as in DSpace-CRIS? I find the display to be a bit odd looking because there's so much vertical space used for each "inline group" of fields. For example, here's what I'm seeing with the "Editor" field configured as an inline-group:
Things that look odd to me include:
- The drag & drop icon is appearing above the field. When this icon doesn't exist, it's empty space, so the field is always very tall.
- The delete button appears below the field, again using vertical space.
- I find the "Duplicate" and "+Add more" buttons to be a bit duplicative. I did finally figure out though that they have different behavior. I just find it odd to have both.
Overall, I expected this inline-group field to look a bit more like the existing series field (used for "Series/Report") where there delete button appears to the right of the fields & the drag & drop icon appears to the left of the fields.
In any case, this display issue is minor and we could move it to a follow-up ticket. I just wanted to ask if this is the expected display or if it appears differently in DSpace-CRIS.
Overall, I'm nearly a +1 (once my inline comments are addressed/answered). This all looks good to me. I do agree though that these new field types require more detailed documentation, especially since there's some invalid configurations that are possible (as pointed out by @MarieVerdonck in the above comments)
|
@MarieVerdonck : As we are nearing the deadline for 10.0 new features, I'd appreciate it if you can give this a followup review and explicitly note whether you are "+1" this being added to 10.0. It sounds like your prior feedback has either been fixed or will be documented as an "invalid configuration". I'll flag this PR as requiring docs now. |
…oup style issue, fix group modal tests
|
Hi @tdonohue, many thanks for the review, I have updated the code adding comments and documentation where needed and adapting the group layout as you suggested. |
tdonohue
left a comment
There was a problem hiding this comment.
👍 Thanks @FrancescoMolinaro ! All my prior review feedback has been addressed. I've also verified the new display for inline-group looks much better (& more compact):
I also tested that setting form > showInlineGroupDuplicateButton: true will add the Duplicate buttons back into the display.
So, this looks good to me. Thanks again for the hard work on this PR!
(Obviously this still will require documentation to be added to the DSDOC10x space for this feature.)
|
@MarieVerdonck : If you could give this PR another look, I think all your feedback has been addressed. It also looks good to me now and I've officially given it a 👍 I'd like to merge this quickly as several other merger-related PRs build off this one (so it will make it easier to code review those others PRs). So, I plan to merge this tomorrow unless I hear from you sooner. |
MarieVerdonck
left a comment
There was a problem hiding this comment.
Functionality seems to work as expected with adjustments to config & avoiding the repeatable/regex which is not allowed, added in REST review suggestion to do fail-fast parsing of submission forms config so can't build with invalid submission form config, but is not blocking issue.
Also tested showInlineGroupDuplicateButton => copies even authority controlled md, though I'm unsure what use case this functionality has, so user doesn't have to retype e.g. affiliation?
|
Thanks again @FrancescoMolinaro ! Merging as this is at +2. Reminder that this has the "needs documentation" label until docs are added to https://wiki.lyrasis.org/display/DSDOC10x. |
|
documentation ready https://wiki.lyrasis.org/display/DSDOC10x/Nested+metadata+in+DSpace+items |








References
Fixes: DSpace/DSpace#12159
Require backend: DSpace/DSpace#11945
Description
This PR replace the standard group in submission with nested metdatata and UI forms.
The default group in submission will become a nested form and will be opened in a modal, to isolate the form and create connections between pairs of metadata.
Example of configuration:
A new group type called inline-group has been added to mantain the groups inside the main form and not in a modal, follows and example of config:
Please note that the inline-group as a limitation: all the fields needs to be configured inside one tag.
If you want to achieve a display on multiple rows, it can be don through styling, adding for example to each field the style tag as follows: <style>col-12</style>
This is a known limitation and should be added to the documentation as such.
**Please note that is not possible to add repeatable fields inside the nested forms, this would result in errors in the UI breaking the form. This is a known limitation and should be added to the documentation as such.
Input type specific configuration, as the regex, should be added inside the nested form configuration, as they don't work on input types which represent nested forms. (not an actual control in the form) **
Note: A custom layout option will follow in a different PR, wich will allow to group those metadata also on Item page (CRIS Layout)
Note: For inline groups is possible to configure an additional button with the property showInlineGroupDuplicateButton , which if true, will display under the form a button to duplicate the whole section, metadata values included.
Instructions for Reviewers
List of changes:
Added new inline-group field.
Adapted group field logic to use modal.
Adpated parsing and templates.
To test this feature follow the config and try to use the form groups in a submission.
Checklist
This checklist provides a reminder of what we are going to look for when reviewing your PR. You do not need to complete this checklist prior creating your PR (draft PRs are always welcome).
However, reviewers may request that you complete any actions in this list if you have not done so. If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!
mainbranch of code (unless it is a backport or is fixing an issue specific to an older branch).npm run lintnpm run check-circ-deps)package.json), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.