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
Update documentation/Metadata_Formats.md (or equivalent) to list emailarchive as a supported type
Add inline XSLT comments to crosswalks/ingest/emailarchive.xslt for clarity
Update README.md or DEV_NOTES.md with a pointer to the new guide (if appropriate)
Notes
Note
Documentation should be written for two audiences: (1) RODA administrators who want to configure a new metadata type, and (2) developers who need to understand the underlying Solr nested document mechanics.
Important
All examples must remain generic — the EmailArchive type is an illustration only, not a special case. The guide must make clear that the pattern applies to any hierarchical metadata schema.
Overview
Create user and developer documentation for the Nested Documents UI feature, using the EmailArchive metadata type as the worked example.
Part of: #3382
Scope
1. Developer Guide — How to add a new nested metadata type
A step-by-step guide covering every file that must be created or modified to introduce a new metadata schema with nested child documents:
roda-core/.../config/schemas/{type}.xsdroda-core/.../config/crosswalks/ingest/{type}.xslt<field name="…"><doc>…</doc></field>blockroda-wui/.../config/roda-wui.propertiesui.browser.metadata.descriptive.typesroda-wui/.../config/i18n/ServerMessages.propertiesui.browse.metadata.descriptive.type.{type}=…Include the
rakenskapsinfopattern reference and explain the XSLT namespace wildcard (*:) technique.2. Virtual Catalogue Configuration
Explain how to create a virtual catalogue entry that queries nested children directly:
ui.lists.{listId}.title,ui.lists.{listId}.filter,ui.lists.{listId}.columns.*ChildOfFilterParameterexpression_txt,_s,_dt,_b,_i)#search/$prefilter/title/{Label}/@{listId}Search_emailscatalogue wired tocontent_type:emailchild filter3. Advanced Search — Nested Filter Groups
Explain how to add a nested filter group to the Advanced Search panel:
ui.search.fields.AIP.{groupId}.*NESTEDvsSIMPLEemails.subject_txt,emails.sender_s, etc.ParentWhichFilterParametersemantics (returns parent AIP when any child matches)4. EmailArchive Worked Example
Walk through all of the above using the EmailArchive implementation as a concrete example:
roda-wui.propertiesentries for the virtual catalogue and advanced search group5. Testing Guide
How to test a new nested type:
full,minimal,no-childrenedge cases)CorporaConstants*CrosswalkTestpattern to followmvn -pl roda-core/roda-core-tests test -Dtestng.groups=allDeliverables
documentation/Nested_Documents_Guide.md— developer guide (all sections above)documentation/Metadata_Formats.md(or equivalent) to list emailarchive as a supported typecrosswalks/ingest/emailarchive.xsltfor clarityREADME.mdorDEV_NOTES.mdwith a pointer to the new guide (if appropriate)Notes
Note
Documentation should be written for two audiences: (1) RODA administrators who want to configure a new metadata type, and (2) developers who need to understand the underlying Solr nested document mechanics.
Important
All examples must remain generic — the EmailArchive type is an illustration only, not a special case. The guide must make clear that the pattern applies to any hierarchical metadata schema.