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
andcds2_error
in theassetstatus
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
andcds_maxsize_tiff
correct ICC profile
IIIIF images:
sRGB IEC61966-2.1
Stock TIFF images:
Adobe RGB 1998
FYI
TMAN database
production:
traffic-manager-prd.cnh4zslmvwh7.us-east-1.rds.amazonaws.com:1433
development:
traffic-manager-dev.c7exm1chla3f.us-east-1.rds.amazonaws.com:1433
NetX
production: https://yalemuseums01.netx.net
development: https://yalemuseums01-test.netx.net
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
andcdsprimary
?conformance of width and height values the size limits (
cds_maxsize_tiff
andcds_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