IQSS / IQSS/dataverse

Using displayFormat for displaying, indexing and searching compound field values

Open
#7,856 9 comments 0 reactions 0 assignees View on GitHub

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

  1. 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.
  2. 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 the authorName, 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 operatingSystem as part of the CodeMeta MDB (#7844):
    • Consists of operatingSystemName (a CV) and operatingSystemVersion
    • Example: "Windows 10"
    • Enable searching for either
      1. operatingSystem:"Windows 10" or operatingSystemName:Windows AND operatingSystemVersion:10, but also
      2. allowing wildcards/regex (operatingSystem:"Windows.*") or
      3. specific searches like operatingSystemName:Windows AND (operatingSystemVersion:7 OR operatingSystemVersion:10)
  • Composing vocabulary terms ('TopicClassification', 'Keyword'), so that the term is displayed as a link leading to the vocabulary entry.

Proposal

  1. Reuse metadata block definition field displayFormat for compound fields, too.
  2. The given display format may contain references to subfields via their name, following the present style of using #subFieldName.
  3. The display format may make use of HTML tags to format the output
  4. Omitting a display Format makes the UI fallback to current behaviour
  5. The display format of the compound field is also used to index the value as a searchable text within Solr.
  6. Indexing removes any HTML tags.
  7. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.