University of Chicago Photographic Archive Workflow: Creating Browse Lists

Table of Contents

1 Name change

This project was originally called the Archival Photofiles. In 2012 its name was changed to the Photographic Archive. You can find some evidence of this name change in the Apache config file that deals with the URL for this site. The /h/photofiles handle redirects to http://photoarchive.lib.uchicago.edu, and both photofiles.lib and archival-photofiles.lib redirect to photoarchive.lib.

In our Apache installation, photoarchive.lib is a proxy for http://marklogic.lib.uchicago.edu:8017. So if you want to edit the files that serve up this project, you won't find them on quarto, instead you'll find them here:

marklogic.lib.uchicago.edu:/opt/MARKlogic/photoarchive/

2 Updating browses

To make the site more responsive, the browses get pre-computed. When the site's metadata gets updated, browses are updated (for the procedure, see University of Chicago Photographic Archive Workflow: Loading Metadata). To do this, go to /opt/MARKlogic/photoarchive and run make. That will update the browse files that get displayed on the site.

3 Making changes to boilerplate code

3.1 Home page

The home page is a static HTML page. Because it's being served up from a server that doesn't use PHP or SSI, the homepage doesn't include any boilerplate code from anywhere.

3.2 Static pages

There are static pages for 'About the Collection', 'Banner Images', 'Reproductions', 'Rights', and 'Technical Information'. If you woud like to edit any of these pages, don't edit the HTML directly- instead, edit the XML file with the same base name. Then run make to update the HTML. Make will automatically add boilerplate code to the HTML, which makes things a bit easier to maintain.

3.3 Browse pages

Browses are also static HTML files that are updated through make. Below is a list of the HTML files and the XML docs they're based on in MARKlogic. The parentheses indicate whether all the documents in the Photographic Archive are included, or only the series indicated.

  • browse-individuals-and-groups.html=browse1.xml (series1)
  • browse-buildings-and-grounds.html=browse2.xml (series2)
  • browse-buildings-and-grounds-architects.html=browse21.xml (all)
  • browse-buildings-and-grounds-delineators.html=browse22.xml (all)
  • browse-buildings-and-grounds-landscape-designers.html=browse23.xml (all)
  • browse-buildings-and-grounds-sculptors.html=browse24.xml (all)
  • browse-buildings-and-grounds-stained-glass-designers.html=browse25.xml (all)
  • browse-events.html=browse3.xml (series3)
  • browse-student-activities.html=browse4.xml (series4)
  • browse-yerkes.html=browse6.xml (series6)
  • browse-photographers.html=browse8.xml (all)
  • browse-subject-terms.html=browse9.xml (all)
  • browse-dates.html=browse7.xml (all)
  • browse-maroon.html=maroon.xml (maroon)

The Makefile builds HTML by delivering the XML files above to db.xqy.

3.4 db.xqy

This XQuery file returns search result pages, individual records and browse results. (Browse results get saved as static pages to speed up the server.)

3.5 display.xqy

This file basically works as a template system. You will find boilerplate code in here.

Author: John Jung (keith)

Date:

Emacs 25.3.1 (Org mode 8.2.10)

Valid XHTML 1.0 Strict