|
| 1 | +--- |
| 2 | +title: Reuse parts of a manifest |
| 3 | +id: -1 |
| 4 | +layout: recipe |
| 5 | +tags: [tbc] |
| 6 | +summary: "tbc" |
| 7 | +viewers: |
| 8 | +topic: |
| 9 | + - basic |
| 10 | +--- |
| 11 | + |
| 12 | +## Use Case |
| 13 | + |
| 14 | +I want to create a new Manifest based on parts of an existing Manifest that exists online, either to mix images from different Manifests into one presentation or to add metadata or Annotations to an existing presentation. |
| 15 | + |
| 16 | +## Implementation Notes |
| 17 | + |
| 18 | +A [IIIF Presentation Manifest][prezi3] is a fixed document at a given URI with a given set of Canvases, Ranges, metadata or Annotations. If you want to modify the Manifest to change anything inside like the metadata description, remove or reorder images, add images from other Manifests or add Annotations to the images, you have to create a new Manifest and make it available at a new URI. |
| 19 | + |
| 20 | +To create this new document you can copy most elements of the source Manifest and add your modifications. There are some guidelines you should follow in the process: |
| 21 | + |
| 22 | +You must change the `id` property of the Manifest to match the URI that your published new Manifest will have. |
| 23 | + |
| 24 | +You should copy the Canvases preserving the URI in their `id` property unless you modify the Canvas itself. This indicates that additions you make, such as Annotations, also refer to the original Canvas in the source Manifest. |
| 25 | + |
| 26 | +You can copy the `label` property of the Manifest but you should modify it to indicate what you have changed so that users of your new Manifest can easily differentiate it from the source Manifest. |
| 27 | + |
| 28 | +You should reproduce the `requiredStatement`, `rights` and `provider` properties that apply to the images or other resources that you copy from the source Manifest. Depending on the licenses you may have to reproduce these properties. If you combine resources from multiple Manifests you may have to combine these properties. |
| 29 | + |
| 30 | +You should copy the `metadata` property, particularly identifiers like library-ids to make it easier for users of your Manifest to identify the original object. |
| 31 | + |
| 32 | +There is no formal way to reference the source Manifest but you are encouraged to add a metadata element that contains a link to the source Manifest and describes your changes. |
| 33 | + |
| 34 | +You should be considerate of possible ethical implications of copying parts of an existing Manifest and try not to confuse users of your Manifest about intellectual or legal ownership. |
| 35 | + |
| 36 | + |
| 37 | +## Example |
| 38 | + |
| 39 | +In this example we reuse the Manifest of the recipe [rights statement][0008] and we add an Annotation to the Canvas. |
| 40 | + |
| 41 | +The new Manifest reproduces the `rights` and `requiredStatement` properties from the source Manifest and the original Canvas ids. |
| 42 | + |
| 43 | +The original Manifest label "Picture of Göttingen taken during the 2019 IIIF Conference" has been modified to indicate that an Annotation has been added and a metadata element with a link to the original Manifest and a note about the changes was added. |
| 44 | + |
| 45 | +{% include manifest_links.html viewers="Mirador,Annona,Glycerine Viewer,Theseus" manifest="manifest.json" %} |
| 46 | + |
| 47 | +{% include jsonviewer.html src="manifest.json" config='data-line="26-37,73-92"' %} |
| 48 | + |
| 49 | +## Related Recipes |
| 50 | + |
| 51 | +* [Rights statement][0008] for the source Manifest and information on rights statements |
| 52 | +* [Simplest Annotation][0266] for information on the type of Annotation added here |
| 53 | + |
| 54 | +{% include acronyms.md %} |
| 55 | +{% include links.md %} |
| 56 | + |
0 commit comments