Persistent Identifier Resolver: Additional Information
Table of Contents
1 Description
See the main documentation for the function of this application. The persistent identifier resolver for the most part uses algorithms to map a persistent link to the actual location of a file. However, for derivative files (usually PDF but formerly also DjVu) created and cataloged as part of the Preservation Department's large-scale digitization program, a lookup table is used. This is updated by the Preservation Department and works as follows.
2 Locations
2.1 Front end
Here are the instructions for creating the table.
BUILDING THE PI-PRES.XML FILE — First, in a web browser, visit the following URL: https://www.lib.uchicago.edu/secure/apps/pi-pres/
This URL is secured via Shibboleth. If you are unable to log in contact web-admin@lib.uchicago.edu for access. The page will take a few seconds to load (approximately 10 seconds in early 2015) but if all goes well you'll get a message indicating that the data file was written successfully. You can check the data here: http://storage.lib.uchicago.edu/pres/pi-pres.xml
Then visit this second URL in a web browser to load data into MarkLogic: http://marklogic.lib.uchicago.edu:8012/load-pi-pres.xqy
PDF files are placed in /storage/pres/2015.
A PDF file from that location is accessed persistently, for example, as http://pi.lib.uchicago.edu/1001/dig/pres/2015-0466.
2.2 Back end
The code for creating the table is in marklogic:/data/MarkLogic/Apps/pi/load-pi-pres.xqy. The code for retrieving the contents of the table is in marklogic:/data/MarkLogic/Apps/pi/get-pi-pres.xqy. This is accessed from pi1001(t).erl as follows:
httpc:request("http://marklogic.lib.uchicago.edu:8012/get-pi-pres.xqy")
The persistent identifier resolver depends upon the existence of that file and that path, including the port number, in order to retrieve the table and map the persistent identifier to the location of the derivative file. This means that any changes to, for example, the marklogic port number, need to be reflected in the corresponding erlang code. System administrators should check this URL frequently (using the automated system for doing this) in addition to the test URL in the main documentation.
