From 23c0443084e8cf9900753c32ec4bb82fd94ed12f Mon Sep 17 00:00:00 2001 From: saracarl Date: Tue, 17 Sep 2019 12:43:28 -0500 Subject: [PATCH 01/30] 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/30] 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/30] 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/30] @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/30] 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/30] @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/30] 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/30] 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/30] 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/30] 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/30] 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/30] 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/30] 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/30] 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}}", From 6a5f9956ac34bc9708d58762ec2ca0c4e18adafe Mon Sep 17 00:00:00 2001 From: Glen Robson Date: Wed, 20 Nov 2019 12:33:27 +0000 Subject: [PATCH 15/30] Importing from Sara's branch and updating Jekyll variables --- .../annotations.json | 15 +++++------ .../manifest1.json | 25 ++++++++----------- .../manifest2.json | 25 ++++++++----------- 3 files changed, 28 insertions(+), 37 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/annotations.json b/recipe/0103-poetry-reading-annotations/annotations.json index c75dd45e4..546f04c86 100644 --- a/recipe/0103-poetry-reading-annotations/annotations.json +++ b/recipe/0103-poetry-reading-annotations/annotations.json @@ -1,15 +1,12 @@ ---- -layout: null ---- { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "{{site.url}}{{site.baseurl}}{{page.dir}}annotations.json", + "id": "{{ id.url }}", "type": "AnnotationPage", "items": [ { "@context":"http://www.w3.org/ns/anno.jsonld", - "id":"{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/annotation1", + "id":"{{ id.path }}/canvas/annotation1", "type":"Annotation", "motivation":"commenting", "body":{ @@ -18,7 +15,7 @@ layout: null "format":"text/plain" }, "target":{ - "source":"{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1", + "source":"{{ id.path }}/canvas/1", "selector":{ "type":"PointSelector", "t":"27.660653" @@ -27,7 +24,7 @@ layout: null }, { "@context": "http://www.w3.org/ns/anno.jsonld", - "id": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1/annotation/4", + "id": "{{ id.path }}/canvas/segment1/annotation/4", "type": "Annotation", "motivation": "commenting", "body": { @@ -36,7 +33,7 @@ layout: null "format": "text/plain" }, "target": { - "source": "{{site.url}}{{site.baseurl}}/{{page.path}}/canvas/segment1", + "source": "{{ id.path }}/canvas/1", "selector": { "type": "RangeSelector", "t": "46.734653,47.875068" @@ -44,4 +41,4 @@ layout: null } } ] -} \ No newline at end of file +} diff --git a/recipe/0103-poetry-reading-annotations/manifest1.json b/recipe/0103-poetry-reading-annotations/manifest1.json index 364ffd2eb..1ce588d1a 100644 --- a/recipe/0103-poetry-reading-annotations/manifest1.json +++ b/recipe/0103-poetry-reading-annotations/manifest1.json @@ -1,9 +1,6 @@ ---- -layout: null ---- { "@context":"http://iiif.io/api/presentation/3/context.json", - "id":"{{site.url}}{{site.basurl}}/{{page.path}}", + "id":"{{ id.url }}", "type":"Manifest", "label":{ "en":[ @@ -12,16 +9,16 @@ layout: null }, "items":[ { - "id":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1", + "id":"{{ id.path }}/canvas/1", "type":"Canvas", "duration":107, "items":[ { - "id":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1/paintings", + "id":"{{ id.path }}/canvas/1/paintings", "type":"AnnotationPage", "items":[ { - "id":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1/painting/1", + "id":"{{ id.path }}/canvas/1/painting/1", "type":"Annotation", "motivation":"painting", "body":{ @@ -30,17 +27,17 @@ layout: null "format":"audio/mp3", "duration":107 }, - "target":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1" + "target":"{{ id.path }}/canvas/1" } ], "annotations":[ { - "id":"{{site.url}}{{site.baseurl}}{{page.dir}}annotations.json", + "id":"{{ id.path }}/annotations.json", "type":"AnnotationPage", "items":[ { "@context":"http://www.w3.org/ns/anno.jsonld", - "id":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1/annotation/1", + "id":"{{ id.path }}/canvas/1/annotation/1", "type":"Annotation", "motivation":"commenting", "body":{ @@ -49,7 +46,7 @@ layout: null "format":"text/plain" }, "target":{ - "source":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1", + "source":"{{ id.path }}/canvas/1", "selector":{ "type":"PointSelector", "t":"27.660653" @@ -58,7 +55,7 @@ layout: null }, { "@context":"http://www.w3.org/ns/anno.jsonld", - "id":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1/annotation/2", + "id":"{{ id.path }}/canvas/1/annotation/2", "type":"Annotation", "motivation":"commenting", "body":{ @@ -67,7 +64,7 @@ layout: null "format":"text/plain" }, "target":{ - "source":"{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1", + "source":"{{ id.path }}/canvas/1", "selector":{ "type":"RangeSelector", "t":"46.734653,47.875068" @@ -96,4 +93,4 @@ layout: null ] } ] -} \ 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 bd5a02435..24a6695d7 100644 --- a/recipe/0103-poetry-reading-annotations/manifest2.json +++ b/recipe/0103-poetry-reading-annotations/manifest2.json @@ -1,23 +1,20 @@ ---- -layout: null ---- { "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "{{site.url}}{{site.basurl}}/{{page.path}}", + "id": "{{ id.url }}", "type": "Manifest", "label": { "en": [ "Anne Sexton, Poetry Reading, 1974 -- Her Kind" ] }, "items": [ { - "id": "{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1", + "id": "{{ id.path }}/canvas/1", "type": "Canvas", "duration": 107, "items": [ { - "id": "{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1/paintings", + "id": "{{ id.path }}/canvas/1/paintings", "type": "AnnotationPage", "items": [ { - "id": "{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1/painting/1", + "id": "{{ id.path }}/canvas/1/painting/1", "type": "Annotation", "motivation": "painting", "body": { @@ -26,17 +23,17 @@ layout: null "format": "audio/mp3", "duration": 107 }, - "target": "{{site.url}}{{site.baseurl}}{{page.dir}}canvas/1" - }, - ], + "target": "{{ id.path }}/canvas/1" + } + ] } - ], + ] } ], "annotations": [ { - "id": "{{site.url}}{{site.baseurl}}{{page.dir}}annotations.json", - "type": "AnnotationPage", + "id": "{{ id.path }}/annotations.json", + "type": "AnnotationPage" } ], "homepage": [ @@ -48,4 +45,4 @@ layout: null "language": [ "en" ] } ] - } \ No newline at end of file + } From e3e42c7bb422c65595e2fcfd5ca51a04f873cf98 Mon Sep 17 00:00:00 2001 From: saracarl Date: Wed, 11 Dec 2019 10:15:14 -0600 Subject: [PATCH 16/30] fixes per TRC review --- recipe/0103-poetry-reading-annotations/annotations.json | 2 +- recipe/0103-poetry-reading-annotations/manifest1.json | 2 +- recipe/0103-poetry-reading-annotations/manifest2.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/annotations.json b/recipe/0103-poetry-reading-annotations/annotations.json index 546f04c86..59b0fb24f 100644 --- a/recipe/0103-poetry-reading-annotations/annotations.json +++ b/recipe/0103-poetry-reading-annotations/annotations.json @@ -18,7 +18,7 @@ "source":"{{ id.path }}/canvas/1", "selector":{ "type":"PointSelector", - "t":"27.660653" + "t":27.660653 } } }, diff --git a/recipe/0103-poetry-reading-annotations/manifest1.json b/recipe/0103-poetry-reading-annotations/manifest1.json index 1ce588d1a..2cfb4ef69 100644 --- a/recipe/0103-poetry-reading-annotations/manifest1.json +++ b/recipe/0103-poetry-reading-annotations/manifest1.json @@ -49,7 +49,7 @@ "source":"{{ id.path }}/canvas/1", "selector":{ "type":"PointSelector", - "t":"27.660653" + "t":27.660653 } } }, diff --git a/recipe/0103-poetry-reading-annotations/manifest2.json b/recipe/0103-poetry-reading-annotations/manifest2.json index 24a6695d7..0318c17c6 100644 --- a/recipe/0103-poetry-reading-annotations/manifest2.json +++ b/recipe/0103-poetry-reading-annotations/manifest2.json @@ -18,7 +18,7 @@ "type": "Annotation", "motivation": "painting", "body": { - "id": "https://library.harvard.edu/poetry/audio/listeningbooth//PS3537E915A6x1974/Her_Kind.mp3", + "id": "https://library.harvard.edu/poetry/audio/listeningbooth/PS3537E915A6x1974/Her_Kind.mp3", "type": "Sound", "format": "audio/mp3", "duration": 107 From 107ecabf6c30a7970bb03ebc42ccd12cb9fc1816 Mon Sep 17 00:00:00 2001 From: saracarl Date: Wed, 11 Dec 2019 20:30:20 -0600 Subject: [PATCH 17/30] removed annotation context --- recipe/0103-poetry-reading-annotations/annotations.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/annotations.json b/recipe/0103-poetry-reading-annotations/annotations.json index 59b0fb24f..b24c615a2 100644 --- a/recipe/0103-poetry-reading-annotations/annotations.json +++ b/recipe/0103-poetry-reading-annotations/annotations.json @@ -5,7 +5,6 @@ "items": [ { - "@context":"http://www.w3.org/ns/anno.jsonld", "id":"{{ id.path }}/canvas/annotation1", "type":"Annotation", "motivation":"commenting", @@ -23,7 +22,6 @@ } }, { - "@context": "http://www.w3.org/ns/anno.jsonld", "id": "{{ id.path }}/canvas/segment1/annotation/4", "type": "Annotation", "motivation": "commenting", From e2a9aaf551dcad5c6d1809160b7324af83365963 Mon Sep 17 00:00:00 2001 From: saracarl Date: Fri, 13 Dec 2019 07:51:09 -0600 Subject: [PATCH 18/30] changed range selectors --- .../annotations.json | 17 ++++++++++++----- .../manifest1.json | 13 +++++++++---- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/annotations.json b/recipe/0103-poetry-reading-annotations/annotations.json index b24c615a2..9bb8fd44e 100644 --- a/recipe/0103-poetry-reading-annotations/annotations.json +++ b/recipe/0103-poetry-reading-annotations/annotations.json @@ -30,12 +30,19 @@ "value": "her kind", "format": "text/plain" }, - "target": { - "source": "{{ id.path }}/canvas/1", - "selector": { - "type": "RangeSelector", - "t": "46.734653,47.875068" + "target":{ + "source":"{{ id.path }}/canvas/1", + "selector":{ + "type":"RangeSelector", + "startSelector": { + "type": "PointSelector", + "t":46.734653 + }, + "endSelector": { + "type": "PointSelector", + "t": 47.875068 } + } } } ] diff --git a/recipe/0103-poetry-reading-annotations/manifest1.json b/recipe/0103-poetry-reading-annotations/manifest1.json index 2cfb4ef69..c8fd04849 100644 --- a/recipe/0103-poetry-reading-annotations/manifest1.json +++ b/recipe/0103-poetry-reading-annotations/manifest1.json @@ -36,7 +36,6 @@ "type":"AnnotationPage", "items":[ { - "@context":"http://www.w3.org/ns/anno.jsonld", "id":"{{ id.path }}/canvas/1/annotation/1", "type":"Annotation", "motivation":"commenting", @@ -54,7 +53,6 @@ } }, { - "@context":"http://www.w3.org/ns/anno.jsonld", "id":"{{ id.path }}/canvas/1/annotation/2", "type":"Annotation", "motivation":"commenting", @@ -67,8 +65,15 @@ "source":"{{ id.path }}/canvas/1", "selector":{ "type":"RangeSelector", - "t":"46.734653,47.875068" - } + "startSelector": { + "type": "PointSelector", + "t":46.734653 + }, + "endSelector": { + "type": "PointSelector", + "t": 47.875068 + } + } } } ] From 4b0735478aa930a28211398724bd63ea2ca9b947 Mon Sep 17 00:00:00 2001 From: saracarl Date: Fri, 13 Dec 2019 10:29:04 -0600 Subject: [PATCH 19/30] fixed formatting for better tabs. --- .../annotations.json | 89 ++++---- .../manifest1.json | 192 +++++++++--------- .../manifest2.json | 92 +++++---- 3 files changed, 191 insertions(+), 182 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/annotations.json b/recipe/0103-poetry-reading-annotations/annotations.json index 9bb8fd44e..ca4c47bc7 100644 --- a/recipe/0103-poetry-reading-annotations/annotations.json +++ b/recipe/0103-poetry-reading-annotations/annotations.json @@ -1,49 +1,48 @@ { - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "{{ id.url }}", - "type": "AnnotationPage", - "items": - [ - { - "id":"{{ id.path }}/canvas/annotation1", - "type":"Annotation", - "motivation":"commenting", - "body":{ - "type":"TextualBody", - "value":"breath", - "format":"text/plain" - }, - "target":{ - "source":"{{ id.path }}/canvas/1", - "selector":{ - "type":"PointSelector", - "t":27.660653 + "@context":"http://iiif.io/api/presentation/3/context.json", + "id":"{{ id.url }}", + "type":"AnnotationPage", + "items":[ + { + "id":"{{ id.path }}/canvas/annotation1", + "type":"Annotation", + "motivation":"commenting", + "body":{ + "type":"TextualBody", + "value":"breath", + "format":"text/plain" + }, + "target":{ + "source":"{{ id.path }}/canvas/1", + "selector":{ + "type":"PointSelector", + "t":27.660653 + } } - } - }, - { - "id": "{{ id.path }}/canvas/segment1/annotation/4", - "type": "Annotation", - "motivation": "commenting", - "body": { - "type": "TextualBody", - "value": "her kind", - "format": "text/plain" - }, - "target":{ - "source":"{{ id.path }}/canvas/1", - "selector":{ - "type":"RangeSelector", - "startSelector": { - "type": "PointSelector", - "t":46.734653 }, - "endSelector": { - "type": "PointSelector", - "t": 47.875068 + { + "id":"{{ id.path }}/canvas/segment1/annotation/4", + "type":"Annotation", + "motivation":"commenting", + "body":{ + "type":"TextualBody", + "value":"her kind", + "format":"text/plain" + }, + "target":{ + "source":"{{ id.path }}/canvas/1", + "selector":{ + "type":"RangeSelector", + "startSelector":{ + "type":"PointSelector", + "t":46.734653 + }, + "endSelector":{ + "type":"PointSelector", + "t":47.875068 + } + } + } } - } - } - } - ] -} + ] +} \ No newline at end of file diff --git a/recipe/0103-poetry-reading-annotations/manifest1.json b/recipe/0103-poetry-reading-annotations/manifest1.json index c8fd04849..c21c3678b 100644 --- a/recipe/0103-poetry-reading-annotations/manifest1.json +++ b/recipe/0103-poetry-reading-annotations/manifest1.json @@ -1,101 +1,101 @@ { - "@context":"http://iiif.io/api/presentation/3/context.json", - "id":"{{ id.url }}", - "type":"Manifest", - "label":{ - "en":[ - "Anne Sexton, Poetry Reading, 1974 -- Her Kind" - ] - }, - "items":[ - { - "id":"{{ id.path }}/canvas/1", - "type":"Canvas", - "duration":107, - "items":[ - { - "id":"{{ id.path }}/canvas/1/paintings", - "type":"AnnotationPage", - "items":[ - { - "id":"{{ id.path }}/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 - }, - "target":"{{ id.path }}/canvas/1" - } - ], - "annotations":[ + "@context":"http://iiif.io/api/presentation/3/context.json", + "id":"{{ id.url }}", + "type":"Manifest", + "label":{ + "en":[ + "Anne Sexton, Poetry Reading, 1974 -- Her Kind" + ] + }, + "items":[ + { + "id":"{{ id.path }}/canvas/1", + "type":"Canvas", + "duration":107, + "items":[ { - "id":"{{ id.path }}/annotations.json", - "type":"AnnotationPage", - "items":[ - { - "id":"{{ id.path }}/canvas/1/annotation/1", - "type":"Annotation", - "motivation":"commenting", - "body":{ - "type":"TextualBody", - "value":"breath", - "format":"text/plain" - }, - "target":{ - "source":"{{ id.path }}/canvas/1", - "selector":{ - "type":"PointSelector", - "t":27.660653 - } + "id":"{{ id.path }}/canvas/1/paintings", + "type":"AnnotationPage", + "items":[ + { + "id":"{{ id.path }}/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 + }, + "target":"{{ id.path }}/canvas/1" } - }, - { - "id":"{{ id.path }}/canvas/1/annotation/2", - "type":"Annotation", - "motivation":"commenting", - "body":{ - "type":"TextualBody", - "value":"her kind", - "format":"text/plain" - }, - "target":{ - "source":"{{ id.path }}/canvas/1", - "selector":{ - "type":"RangeSelector", - "startSelector": { - "type": "PointSelector", - "t":46.734653 - }, - "endSelector": { - "type": "PointSelector", - "t": 47.875068 - } - } + ], + "annotations":[ + { + "id":"{{ id.path }}/annotations.json", + "type":"AnnotationPage", + "items":[ + { + "id":"{{ id.path }}/canvas/1/annotation/1", + "type":"Annotation", + "motivation":"commenting", + "body":{ + "type":"TextualBody", + "value":"breath", + "format":"text/plain" + }, + "target":{ + "source":"{{ id.path }}/canvas/1", + "selector":{ + "type":"PointSelector", + "t":27.660653 + } + } + }, + { + "id":"{{ id.path }}/canvas/1/annotation/2", + "type":"Annotation", + "motivation":"commenting", + "body":{ + "type":"TextualBody", + "value":"her kind", + "format":"text/plain" + }, + "target":{ + "source":"{{ id.path }}/canvas/1", + "selector":{ + "type":"RangeSelector", + "startSelector":{ + "type":"PointSelector", + "t":46.734653 + }, + "endSelector":{ + "type":"PointSelector", + "t":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" - ] - } - ] -} + ] + } + ], + "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/manifest2.json b/recipe/0103-poetry-reading-annotations/manifest2.json index 0318c17c6..b46d9ba7f 100644 --- a/recipe/0103-poetry-reading-annotations/manifest2.json +++ b/recipe/0103-poetry-reading-annotations/manifest2.json @@ -1,48 +1,58 @@ { - "@context": "http://iiif.io/api/presentation/3/context.json", - "id": "{{ id.url }}", - "type": "Manifest", - "label": { "en": [ "Anne Sexton, Poetry Reading, 1974 -- Her Kind" ] }, - "items": [ + "@context":"http://iiif.io/api/presentation/3/context.json", + "id":"{{ id.url }}", + "type":"Manifest", + "label":{ + "en":[ + "Anne Sexton, Poetry Reading, 1974 -- Her Kind" + ] + }, + "items":[ { - "id": "{{ id.path }}/canvas/1", - "type": "Canvas", - "duration": 107, - "items": [ - { - "id": "{{ id.path }}/canvas/1/paintings", - "type": "AnnotationPage", - "items": [ - { - "id": "{{ id.path }}/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 - }, - "target": "{{ id.path }}/canvas/1" - } - ] - } - ] + "id":"{{ id.path }}/canvas/1", + "type":"Canvas", + "duration":107, + "items":[ + { + "id":"{{ id.path }}/canvas/1/paintings", + "type":"AnnotationPage", + "items":[ + { + "id":"{{ id.path }}/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 + }, + "target":"{{ id.path }}/canvas/1" + } + ] + } + ] } - ], - "annotations": [ + ], + "annotations":[ { - "id": "{{ id.path }}/annotations.json", - "type": "AnnotationPage" + "id":"{{ id.path }}/annotations.json", + "type":"AnnotationPage" } - ], - "homepage": [ + ], + "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" ] + "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 96efd525a6d37bcdf0f9b298c562f6a60c023c0c Mon Sep 17 00:00:00 2001 From: saracarl Date: Tue, 17 Dec 2019 16:13:31 -0600 Subject: [PATCH 20/30] fixed more json problems. changed indentation to 2 space indentation. --- .../0103-poetry-reading-annotations/index.md | 17 +- .../manifest1.json | 192 +++++++++--------- .../manifest2.json | 108 +++++----- 3 files changed, 162 insertions(+), 155 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md index 0336992e9..11af6293b 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -29,12 +29,19 @@ There is a third use case where manifests are unaware of annotations on them, bu 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" + "target":{ + "source":"{{ id.path }}/canvas/1", + "selector":{ + "type":"RangeSelector", + "startSelector":{ + "type":"PointSelector", + "t":46.734653 + }, + "endSelector":{ + "type":"PointSelector", + "t":47.875068 } + } ``` Could become diff --git a/recipe/0103-poetry-reading-annotations/manifest1.json b/recipe/0103-poetry-reading-annotations/manifest1.json index c21c3678b..3d069de67 100644 --- a/recipe/0103-poetry-reading-annotations/manifest1.json +++ b/recipe/0103-poetry-reading-annotations/manifest1.json @@ -1,101 +1,101 @@ { - "@context":"http://iiif.io/api/presentation/3/context.json", - "id":"{{ id.url }}", - "type":"Manifest", - "label":{ - "en":[ - "Anne Sexton, Poetry Reading, 1974 -- Her Kind" - ] - }, - "items":[ - { - "id":"{{ id.path }}/canvas/1", - "type":"Canvas", - "duration":107, - "items":[ + "@context":"http://iiif.io/api/presentation/3/context.json", + "id":"{{ id.url }}", + "type":"Manifest", + "label":{ + "en":[ + "Anne Sexton, Poetry Reading, 1974 -- Her Kind" + ] + }, + "items":[ + { + "id":"{{ id.path }}/canvas/1", + "type":"Canvas", + "duration":107, + "items":[ + { + "id":"{{ id.path }}/canvas/1/paintings", + "type":"AnnotationPage", + "items":[ { - "id":"{{ id.path }}/canvas/1/paintings", - "type":"AnnotationPage", - "items":[ - { - "id":"{{ id.path }}/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 - }, - "target":"{{ id.path }}/canvas/1" - } - ], - "annotations":[ - { - "id":"{{ id.path }}/annotations.json", - "type":"AnnotationPage", - "items":[ - { - "id":"{{ id.path }}/canvas/1/annotation/1", - "type":"Annotation", - "motivation":"commenting", - "body":{ - "type":"TextualBody", - "value":"breath", - "format":"text/plain" - }, - "target":{ - "source":"{{ id.path }}/canvas/1", - "selector":{ - "type":"PointSelector", - "t":27.660653 - } - } - }, - { - "id":"{{ id.path }}/canvas/1/annotation/2", - "type":"Annotation", - "motivation":"commenting", - "body":{ - "type":"TextualBody", - "value":"her kind", - "format":"text/plain" - }, - "target":{ - "source":"{{ id.path }}/canvas/1", - "selector":{ - "type":"RangeSelector", - "startSelector":{ - "type":"PointSelector", - "t":46.734653 - }, - "endSelector":{ - "type":"PointSelector", - "t":47.875068 - } - } - } - } - ] + "id":"{{ id.path }}/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 + }, + "target":"{{ id.path }}/canvas/1" + } + ] + } + ], + "annotations":[ + { + "id":"{{ id.path }}/annotations.json", + "type":"AnnotationPage", + "items":[ + { + "id":"{{ id.path }}/canvas/1/annotation/1", + "type":"Annotation", + "motivation":"commenting", + "body":{ + "type":"TextualBody", + "value":"breath", + "format":"text/plain" + }, + "target":{ + "source":"{{ id.path }}/canvas/1", + "selector":{ + "type":"PointSelector", + "t":27.660653 + } + } + }, + { + "id":"{{ id.path }}/canvas/1/annotation/2", + "type":"Annotation", + "motivation":"commenting", + "body":{ + "type":"TextualBody", + "value":"her kind", + "format":"text/plain" + }, + "target":{ + "source":"{{ id.path }}/canvas/1", + "selector":{ + "type":"RangeSelector", + "startSelector":{ + "type":"PointSelector", + "t":46.734653 + }, + "endSelector":{ + "type":"PointSelector", + "t":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" - ] - } - ] + ] + } + ] + } + ], + "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/manifest2.json b/recipe/0103-poetry-reading-annotations/manifest2.json index b46d9ba7f..1082d163f 100644 --- a/recipe/0103-poetry-reading-annotations/manifest2.json +++ b/recipe/0103-poetry-reading-annotations/manifest2.json @@ -1,58 +1,58 @@ { - "@context":"http://iiif.io/api/presentation/3/context.json", - "id":"{{ id.url }}", - "type":"Manifest", - "label":{ - "en":[ - "Anne Sexton, Poetry Reading, 1974 -- Her Kind" - ] - }, - "items":[ - { - "id":"{{ id.path }}/canvas/1", - "type":"Canvas", - "duration":107, - "items":[ + "@context":"http://iiif.io/api/presentation/3/context.json", + "id":"{{ id.url }}", + "type":"Manifest", + "label":{ + "en":[ + "Anne Sexton, Poetry Reading, 1974 -- Her Kind" + ] + }, + "items":[ + { + "id":"{{ id.path }}/canvas/1", + "type":"Canvas", + "duration":107, + "items":[ + { + "id":"{{ id.path }}/canvas/1/paintings", + "type":"AnnotationPage", + "items":[ { - "id":"{{ id.path }}/canvas/1/paintings", - "type":"AnnotationPage", - "items":[ - { - "id":"{{ id.path }}/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 - }, - "target":"{{ id.path }}/canvas/1" - } - ] + "id":"{{ id.path }}/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 + }, + "target":"{{ id.path }}/canvas/1" } - ] - } - ], - "annotations":[ - { - "id":"{{ id.path }}/annotations.json", - "type":"AnnotationPage" - } - ], - "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" - ] - } - ] + ] + } + ], + "annotations":[ + { + "id":"{{ id.path }}/annotations.json", + "type":"AnnotationPage" + } + ] + } + ], + "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 0b947c7666e9c939a2df7cfba271c9d41088d509 Mon Sep 17 00:00:00 2001 From: Glen Robson Date: Thu, 19 Dec 2019 12:26:24 +0000 Subject: [PATCH 21/30] Fixing numbered list --- .../0103-poetry-reading-annotations/index.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md index 11af6293b..bbe2646db 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -28,7 +28,7 @@ There is a third use case where manifests are unaware of annotations on them, bu 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":"{{ id.path }}/canvas/1", "selector":{ @@ -42,23 +42,23 @@ There is a third use case where manifests are unaware of annotations on them, bu "t":47.875068 } } -``` - -Could become + ``` -``` + 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. + 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",` + `"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: + 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"],` + `"motivation": ["commenting"],` ## Example From c316a21753ec6af0110ec24991bc05b8d6bdd8d6 Mon Sep 17 00:00:00 2001 From: saracarl Date: Thu, 19 Dec 2019 08:19:38 -0600 Subject: [PATCH 22/30] changes --- recipe/0103-poetry-reading-annotations/annotations.json | 6 +++--- recipe/0103-poetry-reading-annotations/index.md | 2 -- recipe/0103-poetry-reading-annotations/manifest1.json | 6 +++--- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/annotations.json b/recipe/0103-poetry-reading-annotations/annotations.json index ca4c47bc7..8aae4f07d 100644 --- a/recipe/0103-poetry-reading-annotations/annotations.json +++ b/recipe/0103-poetry-reading-annotations/annotations.json @@ -6,7 +6,7 @@ { "id":"{{ id.path }}/canvas/annotation1", "type":"Annotation", - "motivation":"commenting", + "motivation":["commenting"], "body":{ "type":"TextualBody", "value":"breath", @@ -23,10 +23,10 @@ { "id":"{{ id.path }}/canvas/segment1/annotation/4", "type":"Annotation", - "motivation":"commenting", + "motivation":["commenting"], "body":{ "type":"TextualBody", - "value":"her kind", + "value":"repetition of 'her kind'", "format":"text/plain" }, "target":{ diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md index 11af6293b..874124778 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -74,8 +74,6 @@ The same manifest, but with a reference to annotations in a separate file. The ```json ``` -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 index 3d069de67..51e4703fd 100644 --- a/recipe/0103-poetry-reading-annotations/manifest1.json +++ b/recipe/0103-poetry-reading-annotations/manifest1.json @@ -40,7 +40,7 @@ { "id":"{{ id.path }}/canvas/1/annotation/1", "type":"Annotation", - "motivation":"commenting", + "motivation":["commenting"], "body":{ "type":"TextualBody", "value":"breath", @@ -57,10 +57,10 @@ { "id":"{{ id.path }}/canvas/1/annotation/2", "type":"Annotation", - "motivation":"commenting", + "motivation":["commenting"], "body":{ "type":"TextualBody", - "value":"her kind", + "value":"repetition of 'her kind'", "format":"text/plain" }, "target":{ From d7056dd34da5b41d77a87cefa3f7f7533a088bca Mon Sep 17 00:00:00 2001 From: saracarl Date: Thu, 19 Dec 2019 12:49:00 -0600 Subject: [PATCH 23/30] more stuff --- recipe/0103-poetry-reading-annotations/index.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md index 6638a561d..a2f953318 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -11,10 +11,12 @@ 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. +For a performance of a well-known text, transcribing the performance is of little use to the researcher annotating the performance. Rather, the annotations serve as commentary on the performance itself. + 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 +* repeated or emphasized 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. @@ -52,11 +54,11 @@ There is a third use case where manifests are unaware of annotations on them, bu 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: +4. While the IIIF Specification requires arrays for values that could contain more than one element, the W3C Web Annotation Specification does not require arrays. As a result, 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: + is not correct. It should be expressed as follows: `"motivation": ["commenting"],` From f4451e294b348f375efb3ddf979519eac8562a23 Mon Sep 17 00:00:00 2001 From: saracarl Date: Thu, 19 Dec 2019 16:22:38 -0600 Subject: [PATCH 24/30] fixed the reference to the annotation description, since we don't have it anymore. --- recipe/0103-poetry-reading-annotations/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md index a2f953318..269249603 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -64,7 +64,7 @@ There is a third use case where manifests are unaware of annotations on them, bu ## Example -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)) +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). {: .line-numbers data-src="manifest1.json" } ```json @@ -76,6 +76,8 @@ The same manifest, but with a reference to annotations in a separate file. The ```json ``` +The annotations in a separate file. + {: .line-numbers data-src="annotations.json" } ```json ``` From 68829ebe4d37eee4f16bca367672e212019e28a0 Mon Sep 17 00:00:00 2001 From: saracarl Date: Fri, 17 Jan 2020 10:06:18 -0600 Subject: [PATCH 25/30] made single motivations scalar --- .../0103-poetry-reading-annotations/annotations.json | 4 ++-- recipe/0103-poetry-reading-annotations/index.md | 10 +--------- recipe/0103-poetry-reading-annotations/manifest1.json | 4 ++-- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/annotations.json b/recipe/0103-poetry-reading-annotations/annotations.json index 8aae4f07d..a3cbec04e 100644 --- a/recipe/0103-poetry-reading-annotations/annotations.json +++ b/recipe/0103-poetry-reading-annotations/annotations.json @@ -6,7 +6,7 @@ { "id":"{{ id.path }}/canvas/annotation1", "type":"Annotation", - "motivation":["commenting"], + "motivation":"commenting", "body":{ "type":"TextualBody", "value":"breath", @@ -23,7 +23,7 @@ { "id":"{{ id.path }}/canvas/segment1/annotation/4", "type":"Annotation", - "motivation":["commenting"], + "motivation":"commenting", "body":{ "type":"TextualBody", "value":"repetition of 'her kind'", diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md index 269249603..0fb975b31 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -1,5 +1,5 @@ --- -title: Annotating a Poetry Reading +title: Scholarly Annotation of a Poetry Reading id: 103 layout: recipe tags: [audio, presentation, annotation] @@ -54,14 +54,6 @@ There is a third use case where manifests are unaware of annotations on them, bu Both are correct. -4. While the IIIF Specification requires arrays for values that could contain more than one element, the W3C Web Annotation Specification does not require arrays. As a result, the following line: - - `"motivation": "commenting",` - - is not correct. It should be expressed as follows: - - `"motivation": ["commenting"],` - ## Example 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). diff --git a/recipe/0103-poetry-reading-annotations/manifest1.json b/recipe/0103-poetry-reading-annotations/manifest1.json index 51e4703fd..08773d463 100644 --- a/recipe/0103-poetry-reading-annotations/manifest1.json +++ b/recipe/0103-poetry-reading-annotations/manifest1.json @@ -40,7 +40,7 @@ { "id":"{{ id.path }}/canvas/1/annotation/1", "type":"Annotation", - "motivation":["commenting"], + "motivation":"commenting", "body":{ "type":"TextualBody", "value":"breath", @@ -57,7 +57,7 @@ { "id":"{{ id.path }}/canvas/1/annotation/2", "type":"Annotation", - "motivation":["commenting"], + "motivation":"commenting", "body":{ "type":"TextualBody", "value":"repetition of 'her kind'", From 52c6cdf2a6d4060da80e6572cb971becb09b6574 Mon Sep 17 00:00:00 2001 From: saracarl Date: Fri, 17 Jan 2020 10:10:00 -0600 Subject: [PATCH 26/30] explanation for commenting not supplementing --- recipe/0103-poetry-reading-annotations/index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md index 0fb975b31..010739d79 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -54,6 +54,9 @@ There is a third use case where manifests are unaware of annotations on them, bu Both are correct. + 4. Because the annotations are pointing out features of the audio, rather than transcriptions, the "motivation" for each annotation is "commenting" not "supplementing". (If the annotations were transcriptions, their motivation would be "supplementing".) + + ## Example 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). From 43a91b2169cb22f289c49922014c2943fd1b7e22 Mon Sep 17 00:00:00 2001 From: Sara Brumfield Date: Fri, 24 Jul 2020 11:14:54 -0500 Subject: [PATCH 27/30] Update index.md Handle comment renumbering. --- 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 010739d79..f9f4fc246 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -54,7 +54,7 @@ There is a third use case where manifests are unaware of annotations on them, bu Both are correct. - 4. Because the annotations are pointing out features of the audio, rather than transcriptions, the "motivation" for each annotation is "commenting" not "supplementing". (If the annotations were transcriptions, their motivation would be "supplementing".) +4. Because the annotations are pointing out features of the audio, rather than transcriptions, the "motivation" for each annotation is "commenting" not "supplementing". (If the annotations were transcriptions, their motivation would be "supplementing".) ## Example From 9983b3f62a66865313bdee7ac80c4357751960db Mon Sep 17 00:00:00 2001 From: Sara Brumfield Date: Fri, 24 Jul 2020 11:21:20 -0500 Subject: [PATCH 28/30] Remove reference to embedded annotations. --- recipe/0103-poetry-reading-annotations/index.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md index f9f4fc246..94f26c680 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -26,7 +26,7 @@ There is a third use case where manifests are unaware of annotations on them, bu 1. This implementation builds off of the [audio example][0002], but adds Web Annotations. -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. +2. This recipe shows one variation of referencing annotations from within a manifest, referencing annotations in a separate file. Note that annotations may also be embedded within the manifest 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: @@ -59,19 +59,13 @@ There is a third use case where manifests are unaware of annotations on them, bu ## Example -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). - -{: .line-numbers data-src="manifest1.json" } -```json -``` - -The same manifest, but with a reference to annotations in a separate file. The annotation file is included below the manifest. +A manifest for the poem "Her Kind" read by Anne Sexton in 1974. The recording is 107 seconds long. The manifest references in a separate file. (The annotation file is included below the manifest.) {: .line-numbers data-src="manifest2.json" } ```json ``` -The annotations in a separate file. +The annotations are in a separate file, showing both a point annotation (at a particular time) and a range annotation (covering a time range).. {: .line-numbers data-src="annotations.json" } ```json From 618b1723a5ca5c7798675769e955252874ef27fa Mon Sep 17 00:00:00 2001 From: Sara Brumfield Date: Fri, 24 Jul 2020 11:21:55 -0500 Subject: [PATCH 29/30] Delete manifest containing embedded annotations. --- .../manifest1.json | 101 ------------------ 1 file changed, 101 deletions(-) delete mode 100644 recipe/0103-poetry-reading-annotations/manifest1.json diff --git a/recipe/0103-poetry-reading-annotations/manifest1.json b/recipe/0103-poetry-reading-annotations/manifest1.json deleted file mode 100644 index 08773d463..000000000 --- a/recipe/0103-poetry-reading-annotations/manifest1.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "@context":"http://iiif.io/api/presentation/3/context.json", - "id":"{{ id.url }}", - "type":"Manifest", - "label":{ - "en":[ - "Anne Sexton, Poetry Reading, 1974 -- Her Kind" - ] - }, - "items":[ - { - "id":"{{ id.path }}/canvas/1", - "type":"Canvas", - "duration":107, - "items":[ - { - "id":"{{ id.path }}/canvas/1/paintings", - "type":"AnnotationPage", - "items":[ - { - "id":"{{ id.path }}/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 - }, - "target":"{{ id.path }}/canvas/1" - } - ] - } - ], - "annotations":[ - { - "id":"{{ id.path }}/annotations.json", - "type":"AnnotationPage", - "items":[ - { - "id":"{{ id.path }}/canvas/1/annotation/1", - "type":"Annotation", - "motivation":"commenting", - "body":{ - "type":"TextualBody", - "value":"breath", - "format":"text/plain" - }, - "target":{ - "source":"{{ id.path }}/canvas/1", - "selector":{ - "type":"PointSelector", - "t":27.660653 - } - } - }, - { - "id":"{{ id.path }}/canvas/1/annotation/2", - "type":"Annotation", - "motivation":"commenting", - "body":{ - "type":"TextualBody", - "value":"repetition of 'her kind'", - "format":"text/plain" - }, - "target":{ - "source":"{{ id.path }}/canvas/1", - "selector":{ - "type":"RangeSelector", - "startSelector":{ - "type":"PointSelector", - "t":46.734653 - }, - "endSelector":{ - "type":"PointSelector", - "t":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 From 437e0ad67c2d04c96465f6a2780500d725723fc7 Mon Sep 17 00:00:00 2001 From: saracarl Date: Tue, 28 Jan 2025 16:14:09 -0600 Subject: [PATCH 30/30] updated per checklist, plus new audio file for simplifying rights --- .../annotations.json | 48 ----- .../0103-poetry-reading-annotations/index.md | 73 ++++--- .../manifest2.json | 187 ++++++++++++------ 3 files changed, 181 insertions(+), 127 deletions(-) delete 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 deleted file mode 100644 index a3cbec04e..000000000 --- a/recipe/0103-poetry-reading-annotations/annotations.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "@context":"http://iiif.io/api/presentation/3/context.json", - "id":"{{ id.url }}", - "type":"AnnotationPage", - "items":[ - { - "id":"{{ id.path }}/canvas/annotation1", - "type":"Annotation", - "motivation":"commenting", - "body":{ - "type":"TextualBody", - "value":"breath", - "format":"text/plain" - }, - "target":{ - "source":"{{ id.path }}/canvas/1", - "selector":{ - "type":"PointSelector", - "t":27.660653 - } - } - }, - { - "id":"{{ id.path }}/canvas/segment1/annotation/4", - "type":"Annotation", - "motivation":"commenting", - "body":{ - "type":"TextualBody", - "value":"repetition of 'her kind'", - "format":"text/plain" - }, - "target":{ - "source":"{{ id.path }}/canvas/1", - "selector":{ - "type":"RangeSelector", - "startSelector":{ - "type":"PointSelector", - "t":46.734653 - }, - "endSelector":{ - "type":"PointSelector", - "t":47.875068 - } - } - } - } - ] -} \ No newline at end of file diff --git a/recipe/0103-poetry-reading-annotations/index.md b/recipe/0103-poetry-reading-annotations/index.md index 94f26c680..875648ddb 100644 --- a/recipe/0103-poetry-reading-annotations/index.md +++ b/recipe/0103-poetry-reading-annotations/index.md @@ -4,6 +4,16 @@ id: 103 layout: recipe tags: [audio, presentation, annotation] summary: "Use annotations to indicate aspects of the performance of a particular poem." +viewers: + - Mirador + - Aviary Viewer + - Ramp + - UV +topic: + - basic + - audio +code: + - iiif-prezi3 --- @@ -11,24 +21,50 @@ 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. -For a performance of a well-known text, transcribing the performance is of little use to the researcher annotating the performance. Rather, the annotations serve as commentary on the performance itself. +For a performance of a published text, transcribing the performance is of little use to the researcher annotating the performance. Rather, the annotations serve as commentary on the performance itself. A researcher might want to annotate the following types of information: * structural information (introduction, title, stanzas) * points where the performer takes a breath * repeated or emphasized 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 1. This implementation builds off of the [audio example][0002], but adds Web Annotations. -2. This recipe shows one variation of referencing annotations from within a manifest, referencing annotations in a separate file. Note that annotations may also be embedded within the manifest file. +2. We show both annotation targeting using a FragmentSelector and a simplified Media Fragment appended to the canvas URL. + +FragementSelector using a SpecificResource: + +``` + "target":{ + "type":"SpecificResource", + "source":{ + "id":"{{ id.path }}/canvas/1", + "type":"Canvas", + "partOf":[ + { + "id":"{{ id.url }}", + "type":"Manifest" + } + ] + }, + "selector":{ + "type":"FragmentSelector", + "conformsTo":"http://www.w3.org/TR/media-frags/", + "value":"t=705,707" + } + } + +``` + +Media Fragment using "#t=702,705" appended to the canvas URL. Instead of "source" you'd condense it into the "target" field: + +``` +"target":"{{ id.path }}/canvas/1#t=702,705" +``` -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: +But you could also use the more verbose form: ``` "target":{ @@ -37,45 +73,34 @@ There is a third use case where manifests are unaware of annotations on them, bu "type":"RangeSelector", "startSelector":{ "type":"PointSelector", - "t":46.734653 + "t":702 }, "endSelector":{ "type":"PointSelector", - "t":47.875068 + "t":705 } } ``` - 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. Because the annotations are pointing out features of the audio, rather than transcriptions, the "motivation" for each annotation is "commenting" not "supplementing". (If the annotations were transcriptions, their motivation would be "supplementing".) +3. Because the annotations are pointing out features of the audio, rather than transcriptions, the "motivation" for each annotation is "commenting" not "supplementing". (If the annotations were transcriptions, their motivation would be "supplementing".) ## Example -A manifest for the poem "Her Kind" read by Anne Sexton in 1974. The recording is 107 seconds long. The manifest references in a separate file. (The annotation file is included below the manifest.) +A manifest for a poetry reading by Canadian poet Daphne Marlatt in 2018. The recording is 707 seconds long. {: .line-numbers data-src="manifest2.json" } ```json ``` -The annotations are in a separate file, showing 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 * [Simple Manifest - Audio][0002] * [Transformation - WebVTT or OHMS XML to Annotations][0079] - +* [Begin playback at a specific point - Time-based media][0015] +* [Embedded or Referenced Annotations][0269] {% include acronyms.md %} {% include links.md %} diff --git a/recipe/0103-poetry-reading-annotations/manifest2.json b/recipe/0103-poetry-reading-annotations/manifest2.json index 1082d163f..9f01b49af 100644 --- a/recipe/0103-poetry-reading-annotations/manifest2.json +++ b/recipe/0103-poetry-reading-annotations/manifest2.json @@ -1,58 +1,135 @@ { - "@context":"http://iiif.io/api/presentation/3/context.json", - "id":"{{ id.url }}", - "type":"Manifest", - "label":{ - "en":[ - "Anne Sexton, Poetry Reading, 1974 -- Her Kind" - ] - }, - "items":[ - { - "id":"{{ id.path }}/canvas/1", - "type":"Canvas", - "duration":107, - "items":[ - { - "id":"{{ id.path }}/canvas/1/paintings", - "type":"AnnotationPage", - "items":[ + "@context":"http://iiif.io/api/presentation/3/context.json", + "id":"{{ id.url }}", + "type":"Manifest", + "label":{ + "en":[ + "Mediation and Lived Experience - Daphne Marlatt Performs With Her Younger Self" + ] + }, + "items":[ + { + "id":"{{ id.path }}/canvas/1", + "type":"Canvas", + "duration":707, + "items":[ { - "id":"{{ id.path }}/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 - }, - "target":"{{ id.path }}/canvas/1" + "type":"AnnotationPage", + "items":[ + { + "id":"{{ id.path }}/canvas/1/painting/1", + "type":"Annotation", + "motivation":"painting", + "body":{ + "id":"https://soundbox.ok.ubc.ca/wp-content/uploads/2023/02/Performing-the-Archive%EF%BC%9A-Leaf-leaf%E2%A7%B8s-by-Daphne-Marlatt.mp3", + "type":"Sound", + "format":"audio/mpeg", + "duration":707 + }, + "target":"{{ id.path }}/canvas/1" + } + ] } - ] - } - ], - "annotations":[ - { - "id":"{{ id.path }}/annotations.json", - "type":"AnnotationPage" - } - ] - } - ], - "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 + ], + "annotations":[ + { + "@context":"http://iiif.io/api/presentation/3/context.json", + "id":"{{ id.path }}/canvas/1/page1", + "type":"AnnotationPage", + "label":{ + "en":[ + "Default" + ] + }, + "items":[ + { + "@context":"http://www.w3.org/ns/anno.jsonld", + "type":"Annotation", + "motivation":[ + "commenting" + ], + "id":"{{ id.path }}/canvas/1/page1/anno1", + "body":[ + { + "type":"TextualBody", + "value":"In this final poem, Marlatt seems to blend the past and present reading conventions that we have heard in the recording. The poem she chooses demands the precision and round, assonant vowels most prominently featured in the 1969 clips. But it is brief poem, and her 2019 reading is also present in a softness and spaciousness which which she delivers the poem. Here, in a social voice, Marlatt is perhaps aware of her own voice across time.", + "format":"text/plain", + "motivation":"commenting" + } + ], + "target":"{{ id.path }}/canvas/1#t=701,701" + }, + { + "@context":"http://www.w3.org/ns/anno.jsonld", + "type":"Annotation", + "motivation":[ + "commenting" + ], + "id":"{{ id.path }}/canvas/1/page1/anno2", + "body":[ + { + "type":"TextualBody", + "value":"Soft laughter, rustling", + "format":"text/plain", + "motivation":"commenting" + } + ], + "target":"{{ id.path }}/canvas/1#t=702,705" + }, + { + "@context":"http://www.w3.org/ns/anno.jsonld", + "type":"Annotation", + "motivation":[ + "commenting" + ], + "id":"{{ id.path }}/canvas/1/page1/anno3", + "body":[ + { + "type":"TextualBody", + "value":"Well, that was…", + "format":"text/plain", + "motivation":"commenting" + } + ], + "target":{ + "type":"SpecificResource", + "source":{ + "id":"{{ id.path }}/canvas/1", + "type":"Canvas", + "partOf":[ + { + "id":"{{ id.url }}", + "type":"Manifest" + } + ] + }, + "selector":{ + "type":"FragmentSelector", + "conformsTo":"http://www.w3.org/TR/media-frags/", + "value":"t=705,707" + } + } + }, + { + "@context":"http://www.w3.org/ns/anno.jsonld", + "type":"Annotation", + "motivation":[ + "commenting" + ], + "id":"{{ id.path }}/canvas/1/page1/anno4", + "body":[ + { + "type":"TextualBody", + "value":"Marlatt's final words, possibly addressed to someone sitting beside her, are cut off. ", + "format":"text/plain", + "motivation":"commenting" + } + ], + "target":"{{ id.path }}/canvas/1#t=707,707" + } + ] + } + ] + } + ] +}