Skip to content

[DOCS] Establish an ontology for maintaining URIs used in core Islandora vocabularies #2279

@mjordan

Description

@mjordan

Sorry if this issue is not strictly "Documentation", but I couldn't think of a better issue category to choose.

In Islandora's core vocabularies, namely Islandora Media Use, Islandora Models, and Islandora Display, all terms are assigned a unique URI in their "External URI" / field_external_uri field. These are used both within Islandora's code and also by external tools/systems such as Islandora Workbench. Workbench allows the use of a term's URI to get the term's internal, Drupal-instance-specific term ID, which vary across Drupal instances and that cannot be queried by external tools consistently across Drupal instances by any other means.

I would like to propose discussion around a community process for maintaining these URIs, for example for adding new terms and their accompanying URIs as new use cases and capabilities arise, and deprecating URIs that are no longer useful to us or that lose traction within the larger GLAM community. For example, this thread in Slack indicates that we do not have a universally accepted term URI for hOCR media in the Islandora Media Use vocabulary.

If we allow URIs for terms that are actionable (which includes all of the terms in the three vocabularies I name above) to diverge across Islandora instances, we will lose the value of shared Drupal code, shared external tools such as Workbench (and others that do not yet exist, such as reporting tools), cross-repository aggregation, and leveraging Linked Data.

Finally, I will point out that in Islandora 7, we maintained https://github.com/Islandora/islandora_ontology. In that context, most of the standardization in URIs (or lack of standarization) was hidden in RELS-* datastreams and defined by core solution packs, but because Islandora 2 replaces RELS-* with standard Drupal taxonomies, we need to mitigate drift in the low-level plumbing at the core of Islandora by ensuring that we use shared URIs for actionable vocabularies.

Metadata

Metadata

Assignees

No one assigned

    Labels

    StaleType: discussionIdentifies a topic for conversation - may be similar to a question.Type: documentationprovides documentation or asks for documentation.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions