Skip to content

Commit d6d5291

Browse files
Merge pull request #2482 from IIIF/links-fixes
Links fixes
2 parents 44f62d1 + 6c90a8a commit d6d5291

3 files changed

Lines changed: 11 additions & 6 deletions

File tree

‎source/_includes/links.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,8 @@
207207
[org-rfc-7231-status]: https://tools.ietf.org/html/rfc7231#section-6 "HTTP 1.1, 6. Response Status Codes"
208208
[org-rfc-7540]: https://tools.ietf.org/html/rfc7540 "HTTP/2"
209209
[org-rfc-8259]: https://tools.ietf.org/html/rfc8259 "JSON RFC"
210+
[org-rfc-7946]: https://datatracker.ietf.org/doc/html/rfc7946 "GeoJSON RFC"
211+
210212
[org-rs-terms]: http://rightsstatements.org/page/1.0/ "rightsstatements.org"
211213
[org-semver]: http://semver.org/spec/v2.0.0.html "Semantic Versioning 2.0.0"
212214
[org-w3c-activitystreams]: https://www.w3.org/TR/activitystreams-core/
@@ -317,7 +319,9 @@
317319
<!-- Link definitions for Presentation API 4.0 model references -->
318320
<!-- Generated by scripts/link_code_references.py -->
319321

322+
[prezi40-ldce]: {{ site.api_url | absolute_url }}/presentation/4.{{ site.data.apis.presentation.latest.minor }}/#json-ld-and-extensions "Linked Data Context and Extensions"
320323

324+
[prezi40-context-collisions]: {{ site.api_url | absolute_url }}/presentation/4.{{ site.data.apis.presentation.latest.minor }}/#term-collisions-between-contexts
321325

322326
[prezi-40-model-Agent]: {{ site.api_url | absolute_url }}/presentation/4.0/model/#Agent
323327
[prezi-40-model-AmbientAudio]: {{ site.api_url | absolute_url }}/presentation/4.0/model/#AmbientAudio
@@ -409,6 +413,7 @@
409413
[prezi-40-model-timeMode]: {{ site.api_url | absolute_url }}/presentation/4.0/model/#timeMode
410414
[prezi-40-model-transform]: {{ site.api_url | absolute_url }}/presentation/4.0/model/#transform
411415
[prezi-40-model-type]: {{ site.api_url | absolute_url }}/presentation/4.0/model/#type
416+
[prezi-40-model-value]: {{ site.api_url | absolute_url }}/presentation/4.0/model/#value
412417
[prezi-40-model-viewingDirection]: {{ site.api_url | absolute_url }}/presentation/4.0/model/#viewingDirection
413418
[prezi-40-model-volume]: {{ site.api_url | absolute_url }}/presentation/4.0/model/#volume
414419
[prezi-40-model-width]: {{ site.api_url | absolute_url }}/presentation/4.0/model/#width

‎source/presentation/4.0/index.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ Manifest for the February 16, 1925 issue, with Ranges for table of contents:
421421
**Key Points**
422422
* Navigation between Manifests is managed via Collections, potentially in a hierarchy, which are each separate documents.
423423
* Navigation within a single Manifest (beyond the default order of the Containers) is managed via Ranges in the [`structures`][prezi-40-model-structures] property.
424-
* Further navigation, managed by the client, is possible via the [`navPlace`][[prezi-40-model-navPlace] and [`navDate`][prezi-40-model-navDate] properties. These are not semantic metadata, they are used by the client to generate navigation maps and timelines, respectively.
424+
* Further navigation, managed by the client, is possible via the [`navPlace`][prezi-40-model-navPlace] and [`navDate`][prezi-40-model-navDate] properties. These are not semantic metadata, they are used by the client to generate navigation maps and timelines, respectively.
425425
{: .callout}
426426

427427
__Definitions__<br/>

‎source/presentation/4.0/model.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2013,7 +2013,7 @@ The value _MUST_ be an [XSD dateTime literal][org-w3c-xsd-datetime]. The value _
20132013

20142014
A geographic location that clients may use for navigation purposes when presenting the resource to the user in a map-based user interface. The location is identified using structured data, described below, with latitude and longitude based points or polygons. If the location is only textual, then the information should instead be included in the `metadata` property.
20152015

2016-
The value of the property _MUST_ be a [GeoJSON Feature Collection][link] containing one or more [Features][link]. The value _SHOULD_ be embedded and _MAY_ be a reference. Feature Collections referenced in the `navPlace` property _MUST_ have the `id` and `type` properties and _MUST NOT_ have the `features` property.
2016+
The value of the property _MUST_ be a [GeoJSON][org-rfc-7946] Feature Collection containing one or more Features. The value _SHOULD_ be embedded and _MAY_ be a reference. Feature Collections referenced in the `navPlace` property _MUST_ have the `id` and `type` properties and _MUST NOT_ have the `features` property.
20172017

20182018
* A Collection _MAY_ have the `navPlace` property.<br/>
20192019
Clients _MAY_ render `navPlace` on a Collection.
@@ -2232,9 +2232,9 @@ The organization or person is represented as an Agent resource.
22322232
* Agents _MUST_ have the `id` property, and its value _MUST_ be a string. The string _MUST_ be a URI that identifies the agent.
22332233
* Agents _MUST_ have the `type` property, and its value _MUST_ be `Agent`.
22342234
* Agents _MUST_ have the `label` property, and its value _MUST_ be a JSON object as described in the [languages][prezi40-languages] section.
2235-
* Agents _SHOULD_ have the `homepage` property, and its value _MUST_ be an array of JSON objects as described in the [homepage][prezi40-homepage] section.
2236-
* Agents _SHOULD_ have the `logo` property, and its value _MUST_ be an array of JSON objects as described in the [logo][prezi40-logo] section.
2237-
* Agents _MAY_ have the `seeAlso` property, and its value _MUST_ be an array of JSON objects as described in the [seeAlso][prezi40-seealso] section.
2235+
* Agents _SHOULD_ have the `homepage` property, and its value _MUST_ be an array of JSON objects as described in the [homepage][prezi-40-model-homepage] section.
2236+
* Agents _SHOULD_ have the `logo` property, and its value _MUST_ be an array of JSON objects as described in the [logo][prezi-40-model-logo] section.
2237+
* Agents _MAY_ have the `seeAlso` property, and its value _MUST_ be an array of JSON objects as described in the [seeAlso][prezi-40-model-seealso] section.
22382238

22392239
The value _MUST_ be an array of JSON objects, where each item in the array conforms to the structure of an Agent, as described above.
22402240

@@ -3306,7 +3306,7 @@ The JSON representation _MUST NOT_ include the `@graph` key at the top level. Th
33063306

33073307
There are some common terms used in more than one JSON-LD context document. Every attempt has been made to minimize these collisions, but some are inevitable. In order to know which specification is in effect at any given point, the class of the resource that has the property is the primary governing factor. Thus properties on Annotation based resources use the context from the [Web Annotation Data Model][org-w3c-webanno], whereas properties on classes defined by this specification use the IIIF Presentation API context's definition.
33083308

3309-
There is one property that is in direct conflict - the `label` property is defined by both and is available for every resource. The use of `label` in IIIF follows modern best practices for internationalization by allowing the language to be associated with the value using the language map construction [described above][prezi40-languages], also allowing multiple languages to be used. The Web Annotation Data Model uses it only for [Annotation Collections][prezi40-annocoll], and mandates the format is a string. For this property, the API overrides the definition from the Annotation model to ensure that labels can consistently be represented in multiple languages.
3309+
There is one property that is in direct conflict - the `label` property is defined by both and is available for every resource. The use of `label` in IIIF follows modern best practices for internationalization by allowing the language to be associated with the value using the language map construction [described above][prezi40-languages], also allowing multiple languages to be used. The Web Annotation Data Model uses it only for [Annotation Collections][prezi-40-model-AnnotationCollection], and mandates the format is a string. For this property, the API overrides the definition from the Annotation model to ensure that labels can consistently be represented in multiple languages.
33103310

33113311
__Incompatibility Warning__<br/>
33123312
The definition of `label` in the Web Annotation specification does not produce JSON conformant with the structure defined in this specification for languages. Given the absolute requirement for internationalized labels and the strong desire for consistently handling properties, the `label` property on Annotation model classes does not conform to the string requirement of the Web Annotation Data Model. This [issue has been filed with the W3C][github-webanno-437] and will hopefully be addressed in a future version of the standard.

0 commit comments

Comments
 (0)