/
CDS2 Steps for Manual Testing

CDS2 Steps for Manual Testing

The following is a suggested checklist for testing by humans. For additional how-to information, see CDS2 Developer Guide.

Ingest of contents via TMAN

Proceed with the usual ingest procedure with additional parameters for cds2 – cds_access_master, cds_access_tiff, cds_access_jpeg, cds_maxsize_tiff, cds_maxsize_jpeg. This does not include the ingest of object data by metadata harvester.

Test for each action 

  • Create

  • Update access level

    • from TMAN

    • from NetX UI

  • Update metadata

    • from TMAN

    • from NetX UI

  • Delete

Check for

  • completion status of the action – cds2_status and cds2_error in the assetstatus table.

  • existence/absence of the content according to the action and the access parameters. For retrieving contents, see “IIIF Images” and “Non-IIIF contents” below.

  • correct size according to cds_maxsize_jpeg and cds_maxsize_tiff

  • correct ICC profile

    • IIIIF images: sRGB IEC61966-2.1

    • Stock TIFF images: Adobe RGB 1998

FYI

Manifests

Pick an object that you know has been ingested via the metadata activity stream, and retrieve the manifest its unit code, CMS type, and CMS ID:

e.g.
https://manifests-dev.collections.yale.edu/ycba/obj/38803 (V3)
https://manifests-dev.collections.yale.edu/v2/ycba/obj/38803 (V2)

Check for

  • conformance to the IIIF presentation API

  • presence/absence of canvases and images according to the access level (cds_acces_master, cds_access_tiff, cds_access_jpeg)

  • order of canvases (images) – is it correct a la cdsrank and cdsprimary?

  • conformance of width and height values the size limits (cds_maxsize_tiff and cds_maxsize_jpeg)

  • metadata ingested from activity streams

  • links to stock TIFFs and/or master media files as “rendering” elements when applicable

IIIF images

From a manifest, pick an image, construct a URL(s), and retrieve the image.

e.g. https://images-dev.collections.yale.edu/iiif/2/ycba:c5bad9c0-24f7-482c-9852-f6a554a4314a/full/full/0/default.jpg (full size)
https://images-dev.collections.yale.edu/iiif/2/ycba:c5bad9c0-24f7-482c-9852-f6a554a4314a/full/250,/0/default.jpg (width = 250px)

  • The full-size image should conform to the size limit set by cds_maxsize_jpeg.

  • The color profile should be sRGB IEC61966-2.1.

Non-IIIF contents

e.g.
https://media-dev.collections.yale.edu/tiff/ycba/c5bad9c0-24f7-482c-9852-f6a554a4314a.tif

  • The full-size image conform to the size limit set by cds_maxsize_tiff.

  • The color profile should be Adobe RGB 1998.

See in viewers

Pass the manifest to a test viewer and test.

e.g.

http://spinup-000bcd.spinup.yale.edu/mirador3?manifest=https://manifests-dev.collections.yale.edu/ycba/obj/38803 (Mirador 3, manifest V3)

http://spinup-000bcd.spinup.yale.edu/mirador3?manifest=https://manifests-dev.collections.yale.edu/v2/ycba/obj/38803 (Mirador 3, manifest V2)

Mirador2 does not support V3 manifests.

http://spinup-000bcd.spinup.yale.edu/mirador?manifest=https://manifests-dev.collections.yale.edu/v2/ycba/obj/38803 (Mirador 2, manifest V2)

http://spinup-000bcd.spinup.yale.edu/uv3?manifest=https://manifests-dev.collections.yale.edu/ycba/obj/38803 (Universal Viewer 3, manifest V3)

http://spinup-000bcd.spinup.yale.edu/uv3?manifest=https://manifests-dev.collections.yale.edu/v2/ycba/obj/38803 (Universal Viewer 3, manifest V2)

It is recommended that the units also test using additional viewers.

Metadata activity stream

Currently, no units implement the activity stream strictly according to the spec. Therefore instead of testing individual activities, we probably have to consider it a one-time bulk upload and only check for the consistency of CDS2 API with the source data. 

Hints for locating elements in a manifest

V3 

  • Canvas: items[n]

  • URL of image service (location of info.json): items[[n].items[0].items[0].body.service[“@id”]

  • URL of full size image: items[n].items[0].items[0].body.id

  • URL of stock PDF or master media file: items[n].rendering[0].id

V2

  • Canvas: sequences[0].canvases[n]

  • URL of image service (location of info.json): sequences[0].canvases[n].images[0].resource[‘@id’]

  • URL of full size image: sequences[0].canvases[n].images[0].resource[‘@id’]

Displaying thumbnails

Units to test displaying hundreds of thumbnails

  • confirm that the display is performant

 

Related content