In an effort that has highlighted the modularity of the HathiTrust repository, and the capacity for distributed development of repository infrastructure, the University of California California Digital Library has developed a new bibliographic metadata management system for HathiTrust. The new system, called Zephir, is custom-designed to the functional metadata needs of HathiTrust, providing a range of back-end services. Zephir was launched in the fall of 2013.
Bibliographic information is critically important to HathiTrust. Bibliographic records provide general descriptions of items (title, author, publisher, date), as well as summaries, descriptions and additional information that are often not available in the item itself (e.g., author death date, subject headings, government document status). This information is crucial for helping users find what they are looking for, allowing HathiTrust to make an initial automated rights determination about volumes (with close to 11 million volumes, HathiTrust could not provide the broad access it does otherwise) and perform manual investigations into the copyright or in-print status of items. It is also used in inventories of HathiTrust items, to trigger ingest, and to trouble-shoot problems.
On October 30, 2013 HathiTrust released a new bibliographic metadata management system, called Zephir, to store, manage, and export to other HathiTrust systems, bibliographic records accompanying digital items deposited HathITrust's digital repository. Zephir performs a wide range of functions, including record ingest and updating, general management of records, record versioning, and reporting on record loading, including error reporting. Zephir integrates seamlessly into HathiTrust workflows, providing metadata that is used for all the purposes above, being primarily accessible through HathiTrust's online catalog, datafeeds, and APIs (existing public-facing metadata exposure services (http://www.hathitrust.org/data ) will remain available, but will now include metadata sourced from Zephir).
Zephir includes a number of additional functions:
In preparation for launching Zephir, HathiTrust implemented revised bibliographic metadata specifications (http://www.hathitrust.org/bib_specifications ) as well as new bibliographic metadata submission process (http://www.hathitrust.org/bib_data_submission ) which provides contributing partners with feedback about their records through a series of reports generated for each file submitted.
The University of California (UC) is a founding member of HathiTrust, and the California Digital Library (CDL) has traditionally been a locus of coordination and technical development for the UC Libraries. A team at the CDL developed Zephir to support specific HathiTrust requirements by working in consultation with staff at the University of Michigan who have managed HathiTrust bibliographic metadata since HathiTrust's inception. The work of designing and implementing Zephir has highlighted the modularity of the HathiTrust repository, the potential for collaboration between HathiTrust partner institutions in developing components of the infrastructure, and the capacity for distributed development of repository infrastructure in addition to the core systems and services provided by the University of Michigan.
The launch of Zephir was a several-years effort, participated in by a wide range of staff at the CDL and the University of Michigan. Core team members included:
Lynne Cameron, HathiTrust Co-Technical Lead (core development team)
Heather Christenson, HathiTrust Project Manager
Stephanie Collett, Technical Project Lead (core development team)
Paul Fogel, HathiTrust Co-Technical Lead
Patricia Martin, Director, Discovery and Delivery Team
Kathryn Stine, Metadata Analyst & Project Manager (core development team)
Michael Thwaites, Programmer & Testing Coordinator (core development team)
Lena Zentall, former Project Manager (core development team)
Bill Dueber, Library System Programmer
Tim Prettyman, Senior Library Applications Programmer
Jon Rothman, Head of Library Systems Office
Jeremy York, Assistant Director, HathiTrust
Laine Farley, Executive Director, California Digital Library; HathiTrust Executive Committee member
John Wilkin, Executive Director, HathiTrust
Prior to metadata processing, contributor records are submitted to Zephir via FTPS.
Submitted contributor metadata is processed by a record loader script (written in Perl) and subsequent import/update scripts (written in Ruby). Metadata processing includes validation against the MARC standard and HathiTrust bibliographic metadata specification (http://www.hathitrust.org/bib_specifications ). During processing, some metadata values are normalized, put into consistent locations, removed, or added.
Zephir (written in Ruby) stores the original volume-level records as submitted by HathiTrust contributing institutions and as processed during loading. When metadata is updated, All files are stored in a file system and Zephir maintains a complete history of all changes to a record (using Git and Pairtree file structure). Selected data elements are stored and indexed in a database (using Mysql), which also includes bibliographic and volume-level records.
Zephir exports bibliographic records and management data for HathiTrust workflows and services (with Ruby). Zephir also has the capacity for exporting volume-level records as well as specific metadata elements for analysis and reporting.
On a daily basis, Zephir exports a list of volume identifiers and additional metadata to the University of Michigan for newly loaded records from contributors. The HathiTrust Ingest Framework (Feed) utilizes this information in the digital repository ingest process.
On a daily basis, Zephir receives a list of volume identifiers from the University of Michigan (originating in the HathiTrust Ingest Framework (Feed)) representing digital objects ingested to the HathiTrust repository the previous day.
Zephir uses a list of volume identifiers from the University of Michigan representing digital objects ingested to the HathiTrust repository the previous day to determine which bibliographic records are included in its daily export to the University of Michigan for further processing and use in HathiTrust’s access systems.
There are three environments maintained for Zephir, production, stage, and development.
The production environment is comprised of two SLES Linux virtual machines (FTPS VM, Zephir VM) and a high-availability database server (Zephir DB) on Solaris. A virtual machine snapshot of the FTPS and Zephir machines (FTPS VM Weekly Snapshot, Zephir VM Weekly Snapshot) and a database snapshot (Zephir DB Weekly Snapshot) are taken weekly. Four snapshots of each component are stored at the production environment at the UCOP data center and a copy is held in the UC San Diego data center for disaster recovery. In addition to system recovery, all original record files submitted to the FTPS server are permanently archived in both data centers (Zephir Input Records File Archive).
The staging and development environments are located at the UC Berkeley data center. These environments employ the same virtual machine and database technology as in production. The primary purpose of these systems are to develop features and fixes for the Zephir system (development environment) and deploy these changes at scale (staging environment) before rolling them out to production.
|Planning phase April - October 2010||Completed|
|Project officially launches November 2010|
Complete business arrangements & funds transfer
Ongoing procedures for receiving input files and pre-ingest transformation procedures in place
|Core file system in place|
|Core database in place|
Milestone: Generic core system in place.
Completed; Demo'ed 6/14/11
|Named the system "Zephir"||Completed|
|(Preliminary) load and test records||Completed|
|Reconcile differences between original contributor records and HathiTrust records||Completed|
|Confirm ingest standards and workflows for contributing records (minimum submission standard, record correction policies & handling)||Completed|
Process (rights, daylight, preferred record score):
Process (batch exports)
Process (batch exports)
|System adapted to HathiTrust workflow||Completed|
Development environment load target: early June 2013
Staging environment load target: early July 2013
Production environment load target: late July 2013
|Functional and performance testing of system||In progress|
|Integration testing||In progress|
|System acceptance - Run systems in parallel||Systems running in parallel through mid-October 2013|
|Cutover to Zephir - System in production with the HathiTrust|
December 2010 
January 2011 
February 2011 
March 2011 
April 2011 
May 2011 
June 2011 
July 2011 
August 2011 
September 2011 
October 2011 
November 2011 
December 2011 
January 2012 
February 2012 
March 2012 
April 2012 
May 2012 
June 2012 
July 2012 
August 2012 
September 2012 
October 2012 
November 2012 
December 2012 
January 2013 
February 2013 
March 2013 
April 2013 
May 2013 
June 2013 
July 2013 
August 2013 
Stephanie Collett , Technical Lead
Kathryn Stine , Project Manager