Use Case
You are able to implement the inclusion of a license, rights, or other important statement about a resource (e.g. a Manifest’s JSON or an image’s pixels) by using the rights
, requiredStatement
, and metadata
properties. This recipe will focus on the first two; see the Presentation 3.0 spec on metadata
for more information about that property.
While you may use rights
and requiredStatement
similarly for the function of asserting certain important information (e.g. reproduction rights, ownership, collection name), the properties do have material differences. These are the most salient:
- Content: The
rights
value must be a Creative Commons license URI, a RightsStatements.org URL, or added through the extension process. TherequiredStatement
value, on the other hand, can be any content, such as a copyright or institutional URI or text. - Rendering: Clients must render
requiredStatement
content on every resource type (even if hidden at first), butrights
content may or may not be rendered visibly. - Property Value: The
rights
property value must be a string, and must be a URI defined by Creative Commons or RightsStatement.org if you are using one of those specifications. On the other hand, therequiredStatement
value must be a single JSON object withlabel
andvalue
properties;metadata
values must be an array of JSON objects, where each object has thelabel
andvalue
properties. - Resource Applicability: Any resource type may have
rights
orrequiredStatement
. However,rights
is only for license or rights to the resource, whilerequiredStatement
can be any text the publishing organization deems critical to display to the user.
If user visibility of the information or a publisher-defined label is paramount, use requiredStatement
or metadata
. Resources may include all three properties.
Implementation notes
Because the rights
property may not necessarily be visible to the user, it should be considered primarily machine-oriented. Therefore, URIs in this property should use target entities’ machine-actionable URIs and their appropriate protocols. In the cases of Creative Commons licenses or RightsStatements.org statements, those protocols are HTTP, not HTTPS. Note, though, that clients may rewrite the content to use HTTPS if and as the URIs are made visible to users.
Conversely, since requiredStatement
values must be displayed or easily displayable to the user, URIs in this property should use target entities’ human-readable URIs. For Creative Commons licenses or RightsStatements.org statements, URIs for human-readable content use HTTPS.
Restrictions
None known.
Example
JSON-LD | View in Universal Viewer | View in Mirador | View in Annona | View in Clover | View in Glycerine Viewer | View in Theseus | View in IIIF Curation Viewer
Code samples: Python: iiif-prezi3
Related recipes
- Simplest Manifest - Single Image File
- Embedding HTML (Nearly identical manifest, but focusing on a different part of the spec.)