From 23c0443084e8cf9900753c32ec4bb82fd94ed12f Mon Sep 17 00:00:00 2001 From: saracarl Date: Tue, 17 Sep 2019 12:43:28 -0500 Subject: [PATCH 01/14] initial directory & readme for poetry annotations --- .../0103-poetry-reading-annotations/index.md | 40 +++++++++++++++++++ .../manifest.json | 8 ++++ 2 files changed, 48 insertions(+) create mode 100644 recipe/0103-poetry-reading-annotations/index.md create mode 100644 recipe/0103-poetry-reading-annotations/manifest.json diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md new file mode 100644 index 000000000..76fe63dc4 --- /dev/null +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -0,0 +1,40 @@ +--- +title: Annotating a Poetry Reading +id: 103 +layout: recipe +tags: [audio, presentation, annotation] +summary: "Use annotations to indicate aspects of the performance of a particular poem." +--- + + +## Use Case + +While an audio file of a poetry performance may be divided into a track for each poem, scholars may wish to use annotations to indicate aspects of the performance of a particular poem. + +Examples of the kinds of information to be annotated may include the following: +* structural information (introduction, title, stanzas) +* points where the performer takes a breath +* repeated phrases + +## Implementation notes + +This implementation builds off of the [audio example][0002], but adds Web Annotations. + + +## Example + +Describe in prose and provide examples, e.g.: + +{: .line-numbers data-src="manifest.json" } +```json +``` + +# Related recipes + +* [Simple Manifest - Audio][0002] +* [Transformation - WebVTT or OHMS XML to Annotations][0079] + + +{% include acronyms.md %} +{% include links.md %} + diff --git a/recipe/0103-poetry-reading-annotations/manifest.json b/recipe/0103-poetry-reading-annotations/manifest.json new file mode 100644 index 000000000..e4548f273 --- /dev/null +++ b/recipe/0103-poetry-reading-annotations/manifest.json @@ -0,0 +1,8 @@ +{ + "@context": [ + "http://www.w3.org/ns/anno.jsonld", + "http://iiif.io/api/presentation/{{ page.major }}/context.json" + ], + "id": "https://example.org/iiif/book1/manifest", + "type": "Manifest" + } \ No newline at end of file From 2224c3ba3d35f124393dbbdb1ae77cfe11dabaaa Mon Sep 17 00:00:00 2001 From: saracarl Date: Thu, 19 Sep 2019 13:41:39 -0500 Subject: [PATCH 02/14] initial manifest --- .../manifest.json | 37 ++++++++++++++++--- 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/manifest.json b/recipe/0103-poetry-reading-annotations/manifest.json index e4548f273..be09a6589 100644 --- a/recipe/0103-poetry-reading-annotations/manifest.json +++ b/recipe/0103-poetry-reading-annotations/manifest.json @@ -1,8 +1,33 @@ { - "@context": [ - "http://www.w3.org/ns/anno.jsonld", - "http://iiif.io/api/presentation/{{ page.major }}/context.json" - ], - "id": "https://example.org/iiif/book1/manifest", - "type": "Manifest" + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://example.org/iiif/annsexton1974herkind/manifest", + "type": "Manifest", + "label": { "en": [ "Anne Sexton, Poetry Reading, 1974 -- Her Kind" ] }, + "items": [ + { + "id": "https://example.org/iiif/annsexton1974herkind/canvas/segment1", + "type": "Canvas", + "duration": 107, + "items": [ + { + "id": "https://example.org/iiif/annsexton1974herkind/annotation/segment1/page", + "type": "AnnotationPage", + "items": [ + { + "id": "https://example.org/iiif/annsexton1974herkind/annotation/segment1-audio", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://library.harvard.edu/poetry/audio/listeningbooth//PS3537E915A6x1974/Her_Kind.mp3", + "type": "Sound", + "format": "audio/mp3", + "duration": 107 + }, + "target": "https://example.org/iiif/annsexton1974herkind/canvas/segment1" + } + ] + } + ] + } + ] } \ No newline at end of file From 971336a3d7bfab0a5b3dd6070576c2a0203b8a28 Mon Sep 17 00:00:00 2001 From: saracarl Date: Thu, 19 Sep 2019 14:04:49 -0500 Subject: [PATCH 03/14] manifest with working @id --- recipe/0103-poetry-reading-annotations/manifest.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/manifest.json b/recipe/0103-poetry-reading-annotations/manifest.json index be09a6589..2018c824b 100644 --- a/recipe/0103-poetry-reading-annotations/manifest.json +++ b/recipe/0103-poetry-reading-annotations/manifest.json @@ -1,20 +1,20 @@ { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://example.org/iiif/annsexton1974herkind/manifest", + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest" "type": "Manifest", "label": { "en": [ "Anne Sexton, Poetry Reading, 1974 -- Her Kind" ] }, "items": [ { - "id": "https://example.org/iiif/annsexton1974herkind/canvas/segment1", + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1", "type": "Canvas", "duration": 107, "items": [ { - "id": "https://example.org/iiif/annsexton1974herkind/annotation/segment1/page", + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/annotation/segment1/page", "type": "AnnotationPage", "items": [ { - "id": "https://example.org/iiif/annsexton1974herkind/annotation/segment1-audio", + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/annotation/segment1-audio", "type": "Annotation", "motivation": "painting", "body": { @@ -23,7 +23,7 @@ "format": "audio/mp3", "duration": 107 }, - "target": "https://example.org/iiif/annsexton1974herkind/canvas/segment1" + "target": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1" } ] } From 9f6b6386d999d9fdb89f634a5af8e1fea5648d6d Mon Sep 17 00:00:00 2001 From: saracarl Date: Thu, 19 Sep 2019 14:07:04 -0500 Subject: [PATCH 04/14] @id with a .json --- recipe/0103-poetry-reading-annotations/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/0103-poetry-reading-annotations/manifest.json b/recipe/0103-poetry-reading-annotations/manifest.json index 2018c824b..38a903e54 100644 --- a/recipe/0103-poetry-reading-annotations/manifest.json +++ b/recipe/0103-poetry-reading-annotations/manifest.json @@ -1,6 +1,6 @@ { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest" + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest.json" "type": "Manifest", "label": { "en": [ "Anne Sexton, Poetry Reading, 1974 -- Her Kind" ] }, "items": [ From 16771c02722890edcee65d821d6dcaaa42a0780b Mon Sep 17 00:00:00 2001 From: saracarl Date: Thu, 19 Sep 2019 14:08:40 -0500 Subject: [PATCH 05/14] missed comma --- recipe/0103-poetry-reading-annotations/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/0103-poetry-reading-annotations/manifest.json b/recipe/0103-poetry-reading-annotations/manifest.json index 38a903e54..f5b9606ba 100644 --- a/recipe/0103-poetry-reading-annotations/manifest.json +++ b/recipe/0103-poetry-reading-annotations/manifest.json @@ -1,6 +1,6 @@ { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest.json" + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest", "type": "Manifest", "label": { "en": [ "Anne Sexton, Poetry Reading, 1974 -- Her Kind" ] }, "items": [ From 5e35f81dc1b990add9ff9ecc091c672a52134f65 Mon Sep 17 00:00:00 2001 From: saracarl Date: Thu, 19 Sep 2019 14:10:49 -0500 Subject: [PATCH 06/14] @id with a .json --- recipe/0103-poetry-reading-annotations/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/0103-poetry-reading-annotations/manifest.json b/recipe/0103-poetry-reading-annotations/manifest.json index f5b9606ba..1d4015b4b 100644 --- a/recipe/0103-poetry-reading-annotations/manifest.json +++ b/recipe/0103-poetry-reading-annotations/manifest.json @@ -1,6 +1,6 @@ { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest", + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest.json", "type": "Manifest", "label": { "en": [ "Anne Sexton, Poetry Reading, 1974 -- Her Kind" ] }, "items": [ From 88cb0f29ddb0df20403e54a8078369a9ec8cf00c Mon Sep 17 00:00:00 2001 From: saracarl Date: Thu, 19 Sep 2019 14:46:20 -0500 Subject: [PATCH 07/14] added annotation --- .../annotations.json | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 recipe/0103-poetry-reading-annotations/annotations.json diff --git a/recipe/0103-poetry-reading-annotations/annotations.json b/recipe/0103-poetry-reading-annotations/annotations.json new file mode 100644 index 000000000..82b09c9f3 --- /dev/null +++ b/recipe/0103-poetry-reading-annotations/annotations.json @@ -0,0 +1,25 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/annopage/p1", + "type": "AnnotationPage", + "items": [ + { + "@context":"http://www.w3.org/ns/anno.jsonld", + "id":"https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/annotation1", + "type":"Annotation", + "motivation":"commenting", + "body":{ + "type":"TextualBody", + "value":"breath", + "format":"text/plain" + }, + "target":{ + "source":"https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1", + "selector":{ + "type":"PointSelector", + "t":"27.660653" + } + } + } + ] +} \ No newline at end of file From 53da3af2f8569c3f18b92b493b9a729f215348c6 Mon Sep 17 00:00:00 2001 From: saracarl Date: Fri, 20 Sep 2019 09:54:29 -0500 Subject: [PATCH 08/14] added homepage link to manifest --- recipe/0103-poetry-reading-annotations/index.md | 7 ++++++- recipe/0103-poetry-reading-annotations/manifest.json | 9 +++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md index 76fe63dc4..cf3e9aeeb 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -23,11 +23,16 @@ This implementation builds off of the [audio example][0002], but adds Web Annota ## Example -Describe in prose and provide examples, e.g.: +A manifest for the poem "Her Kind" read by Anne Sexton in 1974. The recording is 107 minutes long. {: .line-numbers data-src="manifest.json" } ```json ``` +Annotation examples, both a point annotation (at a particular time) and a range annotation (covering a time range) + +{: .line-numbers data-src="annotations.json" } +```json +``` # Related recipes diff --git a/recipe/0103-poetry-reading-annotations/manifest.json b/recipe/0103-poetry-reading-annotations/manifest.json index 1d4015b4b..cfb61d7f8 100644 --- a/recipe/0103-poetry-reading-annotations/manifest.json +++ b/recipe/0103-poetry-reading-annotations/manifest.json @@ -29,5 +29,14 @@ } ] } + ], + "homepage": [ + { + "id": "https://library.harvard.edu/poetry/listeningbooth/poets/sexton.html", + "type": "Text", + "label": { "en": [ "Anne Sexton at the Woodberry Poetry Room" ] }, + "format": "text/html", + "language": [ "en" ] + } ] } \ No newline at end of file From 53c8b36316afa66e7ee4875ce04943313e0c038d Mon Sep 17 00:00:00 2001 From: saracarl Date: Thu, 10 Oct 2019 14:25:33 -0500 Subject: [PATCH 09/14] aded a RangeSelector annotation --- .../annotations.json | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/annotations.json b/recipe/0103-poetry-reading-annotations/annotations.json index 82b09c9f3..a9dc289a4 100644 --- a/recipe/0103-poetry-reading-annotations/annotations.json +++ b/recipe/0103-poetry-reading-annotations/annotations.json @@ -2,7 +2,8 @@ "@context": "http://iiif.io/api/presentation/3/context.json", "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/annopage/p1", "type": "AnnotationPage", - "items": [ + "items": + [ { "@context":"http://www.w3.org/ns/anno.jsonld", "id":"https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/annotation1", @@ -20,6 +21,24 @@ "t":"27.660653" } } - } - ] + }, + { + "@context": "http://www.w3.org/ns/anno.jsonld", + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1/annotation/4", + "type": "Annotation", + "motivation": "commenting", + "body": { + "type": "TextualBody", + "value": "her kind", + "format": "text/plain" + }, + "target": { + "source": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1", + "selector": { + "type": "RangeSelector", + "t": "46.734653,47.875068" + } + } + } + ] } \ No newline at end of file From 1ab053f8abb678488b86b9b1ecf98681f35b58c4 Mon Sep 17 00:00:00 2001 From: saracarl Date: Mon, 28 Oct 2019 10:44:16 -0500 Subject: [PATCH 10/14] edits to show both embedded annotations and annotations in a separate file --- .../0103-poetry-reading-annotations/index.md | 21 ++++- .../manifest1.json | 86 +++++++++++++++++++ .../{manifest.json => manifest2.json} | 6 ++ 3 files changed, 109 insertions(+), 4 deletions(-) create mode 100644 recipe/0103-poetry-reading-annotations/manifest1.json rename recipe/0103-poetry-reading-annotations/{manifest.json => manifest2.json} (89%) diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md index cf3e9aeeb..2d815e7c3 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -11,24 +11,37 @@ summary: "Use annotations to indicate aspects of the performance of a particular While an audio file of a poetry performance may be divided into a track for each poem, scholars may wish to use annotations to indicate aspects of the performance of a particular poem. -Examples of the kinds of information to be annotated may include the following: +A researcher might want to annotate the following types of information: * structural information (introduction, title, stanzas) * points where the performer takes a breath * repeated phrases +Since annotations could be available at the same time the manifest is generated, or might be a separate process that references the item manifest, both scenarios are shown. + +There is a third use case where manifests are unaware of annotations on them, but the systems that display the item are aware of the annotations and pull them in, using the target block in the annotation. + ## Implementation notes This implementation builds off of the [audio example][0002], but adds Web Annotations. +This recipe shows two variations of referencing annotations from within a manifest. The first has the annotations embedded within the manifest file. The second has a reference to annotations in a separate file. + ## Example -A manifest for the poem "Her Kind" read by Anne Sexton in 1974. The recording is 107 minutes long. +A manifest for the poem "Her Kind" read by Anne Sexton in 1974. The recording is 107 minutes long. Annotations are included in the manifest and show both a point annotation (at a particular time) and a range annotation (covering a time range). (For more on these annotations, see the [annotation.json file description.](#annotations)) + +{: .line-numbers data-src="manifest1.json" } +```json +``` -{: .line-numbers data-src="manifest.json" } +The same manifest, but with a reference to annotations in a separate file. The annotation file is included below the manifest. + +{: .line-numbers data-src="manifest2.json" } ```json ``` -Annotation examples, both a point annotation (at a particular time) and a range annotation (covering a time range) + +Annotation examples, both a point annotation (at a particular time) and a range annotation (covering a time range). We use the "supplementing" motivation because these annotations are derived from the audio file on the canvas and the "commenting" motivation because the annotations are a comment about the canvas. Annotations must have "supplementing" as a motivation for any annotations derived from the items on the canvas. {: .line-numbers data-src="annotations.json" } ```json diff --git a/recipe/0103-poetry-reading-annotations/manifest1.json b/recipe/0103-poetry-reading-annotations/manifest1.json new file mode 100644 index 000000000..fad490a8a --- /dev/null +++ b/recipe/0103-poetry-reading-annotations/manifest1.json @@ -0,0 +1,86 @@ +{ + "@context": "http://iiif.io/api/presentation/3/context.json", + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest.json", + "type": "Manifest", + "label": { "en": [ "Anne Sexton, Poetry Reading, 1974 -- Her Kind" ] }, + "items": [ + { + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1", + "type": "Canvas", + "duration": 107, + "items": [ + { + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/annotation/segment1/page", + "type": "AnnotationPage", + "items": [ + { + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/annotation/segment1-audio", + "type": "Annotation", + "motivation": "painting", + "body": { + "id": "https://library.harvard.edu/poetry/audio/listeningbooth//PS3537E915A6x1974/Her_Kind.mp3", + "type": "Sound", + "format": "audio/mp3", + "duration": 107 + }, + "target": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1" + } + ] + } + ] + } + ], + "annotations": [ + { + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/annotations.json", + "type": "AnnotationPage", + "items": [ + { + "@context":"http://www.w3.org/ns/anno.jsonld", + "id":"https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/annotation1", + "type":"Annotation", + "motivation":"commenting", + "body":{ + "type":"TextualBody", + "value":"breath", + "format":"text/plain" + }, + "target":{ + "source":"https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1", + "selector":{ + "type":"PointSelector", + "t":"27.660653" + } + } + }, + { + "@context": "http://www.w3.org/ns/anno.jsonld", + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1/annotation/4", + "type": "Annotation", + "motivation": "commenting", + "body": { + "type": "TextualBody", + "value": "her kind", + "format": "text/plain" + }, + "target": { + "source": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1", + "selector": { + "type": "RangeSelector", + "t": "46.734653,47.875068" + } + } + } + ] + } + ], + "homepage": [ + { + "id": "https://library.harvard.edu/poetry/listeningbooth/poets/sexton.html", + "type": "Text", + "label": { "en": [ "Anne Sexton at the Woodberry Poetry Room" ] }, + "format": "text/html", + "language": [ "en" ] + } + ] + } \ No newline at end of file diff --git a/recipe/0103-poetry-reading-annotations/manifest.json b/recipe/0103-poetry-reading-annotations/manifest2.json similarity index 89% rename from recipe/0103-poetry-reading-annotations/manifest.json rename to recipe/0103-poetry-reading-annotations/manifest2.json index cfb61d7f8..b2b0cc0ab 100644 --- a/recipe/0103-poetry-reading-annotations/manifest.json +++ b/recipe/0103-poetry-reading-annotations/manifest2.json @@ -30,6 +30,12 @@ ] } ], + "annotations": [ + { + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/annotations.json", + "type": "AnnotationPage", + } + ], "homepage": [ { "id": "https://library.harvard.edu/poetry/listeningbooth/poets/sexton.html", From b593f6af912a75e92a7bc225159b69ccab7f9134 Mon Sep 17 00:00:00 2001 From: Sara Brumfield Date: Tue, 5 Nov 2019 10:25:48 -0600 Subject: [PATCH 11/14] Update recipe/0103-poetry-reading-annotations/index.md change minutes to seconds. Co-Authored-By: cjcolvar --- recipe/0103-poetry-reading-annotations/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md index 2d815e7c3..0e99f3b22 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -29,7 +29,7 @@ This recipe shows two variations of referencing annotations from within a manife ## Example -A manifest for the poem "Her Kind" read by Anne Sexton in 1974. The recording is 107 minutes long. Annotations are included in the manifest and show both a point annotation (at a particular time) and a range annotation (covering a time range). (For more on these annotations, see the [annotation.json file description.](#annotations)) +A manifest for the poem "Her Kind" read by Anne Sexton in 1974. The recording is 107 seconds long. Annotations are included in the manifest and show both a point annotation (at a particular time) and a range annotation (covering a time range). (For more on these annotations, see the [annotation.json file description.](#annotations)) {: .line-numbers data-src="manifest1.json" } ```json From 1440f3636b5535004e4629f4e4ae729bff51463a Mon Sep 17 00:00:00 2001 From: saracarl Date: Mon, 11 Nov 2019 08:53:09 -0600 Subject: [PATCH 12/14] updates per the Ann Arbor working meeting review --- .../annotations.json | 13 ++- .../0103-poetry-reading-annotations/index.md | 30 ++++- .../manifest1.json | 103 +++++++++--------- .../manifest2.json | 13 ++- 4 files changed, 97 insertions(+), 62 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/annotations.json b/recipe/0103-poetry-reading-annotations/annotations.json index a9dc289a4..8d85bd524 100644 --- a/recipe/0103-poetry-reading-annotations/annotations.json +++ b/recipe/0103-poetry-reading-annotations/annotations.json @@ -1,12 +1,15 @@ +--- +layout: null +--- { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/annopage/p1", + "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/annopage/p1", "type": "AnnotationPage", "items": [ { "@context":"http://www.w3.org/ns/anno.jsonld", - "id":"https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/annotation1", + "id":"{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/annotation1", "type":"Annotation", "motivation":"commenting", "body":{ @@ -15,7 +18,7 @@ "format":"text/plain" }, "target":{ - "source":"https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1", + "source":"{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1", "selector":{ "type":"PointSelector", "t":"27.660653" @@ -24,7 +27,7 @@ }, { "@context": "http://www.w3.org/ns/anno.jsonld", - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1/annotation/4", + "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/annotation/4", "type": "Annotation", "motivation": "commenting", "body": { @@ -33,7 +36,7 @@ "format": "text/plain" }, "target": { - "source": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1", + "source": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1", "selector": { "type": "RangeSelector", "t": "46.734653,47.875068" diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md index 0e99f3b22..0336992e9 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -22,10 +22,36 @@ There is a third use case where manifests are unaware of annotations on them, bu ## Implementation notes -This implementation builds off of the [audio example][0002], but adds Web Annotations. +1. This implementation builds off of the [audio example][0002], but adds Web Annotations. -This recipe shows two variations of referencing annotations from within a manifest. The first has the annotations embedded within the manifest file. The second has a reference to annotations in a separate file. +2. This recipe shows two variations of referencing annotations from within a manifest. The first has the annotations embedded within the manifest file. The second has a reference to annotations in a separate file. +3. Where we use "RangeSelector" for the annotation target, we could instead use a Media Fragment like "#t=1.23,2.23" appended to the canvas URL. Instead of "source" you'd condense it into the "target" field. For example: + +``` + "target": { + "source": "http://localhost:4000/recipe/0103-poetry-reading-annotations/manifest1.json/canvas/segment1/canvas/segment1", + "selector": { + "type": "RangeSelector", + "t": "46.734653,47.875068" + } +``` + +Could become + +``` + "target": "http://localhost:4000/recipe/0103-poetry-reading-annotations/manifest1.json/canvas/segment1/canvas/segment1#t=46.734653,47.875068" +``` + +Both are correct. + +4. While the IIIF Specification requires arrays for most values, the W3C Web Annotation Specification does not require arrays, so the following line: + +`"motivation": "commenting",` + +is correct, but unusual for a IIIF resource. It could also be expressed (and must be if there is more than one motivation) as follows: + +`"motivation": ["commenting"],` ## Example diff --git a/recipe/0103-poetry-reading-annotations/manifest1.json b/recipe/0103-poetry-reading-annotations/manifest1.json index fad490a8a..b70ac1d11 100644 --- a/recipe/0103-poetry-reading-annotations/manifest1.json +++ b/recipe/0103-poetry-reading-annotations/manifest1.json @@ -1,20 +1,23 @@ +--- +layout: null +--- { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest.json", + "id": "{{site.url}}{{site.basurl}}/{{page.path}}", "type": "Manifest", "label": { "en": [ "Anne Sexton, Poetry Reading, 1974 -- Her Kind" ] }, "items": [ { - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1", + "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/canvas/segment1", "type": "Canvas", "duration": 107, "items": [ { - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/annotation/segment1/page", + "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/annotation/segment1/page", "type": "AnnotationPage", "items": [ { - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/annotation/segment1-audio", + "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/annotation/segment1-audio", "type": "Annotation", "motivation": "painting", "body": { @@ -23,57 +26,57 @@ "format": "audio/mp3", "duration": 107 }, - "target": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1" + "target": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/canvas/segment1" + }, + ], + "annotations": [ + { + "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/annotations.json", + "type": "AnnotationPage", + "items": [ + { + "@context":"http://www.w3.org/ns/anno.jsonld", + "id":"{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/canvas/annotation1", + "type":"Annotation", + "motivation":"commenting", + "body":{ + "type":"TextualBody", + "value":"breath", + "format":"text/plain" + }, + "target":{ + "source":"{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/canvas/segment1", + "selector":{ + "type":"PointSelector", + "t":"27.660653" + } + } + }, + { + "@context": "http://www.w3.org/ns/anno.jsonld", + "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/canvas/segment1/annotation/4", + "type": "Annotation", + "motivation": "commenting", + "body": { + "type": "TextualBody", + "value": "her kind", + "format": "text/plain" + }, + "target": { + "source": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/canvas/segment1", + "selector": { + "type": "RangeSelector", + "t": "46.734653,47.875068" + } + } + } + ] } ] } ] } ], - "annotations": [ - { - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/annotations.json", - "type": "AnnotationPage", - "items": [ - { - "@context":"http://www.w3.org/ns/anno.jsonld", - "id":"https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/annotation1", - "type":"Annotation", - "motivation":"commenting", - "body":{ - "type":"TextualBody", - "value":"breath", - "format":"text/plain" - }, - "target":{ - "source":"https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1", - "selector":{ - "type":"PointSelector", - "t":"27.660653" - } - } - }, - { - "@context": "http://www.w3.org/ns/anno.jsonld", - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1/annotation/4", - "type": "Annotation", - "motivation": "commenting", - "body": { - "type": "TextualBody", - "value": "her kind", - "format": "text/plain" - }, - "target": { - "source": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1", - "selector": { - "type": "RangeSelector", - "t": "46.734653,47.875068" - } - } - } - ] - } - ], "homepage": [ { "id": "https://library.harvard.edu/poetry/listeningbooth/poets/sexton.html", @@ -83,4 +86,4 @@ "language": [ "en" ] } ] - } \ No newline at end of file + } diff --git a/recipe/0103-poetry-reading-annotations/manifest2.json b/recipe/0103-poetry-reading-annotations/manifest2.json index b2b0cc0ab..1333ec171 100644 --- a/recipe/0103-poetry-reading-annotations/manifest2.json +++ b/recipe/0103-poetry-reading-annotations/manifest2.json @@ -1,20 +1,23 @@ +--- +layout: null +--- { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest.json", + "id": "{{site.url}}{{site.baseurl}}/{{page.path}}", "type": "Manifest", "label": { "en": [ "Anne Sexton, Poetry Reading, 1974 -- Her Kind" ] }, "items": [ { - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1", + "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1", "type": "Canvas", "duration": 107, "items": [ { - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/annotation/segment1/page", + "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/annotation/segment1/page", "type": "AnnotationPage", "items": [ { - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/annotation/segment1-audio", + "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/annotation/segment1-audio", "type": "Annotation", "motivation": "painting", "body": { @@ -23,7 +26,7 @@ "format": "audio/mp3", "duration": 107 }, - "target": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/manifest/canvas/segment1" + "target": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1" } ] } From d7b1ec73dbbaf412be3556cd9a5574212595723b Mon Sep 17 00:00:00 2001 From: saracarl Date: Tue, 12 Nov 2019 11:04:34 -0600 Subject: [PATCH 13/14] better IDs/URIs for all the things --- .../annotations.json | 2 +- .../manifest1.json | 160 ++++++++++-------- .../manifest2.json | 27 +-- 3 files changed, 101 insertions(+), 88 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/annotations.json b/recipe/0103-poetry-reading-annotations/annotations.json index 8d85bd524..c75dd45e4 100644 --- a/recipe/0103-poetry-reading-annotations/annotations.json +++ b/recipe/0103-poetry-reading-annotations/annotations.json @@ -3,7 +3,7 @@ layout: null --- { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/annopage/p1", + "id": "{{site.url}}{{site.baseurl}}{{page.dir}}annotations.json", "type": "AnnotationPage", "items": [ diff --git a/recipe/0103-poetry-reading-annotations/manifest1.json b/recipe/0103-poetry-reading-annotations/manifest1.json index b70ac1d11..364ffd2eb 100644 --- a/recipe/0103-poetry-reading-annotations/manifest1.json +++ b/recipe/0103-poetry-reading-annotations/manifest1.json @@ -2,88 +2,98 @@ layout: null --- { - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "{{site.url}}{{site.basurl}}/{{page.path}}", - "type": "Manifest", - "label": { "en": [ "Anne Sexton, Poetry Reading, 1974 -- Her Kind" ] }, - "items": [ - { - "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/canvas/segment1", - "type": "Canvas", - "duration": 107, - "items": [ - { - "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/annotation/segment1/page", - "type": "AnnotationPage", - "items": [ - { - "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/annotation/segment1-audio", - "type": "Annotation", - "motivation": "painting", - "body": { - "id": "https://library.harvard.edu/poetry/audio/listeningbooth//PS3537E915A6x1974/Her_Kind.mp3", - "type": "Sound", - "format": "audio/mp3", - "duration": 107 - }, - "target": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/canvas/segment1" + "@context":"http://iiif.io/api/presentation/3/context.json", + "id":"{{site.url}}{{site.basurl}}/{{page.path}}", + "type":"Manifest", + "label":{ + "en":[ + "Anne Sexton, Poetry Reading, 1974 -- Her Kind" + ] + }, + "items":[ + { + "id":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1", + "type":"Canvas", + "duration":107, + "items":[ + { + "id":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1/paintings", + "type":"AnnotationPage", + "items":[ + { + "id":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1/painting/1", + "type":"Annotation", + "motivation":"painting", + "body":{ + "id":"https://library.harvard.edu/poetry/audio/listeningbooth//PS3537E915A6x1974/Her_Kind.mp3", + "type":"Sound", + "format":"audio/mp3", + "duration":107 }, - ], - "annotations": [ - { - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/annotations.json", - "type": "AnnotationPage", - "items": [ - { + "target":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1" + } + ], + "annotations":[ + { + "id":"{{site.url}}{{site.baseurl}}{{page.dir}}annotations.json", + "type":"AnnotationPage", + "items":[ + { "@context":"http://www.w3.org/ns/anno.jsonld", - "id":"{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/canvas/annotation1", + "id":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1/annotation/1", "type":"Annotation", "motivation":"commenting", - "body":{ - "type":"TextualBody", - "value":"breath", - "format":"text/plain" + "body":{ + "type":"TextualBody", + "value":"breath", + "format":"text/plain" }, - "target":{ - "source":"{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/canvas/segment1", - "selector":{ - "type":"PointSelector", - "t":"27.660653" - } + "target":{ + "source":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1", + "selector":{ + "type":"PointSelector", + "t":"27.660653" + } } - }, - { - "@context": "http://www.w3.org/ns/anno.jsonld", - "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/canvas/segment1/annotation/4", - "type": "Annotation", - "motivation": "commenting", - "body": { - "type": "TextualBody", - "value": "her kind", - "format": "text/plain" }, - "target": { - "source": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/canvas/segment1", - "selector": { - "type": "RangeSelector", - "t": "46.734653,47.875068" + { + "@context":"http://www.w3.org/ns/anno.jsonld", + "id":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1/annotation/2", + "type":"Annotation", + "motivation":"commenting", + "body":{ + "type":"TextualBody", + "value":"her kind", + "format":"text/plain" + }, + "target":{ + "source":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1", + "selector":{ + "type":"RangeSelector", + "t":"46.734653,47.875068" + } } } - } - ] - } - ] - } + ] + } + ] + } + ] + } + ], + "homepage":[ + { + "id":"https://library.harvard.edu/poetry/listeningbooth/poets/sexton.html", + "type":"Text", + "label":{ + "en":[ + "Anne Sexton at the Woodberry Poetry Room" ] - } - ], - "homepage": [ - { - "id": "https://library.harvard.edu/poetry/listeningbooth/poets/sexton.html", - "type": "Text", - "label": { "en": [ "Anne Sexton at the Woodberry Poetry Room" ] }, - "format": "text/html", - "language": [ "en" ] - } - ] - } + }, + "format":"text/html", + "language":[ + "en" + ] + } + ] +} \ No newline at end of file diff --git a/recipe/0103-poetry-reading-annotations/manifest2.json b/recipe/0103-poetry-reading-annotations/manifest2.json index 1333ec171..edded42a5 100644 --- a/recipe/0103-poetry-reading-annotations/manifest2.json +++ b/recipe/0103-poetry-reading-annotations/manifest2.json @@ -1,23 +1,26 @@ --- layout: null --- +--- +layout: null +--- { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "{{site.url}}{{site.baseurl}}/{{page.path}}", + "id": "{{site.url}}{{site.basurl}}/{{page.path}}", "type": "Manifest", "label": { "en": [ "Anne Sexton, Poetry Reading, 1974 -- Her Kind" ] }, "items": [ { - "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1", + "id": "{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1", "type": "Canvas", "duration": 107, "items": [ { - "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/annotation/segment1/page", + "id": "{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1/paintings", "type": "AnnotationPage", "items": [ { - "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/annotation/segment1-audio", + "id": "{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1/painting/1", "type": "Annotation", "motivation": "painting", "body": { @@ -26,19 +29,19 @@ layout: null "format": "audio/mp3", "duration": 107 }, - "target": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1" - } - ] - } - ] - } + "target": "{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1" + }, + ], + } + ], + } ], "annotations": [ { - "id": "https://raw.githubusercontent.com/BrumfieldLabs/cookbook-recipes/master/recipe/0103-poetry-reading-annotations/annotations.json", + "id": "{{site.url}}{{site.baseurl}}{{page.dir}}annotations.json", "type": "AnnotationPage", } - ], + ], "homepage": [ { "id": "https://library.harvard.edu/poetry/listeningbooth/poets/sexton.html", From fae0beaee6168b4f533dd362619334ee1b977122 Mon Sep 17 00:00:00 2001 From: saracarl Date: Tue, 12 Nov 2019 11:06:01 -0600 Subject: [PATCH 14/14] fixed double frontmatter --- recipe/0103-poetry-reading-annotations/manifest2.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/manifest2.json b/recipe/0103-poetry-reading-annotations/manifest2.json index edded42a5..bd5a02435 100644 --- a/recipe/0103-poetry-reading-annotations/manifest2.json +++ b/recipe/0103-poetry-reading-annotations/manifest2.json @@ -1,9 +1,6 @@ --- layout: null --- ---- -layout: null ---- { "@context": "http://iiif.io/api/presentation/3/context.json", "id": "{{site.url}}{{site.basurl}}/{{page.path}}",