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.
