School Archives in Drupal

Our alumni office is digitizing all of the items in the school archive this summer to better document what we have and make the collection more available to the school community. I have begun to configure Drupal to store this collection of images and descriptive information. This way, we have control of our data, we spend no cash on a commercial solution, and we can customize this as much as we want/can.

I could use the feedback of more experienced Drupal folk on this design. Many thanks!

I created a custom content type and attached the following taxonomy categories. I am thinking that heavy use of taxonomy will allow for easier navigation of the database than custom fields/exposed filters.


The first one, “Category,” is an internal term used by the alumni office to identify to which broad part of the school program the item belongs.

I only added two custom fields to the content type.

custom fields

ImageField allows easy image upload. Additionally, all of the uploaded files end up in a subdirectory of /files, so that it will be easy to move the archive elsewhere should we decide to do so one day.

image upload

I configured ImageCache to automatically create a thumbnail from the uploaded image, display it in the node teaser view, and link it to the full-sized image.


(this is just a sample I was using)

For my last trick, I installed Auto Nodetitle and wrote a little PHP to automatically generate archive ID numbers. For some reason, this didn’t work properly when the title was hidden, but it is likely better to leave it visible so that the archivist may manually override the automatically generated value if necessary.

Here’s the code I used for Auto Nodetitle.

$token = '[title]';
if (empty($token)) {
$sql = "select `field_id_value` from content_type_archive order by `field_id_value`";
$result = db_query($sql);
while ($row = mysql_fetch_assoc($result)) {
return 'Catlin Gabel Archives: Item '.$newid;
} else {
return $token;

Finally, the office would like users to be able to search by decade. I am already capturing the date as a custom date field and class year as a taxonomy term. How would I set up a search of either of those fields by decade? Is there an easier way than setting up a calculated field and searching on that?

Comments are closed.