Bibliographic Records

by zinelibraryzac ()

Bibliographic records will be handled as custom content types in our system. In our current development system, this consists of a single content type called zine (display name ‘Zine Record’).

As most zines are published informally, our bibliographic structure needs to be broad and flexible. In our initial explorations into the application of conventional electronic cataloguing systems to collections of zines, we reviewed a potential subset of MARC (Wikipedia) as a possible framework for the zine catalogue, but with the decision to use Drupal, the MARC subset was abandoned. The set of fields which we have created in our development system fairly resembles of that of Dublin Core, though not exactly.

Our bibliographic record structure has the following fields, with DC substitutes in brackets:

1. Title (dc.title)
2. Subtitle (dc.title)
3. Main Topic
4. Subject Terms (dc.subject)
5. Author (dc.creator)
6. Contributor (dc.contributor)
7. Number of Pages (dc.format)
8. Physical Description (dc.format)
9. Language (dc.language)
10. Geographic Location (dc.coverage)
11. Date of Publication (
12. Summary (dc.description)
13. Notes

This model has not changed since we conceived of our data model in February. Most terms in the list above should be fairly self explanatory as to content, but I’ll elabourate on a few.

3. Main Topic - Zines at the Anchor Archive are stored in boxes on shelves, each box corresponding to a broad primary subject or topic. The value of the this field will be selected by cataloguers from a strictly controlled vocabulary corresponding to the these broad topics.

4. Subject Terms - The values in this field will also be chosen from a Drupal taxonomy. Multiple values will be allowed. Initially, this taxonomy will be an open one, meaning that new terms may be added by cataloguers which will be automatically added to the taxonomy. It will be closed after a period of time when the breadth of terms is more complete.

The two fields just mentioned are applied within Drupal using taxonomies. In our finished system, some additional fields such as author/contributor may be restricted using taxonomies.


Bibliographic records of the type outlined will correspond to a particular zine (or other publication). In order to manage multiple copies of a particular zines, a second content type will be used, called item (display name ‘Item’). The item content type will contain very little information:

1. Item Code
2. Zine Title (Reference to a Zine record)
3. Circulating (yes or no)

The item code will be generated automatically. It will consist of a three-letter code corresponding to the Main Topic of the Zine record, followed by a space and then a unique number. This code will be written on to each individual Zine in the collection. Thus, having the Main Topic in the Item Code will allow easy re-shelving of materials in the collection.

The Zine Title is in fact a Drupal “reference” field; the value stored here is a reference to another unique node. In Drupal, it is possible to set which content types may be referenced by such a field. In the present system, we only have one type of bibliographic records: Zines. If in the future we wish to extend the system to the other types of media, we will create another bibliographic content type but re-use the item type. Items are without format.

Record Creation

Records will be created in the normal method for content creation in Drupal. Librarians will select the ‘Create Content’ link from the system menu, and select ‘Zine Record.’ They will enter data into as many of the 13 bibliographic fields in the record as possible.

We intend to modify the system slightly: after a user submits a Zine Record, the return screen should include a link to create an Item record. (If a cataloguer creates a bibliographic record for a new Zine, s/he will probably want to add at least one copy of that Zine to the system as an item). It will have to be clear that a bibliographic record without corresponding Items is incomplete. Alternately, this can be done automatically either with the Workflow module or, more simply, with the Node Go To module.

In order to prevent duplicate bibliographic entries being added to the system, a small custom module was added to the system which performs a single action: When new content is submitted of specific content types, the module checks the name against all other nodes of the same type. If any have the same name, the new record is sent back to the user for modification. We use this module with both the Zine Record and Item content types.

Also, in order to generate a unique number for each Item record, a small table with one field was added to Drupal’s database, containing only a single number value. We used some custom code with the Automatic Nodetitle module to lookup the latest number from this table, use it in the Item’s title, and add one the database value. This could probably have been accomplished simply with a custom system setting, but our way worked easily enough.