Skip to content

How to accommodate programmatic metadata alternations? #2

@dhimmel

Description

@dhimmel

expanding manubot/manubot#187 (comment) into an issue

In certain cases, it makes sense for users to enter only a subset of the final metadata that is needed by Pandoc filters and templates, and have a program auto-complete metadata.

For example, the following approaches be convenient for users and help avoid error-prone data duplication:

  1. assume author is a key-value object. If author.orcid is set, auto-complete missing author fields that can be retrieved from the ORCID API like author.name, author.email, author.affiliations.

  2. assume author affiliations are described via a alphnumeric key or even inline. Add an affiliations object with numbered affiliations for use in frontmatters.

  3. assume license is a key-value object. If license.spdx is set, detect license details from the SPDX API, such as name, URL, full text.

  4. adding metadata that the user doesn't explicitly provide a seed value for at all. For example, the commit hash of HEAD if executed within a git repository.

Do we need to make our schema aware of auto-completion / auto-population? Do we need multiple schema, like user-schema that describe what the user should input rather than the final output-schema? Should output-schema be a superset of input-schema such that auto-complete/populate only fills in additional values but does not delete any existing values?

@tarleb any general thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions