Delivery Deep Links

Delivery URLs

ParameterDescriptionValue
delivery load balancer hostload.balancer.del.host in global propertiesstring
delivery load balancer portload.balancer.del.port in global propertiesnumber
PIDThe PID of the delivered object – IE, Representation or Filestring
dps_funcThe specific function verb – ‘stream’ or ‘thumbnail’string

Input URL Syntax

Delivery Deep Link (IE or Representation):

https://<delivery load balancer host>:<delivery load balancer port>/delivery/DeliveryManagerServlet?dps_pid=<IE/REP PID>

Delivery Deep Link (File within IE, in IE Viewer):

https://<delivery load balancer host>:<delivery load balancer port>/delivery/DeliveryManagerServlet?dps_pid=<IE/REP PID>&dps_file=<file PID>

Delivery Deep Link (File):

https://<delivery load balancer host>:<delivery load balancer port>/delivery/DeliveryManagerServlet?dps_pid=<file PID>&dps_func=stream

Delivery Deep Link (Thumbnail):

https://<delivery load balancer host>:<delivery load balancer port>/delivery/DeliveryManagerServlet?dps_pid=<file PID>&dps_func=thumbnail

Collection Viewer:

https://<delivery load balancer host>:<delivery load balancer port>/delivery/DeliveryManagerServlet?dps_pid=<collection ID>

IIIF Manifest (IE or REP):

https://<delivery load balancer host>:<delivery load balancer port>/delivery/iiif/presentation/2.1/<IE/REP PID>/manifest

IIIF Canvas (File, v5.3+):

https://<delivery load balancer host>:<delivery load balancer port>/delivery/iiif/presentation/2.1/<IE/REP PID>/canvas/<File PID>

CMS Resolver:

https://<delivery load balancer host>:<delivery load balancer port>/delivery/action/cmsResolver.do?cmsSystem=<system>&cmsRecordId=<recordId>[&displayType=list&columns=<column_a,column_b> | &displayType=thumbnails]

(Note: A CMS Resolver request that yields only one result will be automatically redirected to IE Delivery.)

Input Example

Delivery Deep Link (IE or Representation)

https://rosetta.exlibrisgroup.com/delivery/DeliveryManagerServlet?dps_pid=IE17978&dps_custom_att_1=staff

Delivery Deep Link (File)

https://rosetta.exlibrisgroup.com/delivery/DeliveryManagerServlet?dps_pid=FL17981&dps_func=stream

Delivery Deep Link (Thumbnail)

https://rosetta.exlibrisgroup.com/delivery/DeliveryManagerServlet?dps_pid=FL17981&dps_func=thumbnail

CMS Resolver

https://rosetta.exlibrisgroup.com/delivery/action/cmsResolver.do?cmsSystem=USM01&cmsRecordId=000008447-6&displayType=list&columns=dc:title,dc:creator
https://rosetta.exlibrisgroup.com/delivery/action/cmsResolver.do?cmsSystem=USM01&cmsRecordId=000008447-6&displayType=thumbnails

Authentication

Delivery URLs support Basic Authentication (v. 6.3+): A base64 encoded user, institution code and password, sent as an Authorization HTTP header. Decoded string should be {username}-institutionCode-{institutionCode}:{password}, e.g. vickyholmes-institutionCode-INS00:9uQ29kZS1JT.

 

Access Rights Check

External applications such as viewers or discovery systems can request an Access Rights check without actually delivering the object, by sending a HEAD request to the same delivery URL.

Rosetta returns the following responses:

  • 200 – if access is granted
  • 401 – if access is denied for user-related reasons (i.e. user login may allow access).
  • 403 – if access is denied for other reasons

When a 401 or 403 code is returned, Rosetta includes the reason (defined in the Access Rights Policy) in the X-Denied-Message header. If the reason is represented in multiple languages, the requested language can be specified using change_lng querystring parameter.

Depending on your implementation, CORS headers may be required. Rosetta supports CORS by returning the following headers:

X-Frame-Options: SAMEORIGIN

Access-Control-Allow-Origin: *

Access-Control-Allow-Methods: GET, OPTIONS, HEAD

Access-Control-Expose-Headers: X-Denied-Message

Access-Control-Allow-Credentials: true