Size Restrictions
This page provides additional information for the maxWidth, openFullMax and openMaxWidth properties of Asset.
Summary
Section titled “Summary”The following table summarises the effect of these three properties across all combinations. The numeric values in the example column are illustrative.
| # | Has roles | maxWidth | openFullMax | openMaxWidth | Open (anonymous) access | Authenticated access | Thumbnails |
|---|---|---|---|---|---|---|---|
| 1 | No | 0 | 0 | 0 | Any region, up to platform limit | N/A | Per policy / up to platform limit |
| 2 | No | 1000 | 0 | 0 | Any region, up to 1000px | N/A | Up to 1000px |
| 3 | No | any | >0 | >0 | Same as 1 or 2 (fields ignored) | N/A | Same as 1 or 2 |
| 4 | Yes | 0 | 0 | 0 | None | Any region, up to platform limit | None |
| 5 | Yes | 1000 | 0 | 0 | None | Any region, up to 1000px | None |
| 6 | Yes | 0 | 400 | 0 | /full/ up to 400px | Any region, up to platform limit | Up to 400px |
| 7 | Yes | 1000 | 400 | 0 | /full/ up to 400px | Any region, up to 1000px | Up to 400px |
| 8 | Yes | 0 | 0 | 512 | Any region, up to 512px (substitute service) | Any region, up to platform limit | Up to 512px |
| 9 | Yes | 1000 | 0 | 512 | Any region, up to 512px (substitute service) | Any region, up to 1000px | Up to 512px |
| 10 | Yes | 0 | 400 | 512 | /full/ up to 400px (main); any region up to 512px (substitute) | Any region, up to platform limit | Up to 512px |
| 11 | Yes | 2000 | 400 | 512 | /full/ up to 400px (main); any region up to 512px (substitute) | Any region, up to 2000px | Up to 512px |
No roles
Section titled “No roles”When an image has no roles, openFullMax and openMaxWidth are ignored. Only maxWidth has any effect.
1. No roles, maxWidth=0, openFullMax=0, openMaxWidth=0
Section titled “1. No roles, maxWidth=0, openFullMax=0, openMaxWidth=0”Anyone can request any region up to the platform-imposed limit (e.g., 10000px). This includes upscaling.
The platform maxWidth is added to the info.json automatically.
Thumbnails are created according to the thumbnail policy, limited only by the image size itself (or the system limit if reached).
2. No roles, maxWidth=1000, openFullMax=0, openMaxWidth=0
Section titled “2. No roles, maxWidth=1000, openFullMax=0, openMaxWidth=0”Conforms to IIIF Image API behaviour for maxWidth. The size parameter of any request cannot produce an image exceeding the maxWidth bounding square. When the size parameter is max, the resulting image is confined to the maxWidth bounding box.
Thumbnails are created according to the thumbnail policy, up to the bounding square defined by maxWidth.
3. No roles, openFullMax or openMaxWidth != 0
Section titled “3. No roles, openFullMax or openMaxWidth != 0”openFullMax and openMaxWidth are only meaningful when the image has roles. If the image has no roles, these values are ignored and the behaviour is identical to scenarios 1 or 2, depending on maxWidth. Setting these fields when an image has no roles is not an error, as you may vary roles separately.
Has roles
Section titled “Has roles”When an image has roles, the iiif-img delivery channel provides a probe service and related IIIF Auth services. The behaviour for open and authenticated access depends on the combination of maxWidth, openFullMax, and openMaxWidth.
4. Has roles, maxWidth=0, openFullMax=0, openMaxWidth=0
Section titled “4. Has roles, maxWidth=0, openFullMax=0, openMaxWidth=0”The image service has a probe and related IIIF Auth services. Only users with one or more of the image’s roles can see any pixels.
An authorised user with a role can make requests up to the platform limit.
No thumbnails are produced, whatever the policy.
5. Has roles, maxWidth=1000, openFullMax=0, openMaxWidth=0
Section titled “5. Has roles, maxWidth=1000, openFullMax=0, openMaxWidth=0”The image service has a probe and related IIIF Auth services. Only users with one or more of the image’s roles can see any pixels.
An authorised user with a role can make requests up to the maxWidth limit (1000px).
No thumbnails are produced, whatever the policy.
6. Has roles, maxWidth=0, openFullMax=400, openMaxWidth=0
Section titled “6. Has roles, maxWidth=0, openFullMax=400, openMaxWidth=0”The image service has a probe and related IIIF Auth services.
Any user, including anonymous, can see /full/ region requests that fit within the bounding square defined by openFullMax (400px). Only users with one or more of the image’s roles can see non-full regions or sizes larger than openFullMax.
An authorised user with a role can make requests up to the platform limit (as maxWidth is 0).
Thumbnails are created according to the thumbnail policy, up to the bounding square defined by openFullMax (400px).
7. Has roles, maxWidth=1000, openFullMax=400, openMaxWidth=0
Section titled “7. Has roles, maxWidth=1000, openFullMax=400, openMaxWidth=0”The image service has a probe and related IIIF Auth services.
Any user, including anonymous, can see /full/ region requests that fit within the bounding square defined by openFullMax (400px). Only users with one or more of the image’s roles can see non-full regions or sizes larger than openFullMax.
An authorised user with a role can make requests up to maxWidth (1000px).
Thumbnails are created according to the thumbnail policy, up to the bounding square defined by openFullMax (400px), or maxWidth if lower (unlikely in practice, but not an error).
8. Has roles, maxWidth=0, openFullMax=0, openMaxWidth=512
Section titled “8. Has roles, maxWidth=0, openFullMax=0, openMaxWidth=512”The image service has a probe and related IIIF Auth services. An unauthorised user receives "status": 401 from the probe service, but the probe service response includes a substitute image service. The substitute image service has no access control and has a maxWidth of openMaxWidth (512px). Any user — including anonymous — can make requests of any region on the substitute service, up to the 512px bounding square.
An authorised user with a role can access the main image service with requests up to the platform limit (as maxWidth is 0).
Thumbnails are created up to the openMaxWidth limit (512px).
9. Has roles, maxWidth=1000, openFullMax=0, openMaxWidth=512
Section titled “9. Has roles, maxWidth=1000, openFullMax=0, openMaxWidth=512”The image service has a probe and related IIIF Auth services. An unauthorised user receives "status": 401 from the probe service, but the probe service response includes a substitute image service. The substitute image service has no access control and has a maxWidth of openMaxWidth (512px). Any user — including anonymous — can make requests of any region on the substitute service, up to the 512px bounding square.
An authorised user with a role can access the main image service with requests up to maxWidth (1000px).
Thumbnails are created up to min(maxWidth, openMaxWidth) = 512px.
This is similar to the previous example except that even authorised users have a size restriction set below the platform default.
10. Has roles, maxWidth=0, openFullMax=400, openMaxWidth=512
Section titled “10. Has roles, maxWidth=0, openFullMax=400, openMaxWidth=512”The image service has a probe and related IIIF Auth services. An unauthorised user receives "status": 401 from the probe service, but the probe service response includes a substitute image service. The substitute image service has no access control and has a maxWidth of openMaxWidth (512px). Any user — including anonymous — can make requests of any region on the substitute service, up to the 512px bounding square.
In addition, any user can make /full/ region requests directly on the main image service up to the openFullMax bounding square (400px), without needing to interact with the probe or use the substitute service.
An authorised user with a role can access the main image service with requests up to the platform limit (as maxWidth is 0).
Thumbnails are created up to 512px. Both openFullMax (400px) and openMaxWidth (512px) allow thumbnail generation; the higher limit (openMaxWidth = 512px) applies, and since maxWidth is 0 it does not further constrain the thumbs limit.
11. Has roles, maxWidth=2000, openFullMax=400, openMaxWidth=512
Section titled “11. Has roles, maxWidth=2000, openFullMax=400, openMaxWidth=512”The image service has a probe and related IIIF Auth services. An unauthorised user receives "status": 401 from the probe service, but the probe service response includes a substitute image service. The substitute image service has no access control and has a maxWidth of openMaxWidth (512px). Any user — including anonymous — can make requests of any region on the substitute service, up to the 512px bounding square.
In addition, any user can make /full/ region requests directly on the main image service up to the openFullMax bounding square (400px), without needing to interact with the probe or use the substitute service.
An authorised user with a role can access the main image service with requests up to maxWidth (2000px).
Thumbnails are created up to min(maxWidth, openMaxWidth) = 512px.