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
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
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
rightsvalue must be a Creative Commons license URI, a RightsStatements.org URL, or added through the extension process. The
requiredStatementvalue, on the other hand, can be any content, such as a copyright or institutional URI or text.
- Rendering: Clients must render
requiredStatementcontent on every resource type (even if hidden at first), but
rightscontent may or may not be rendered visibly.
- Property Value: The
rightsproperty 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, the
requiredStatementvalue must be a single JSON object with
metadatavalues must be an array of JSON objects, where each object has the
- Resource Applicability: Any resource type may have
rightsis only for license or rights to the resource, while
requiredStatementcan 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
metadata. Resources may include all three properties.
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.
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.
Code samples: Python: iiif-prezi3