This is a beta version of migrating these workshop materials to a new platform. If you run into issues please file an issue or click on the edit link above and submit a pull request. You can use the previous version of the workshop materials as a fallback.

Add More Images

The print we have been working with was digitized at a time before NCSU Libraries made available anything more than single still images. Really this is from a series of prints so they could be presented as a single unit.

We’re now going to reintegrate part of the print series in order to show how to add more images to our manifest in sequence.

This same approach can be used to join resources from across institutions into a single manifest and viewing experience. The images added to a manifest do not all have to come from the same institution.

If you have a asset management system which atomizes your resources, you can reconstruct them in full by creating a manifest.

The base image server for all of these resource is:

https://iiif.lib.ncsu.edu/iiif/

At least add one of the images that comes before our current image.

image id label order
segPap_001 cover 1
segPap_002 title 2
segPap_003 table 3
segPap_004 plate 1 4
segPap_022 plate 22 5
segPap_023 plate 23 6

Feel free to add all of the images if you’d like!

Canvas Template

Use your current canvas as a template for creating the other canvases.

For each canvas you’ll need to change:

  • @id
  • label
  • width
  • height
  • images => on
  • images => resources => @id
  • images => resources => service @id

You will need to find the width and height to use for each canvas.

Where can you find the width and the height of each of the images?

Hint: You only need to look up one of the new images.

{
  "@type": "sc:Canvas",
  "@id": "http://localhost:3000/segPap_022/canvas/1",
  "label": "22",
  "width": 6099,
  "height": 8599,
  "images": [
    {
      "@type": "oa:Annotation",
      "motivation": "sc:painting",
      "on": "http://localhost:3000/segPap_022/canvas/1",
      "resource": {
        "@type": "dctypes:Image",
        "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_022/full/500,/0/default.jpg",

        "service": {
          "@context":  "http://iiif.io/api/image/2/context.json",
          "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_022",
          "profile": "http://iiif.io/api/image/2/level2.json"
        }
      }
    }
  ]
}

OK, by now you should get the idea that sections of your manifest like the canvas can be templated out and reused. For the most part you’re just changing label, width, height, and the identifier in multiple places.

Manifest with More Images

full manifest with metadata

Here’s what the manifest with more images will look like now:

{
  "@context": "http://iiif.io/api/presentation/2/context.json",
  "@type": "sc:Manifest",
  "@id": "http://localhost:3000/manifest.json",
  "label": "Papillons",
  "description": "Four patterns inspired by butterflies.",
  "metadata": [
    {
      "label": "Creator",
      "value": "E. A. Seguy"
    },
    {
      "label": "Title",
      "value": [
        {
          "@value": "Butterflies",
          "@language": "en"
        },
        {
          "@value": "Papillons",
          "@language": "fr"
        }
      ]
    },
    {
      "label": "Created Date",
      "value": "circa 1920-1929"
    }
  ],
  "license": "http://rightsstatements.org/vocab/CNE/1.0/",
  "attribution": "Special Collections Research Center at NCSU Libraries",
  "logo": "http://localhost:3000/logo.jpg",
  "sequences": [
    {
      "@type": "sc:Sequence",
      "canvases": [
        {
          "@type": "sc:Canvas",
          "@id": "http://localhost:3000/segPap_001/canvas/1",
          "label": "cover",
          "width": 6099,
          "height": 8599,
          "images": [
            {
              "@type": "oa:Annotation",
              "motivation": "sc:painting",
              "on": "http://localhost:3000/segPap_001/canvas/1",
              "resource": {
                "@type": "dctypes:Image",
                "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_001/full/500,/0/default.jpg",
                "service": {
                  "@context": "http://iiif.io/api/image/2/context.json",
                  "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_001",
                  "profile": "http://iiif.io/api/image/2/level2.json"
                }
              }
            }
          ]
        },
        {
          "@type": "sc:Canvas",
          "@id": "http://localhost:3000/segPap_002/canvas/1",
          "label": "title",
          "width": 6099,
          "height": 8599,
          "images": [
            {
              "@type": "oa:Annotation",
              "motivation": "sc:painting",
              "on": "http://localhost:3000/segPap_002/canvas/1",
              "resource": {
                "@type": "dctypes:Image",
                "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_002/full/500,/0/default.jpg",
                "service": {
                  "@context": "http://iiif.io/api/image/2/context.json",
                  "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_002",
                  "profile": "http://iiif.io/api/image/2/level2.json"
                }
              }
            }
          ]
        },
        {
          "@type": "sc:Canvas",
          "@id": "http://localhost:3000/segPap_003/canvas/1",
          "label": "table",
          "width": 6099,
          "height": 8599,
          "images": [
            {
              "@type": "oa:Annotation",
              "motivation": "sc:painting",
              "on": "http://localhost:3000/segPap_003/canvas/1",
              "resource": {
                "@type": "dctypes:Image",
                "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_003/full/500,/0/default.jpg",
                "service": {
                  "@context": "http://iiif.io/api/image/2/context.json",
                  "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_003",
                  "profile": "http://iiif.io/api/image/2/level2.json"
                }
              }
            }
          ]
        },
        {
          "@type": "sc:Canvas",
          "@id": "http://localhost:3000/segPap_004/canvas/1",
          "label": "plate 1",
          "width": 6099,
          "height": 8599,
          "images": [
            {
              "@type": "oa:Annotation",
              "motivation": "sc:painting",
              "on": "http://localhost:3000/segPap_004/canvas/1",
              "resource": {
                "@type": "dctypes:Image",
                "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_004/full/500,/0/default.jpg",
                "service": {
                  "@context": "http://iiif.io/api/image/2/context.json",
                  "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_004",
                  "profile": "http://iiif.io/api/image/2/level2.json"
                }
              }
            }
          ]
        },
        {
          "@type": "sc:Canvas",
          "@id": "http://localhost:3000/segPap_022/canvas/1",
          "label": "plate 22",
          "width": 6099,
          "height": 8599,
          "images": [
            {
              "@type": "oa:Annotation",
              "motivation": "sc:painting",
              "on": "http://localhost:3000/segPap_022/canvas/1",
              "resource": {
                "@type": "dctypes:Image",
                "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_022/full/500,/0/default.jpg",
                "service": {
                  "@context": "http://iiif.io/api/image/2/context.json",
                  "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_022",
                  "profile": "http://iiif.io/api/image/2/level2.json"
                }
              }
            }
          ]
        },
        {
          "@type": "sc:Canvas",
          "@id": "http://localhost:3000/segPap_023/canvas/1",
          "label": "plate 23",
          "width": 6099,
          "height": 8599,
          "images": [
            {
              "@type": "oa:Annotation",
              "motivation": "sc:painting",
              "on": "http://localhost:3000/segPap_023/canvas/1",
              "resource": {
                "@type": "dctypes:Image",
                "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_023/full/500,/0/default.jpg",
                "service": {
                  "@context": "http://iiif.io/api/image/2/context.json",
                  "@id": "https://iiif.lib.ncsu.edu/iiif/segPap_023",
                  "profile": "http://iiif.io/api/image/2/level2.json"
                }
              }
            }
          ]
        }
      ]
    }
  ]
}