...
Required? | User Story |
---|---|
Catalogers | |
NOTE: The following user stories are related to creating or editing resource descriptions typically within a metadata editor or similar application. | |
MUST HAVE | As a cataloger, I want to edit an entity (e.g. work, instance, etc.) and add a link to an external URI from an external authoritative sources (e.g. LCNAF, OCLC FAST, etc.). |
MUST HAVE | As a cataloger, I want to edit an entity (e.g. work, instance, etc.) and display a label from an external authoritative sources (e.g. LCNAF, OCLC FAST, etc.). |
MUST HAVE | As a cataloger, I want to be able to enter the exact external authoritative label and get the URI from the external authority linked to the entity being edited. This applies when there is a unique authoritative term. |
MUST HAVE | As a cataloger, I want to start typing a known external authoritative label and get the URI from the external authority linked to the entity being edited. This is left anchored type-ahead. |
MUST HAVE | As a cataloger, I want to start typing a known variant external authoritative label and get the URI of the authoritative label linked to the entity being edited. |
MUST HAVE | As a cataloger, I want additional information in the search that indicates that the term listed has a variant that matches the keyword typed. |
MUST HAVE | As a cataloger, I want to type in the alternate identifier (e.g. Q label in wikidata, ISNI label, organization code etc.) and get the URI for those entities. |
OPTIONAL | As a cataloger, I want to be able to search for a broader term in a hierarchy and get a list of narrower terms from which to select. NOTE: Some systems have seen performance issues in actual implementations. Catalogers generally know what they are looking for. |
OPTIONAL | As a cataloger, I want to be able to see broader and narrower terms when the authority is hierarchical. |
OPTIONAL | As a cataloger, I want to be able to step into broader or narrower terms when the authority is hierarchical. |
As a cataloger, when I am unable to find what I'm looking for in an authority lookup, I want to be able to search an authority source in an external site by clicking on a link to its native search UI. | |
As a cataloger, I know some keywords, other attributes related to the entity that are not in the primary or variant label (e.g. occupation, resource type, etc.), that will help me locate and select an authoritative entity. | |
As a cataloger, I want search results to contain highly relevant terms for my keyword search based on standard indexing approaches. Actual relevancy is subjective. | |
As a cataloger, I want transparency in the approach for indexing to be clear. (e.g. exact match on primary label, stemming, which fields are searched, etc.) May vary between authorities. | |
As a cataloger, I want search results listed in rank order as determined by standard indexing approaches. | |
As a cataloger, I want to choose how search results are returned (e.g. left anchored, keyword indexing rank, or as yet unknown approach) | |
As a cataloger, I want to see, for each entity that appears in results of my keyword search, which of the fields that were searched triggered its inclusion in those results. (e.g. keyword was in the variant label, occupation, or descriptions instead of the primary label) | |
As a cataloger, I want to see contextual information (e.g. variant labels, occupation, birth date, etc.) about the search results that distinguishes it from other, similar-looking results, to help me to select the correct authoritative entity and to recognize false positives. The context may be drawn from authoritative entities and real world object entities based on what is available in the authoritative data. | |
As a cataloger, I want to be able to filter search results to a specific date range for a field on the authoritative entity (e.g. birth date, death date, floruit, etc.). | |
As a cataloger, I want to be able to filter search results to a specific class type (e.g. a corporate name, person name, meeting name, etc.; manifestation, item, expression, etc.). | |
Stopped | As a cataloger, I want to be able to filter search results to the language of the resource (e.g. The book is written in Greek and I want to see the information displayed in Greek.) |
As a cataloger, I want to see search results in my preferred language (e.g. I speak German and want to see results in my native language.) | |
As a cataloger, I want to be able to filter on specific fields in the authoritative entity (e.g. occupation, resource format, agent, etc.) | |
As a cataloger, I want search results to be returned quickly, so that I can catalog efficiently. | |
As a cataloger, I want to be able to request additional search results if what I am looking for isn't visible in the current set of results displayed. | |
As a cataloger, I want to determine whether the entity I'm searching for doesn't exist in the resource that I'm searching. | |
Developers | |
As a developer, I want one field in the authoritative entity to be a human readable, meaningful representation of the entity that can be displayed to users to identify the entity for selection. | |
As a developer, I want to receive a permanent URI for each entity to uniquely identify the entity. | |
As a developer, I want to provide a widget that enables a cataloger to select an entity from an authoritative source using left anchored autocomplete. | |
As a developer, I want to provide a widget that enables a cataloger to type in keywords and see a list of entities sorted in rank order. | |
As a developer, I want to provide additional information about entities to facilitate the accuracy of selection. | |
As a developer, I want to quickly show search results to users (e.g. sub-second, specific threshold TBD) | |
As a developer, I want to receive pagination information with search results, such that, I can request the next page of results. | |
As a developer, I want data to be returned as linked data allowing for configurations that map ontologies to a normalized json format. | |
As a developer, I want data to be returned in the same format from all authorities (e.g. normalized json, json-ld, or something else) | |
As a developer, I want to be able to fulfill all search requests. (e.g. source authorities respond to all requests with excellent uptime) | |
As a developer, I want to update cached labels and URIs as changes are made to the authoritative source data. | |
As a developer, I want to receive search results with a filter applied. (e.g. date range, class type, language, arbitrary field) | |
Providers | |
As a provider, I want my data to be used. | |
As a provider, I want my data to be used accurately. | |
As a provider, I want to support the creation of application widgets that provide access to our data. | |
As a provider, I want our API(s) to be performant (e.g. sub-second queries, specific threshold TBD) | |
As a provider, I want access to our data to be available 24-7 with occasional outages for maintenance that will be announced in advance. | |
As a provider, I want to provide data for download facilitating local caching. | |
As a provider, I want to keep download files up to date. Need to define and publish expectations of reasonably up to date: quarterly, monthly, weekly, or daily | |
As a provider, I want to be able to provide partial downloads with only modifications since last download update. | |
As a provider, I want to provide notifications of changes to data (e.g. new, deleted, deprecated, moved, split, and merged entities) |
...