Using displayFormat for displaying, indexing and searching compound field values
Open
Nobody has claimed this yet.
Feature: Metadata
Feature: Search/Browse
Feature: User Guide
HERMES
Type: Feature
User Role: Curator
User Role: Depositor
UX & UI: Design
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 564
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 29
Description
Context
- This issue is a successor and extension for an aspect of #6289, regarding composed UI views of compound metadata fields.
- This issue lies within the context of indexing code metadata (#7844) and metadata of engineering or scientific processes (https://darus.uni-stuttgart.de/dataset.xhtml?persistentId=doi:10.18419/darus-508)
- This issue is written by @doigl and @poikilotherm
- As this is related to the Solr index schema, a solution for #5989 (currently WIP by @poikilotherm) might be a requirement.
- As this is UI related, tagging @TaniaSchlatter here. Also tagging @atrisovic as head of Software Metadata Working Group. Tagging @qqmyers and @4tikhonov because of future PID use and controlled vocabularies.
Problem
- Currently, there is no possibility to define a composed view of a compound metadata field to influence the order and/or combination of the subfields or adding HTML tags.
- There is no option to search for composed values made up from the fields within the compound field via the name of the compound field. (example: you cannot search for
author, only theauthorName, etc)
We want users to input metadata with as much detail and structure as possible (controlling vocabularies, ...). Yet recipients think in bigger context/pictures, expecting composed views (both text or images like in #6289) and easier to memorize search tags (author, not authorName).
Examples
- Composing
operatingSystemas part of the CodeMeta MDB (#7844):- Consists of
operatingSystemName(a CV) andoperatingSystemVersion - Example: "Windows 10"
- Enable searching for either
operatingSystem:"Windows 10"oroperatingSystemName:Windows AND operatingSystemVersion:10, but also- allowing wildcards/regex (
operatingSystem:"Windows.*") or - specific searches like
operatingSystemName:Windows AND (operatingSystemVersion:7 OR operatingSystemVersion:10)
- Consists of
- Composing vocabulary terms ('TopicClassification', 'Keyword'), so that the term is displayed as a link leading to the vocabulary entry.
- Example from https://darus.uni-stuttgart.de/dataset.xhtml?persistentId=doi:10.18419/darus-1826
keywordValue: "Surfactants"- `keywordVocabulary: "Loterre chemistry vocabulary"
keywordVocabularyURI: "http://data.loterre.fr/ark:/67375/37T-JDM7BJHX-0"- should be printed as
<a href="http://data.loterre.fr/ark:/67375/37T-JDM7BJHX-0">Surfactants</a> (Loterre chemistry vocabulary) - Surfactants (Loterre chemistry vocabulary)
Proposal
- Reuse metadata block definition field
displayFormatfor compound fields, too. - The given display format may contain references to subfields via their name, following the present style of using
#subFieldName. - The display format may make use of HTML tags to format the output
- Omitting a display Format makes the UI fallback to current behaviour
- The display format of the compound field is also used to index the value as a searchable text within Solr.
- Indexing removes any HTML tags.
- This is unrelated to API ingest or metadata exports (the composed field views are not exported or usable via the API to retain backward compatibility).
Extensions
- Enable definition of "maps" inside the
displayFormat, to lookup text parts from a subfields value (example: lookup a link prefix to generate a clickable author identifier, for example using the ORCID to link to https://orcid.org/..., but also usable for other types of identifiers.) - Create an extension of the MDB to define metadata exports of compound fields. This makes reuse of the subfields possible, if metadata export file schemas support only an aggregation.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no source files or tests; start by tracing metadata block displayFormat handling, compound-field rendering, and the Solr index schema. Done would require an agreed design for composed UI values, searchable compound-field values with HTML removed, and unchanged API ingest and export behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, frontend, search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100