CONTENTdm integration module

Update, 2011-08-12: This project is now hosted at http://drupal.org/project/contentdm

For the last month or so I've been developing a Drupal 6.x module that allows searching of collections hosted in a CONTENTdm server from within a Drupal website. This development is being done as part of the MulticulturalCanada digitization initiative that Simon Fraser University Library, where I work, is the lead partner on. We are using Drupal for the public website, but are using CONTENTdm as the collection management application for close to half a million pages of newspapers, several thousand still images, several thousand books, and a few hundred audio interviews that make up the MulticulturalCanada umbrella collection. SFU is partnering with five other institutions on the selection and digitization of the content, and with several educators who are developing learning materials to accompany the specific collections.

In addition to providing access to this material managed by SFU's CONTENTdm instance, the Drupal site will contain, as regular nodes, a digitized (DocBook XML) encyclopedia, the aforementioned set of teaching and learning aids, and a number of other resources.

We decided to develop this module because we wanted to present a single integrated website to our end users. We have deviated from that principle slightly in that within the full record for each item, we plan to provide a link to that item in CONTENTdm's native interface, where the user can enjoy the sophisticated image zoom, comparison, cropping, and rotating tools that CONTENTdm provides. People might also want to use the CONTENTdm version if they need advanced searching, which we're not providing in the Drupal interface. By providing unified access to all our content in one site, and also providing direct item-level links from that site to the same items in the richer CONTENTdm interface, we're hoping to satisfy as many users as possible.

Update 2008-04-11: I have been informed by OCLC that this module can be distributed under the GPL, as can any application that uses the CONTENTdm API. It is only the API document that cannot be shared. Cool!

The module is still under development, but here are some screensnaps showing progress so far. You will recognize the Garland theme in my development version, but we're getting a web designer to do a proper theme for the public site.

The basic search form, where you can select collections the administrator has approved for public access:

Plain vanilla (so far) results list. I plan to add proper Drupal theming functions to the module so the layout and style of the results and item entries can be modified easily to fit the site's theme:

If the item is a compound item (i.e., it has mutiple parts), you get to see the first 20 parts or all of them if it has fewer than 20. So far our compound objects are either books or newspaper issues so this display is page-oriented.

The top of the display showing a single page from the previous compound object. The intra-document page browser isn't working yet.

A screen cap of the admin page, with several of the field sets expanded:

An example of a non-textual item, from the Vancouver Public Library's collection:

This module nicely demonstrates both Drupal's and CONTENTdm's flexibility. It is a simple client that interacts with the CONTENTdm server - basically, it passes searches performed by the user of the Drupal site to CONTENTdm, which returns records for display in a results list. Choosing a record retrieves that item's metadata and content files, which are then displayed in the Drupal site. Items retrieved and displayed using this module have no identity within Drupal (that is, they are not nodes in Drupalspeak), so users cannot leave comments, apply taxonomy terms to them, etc. We're working against a tight deadline in this project, but after the heat is off I intend to add programmatic creation of stub nodes that will allow the attaching of comments and taxonomy terms within the Drupal site to items that "live" in CONTENTdm.

Our funders, Canadian Culture Online, expect a beta version of the site by the end of April and we should be going live shortly after that.

Comments

CONTENTdm module will be GPL

Claire Cocco, Global Product Manager for CONTENTdm, has informed me that the CONTENTdm module Simon Fraser University is developing can be distributed widely, not just to CONTENTdm sites as I had indicated in my post (which I have now updated). Like all other publicly distributed modules it will be released under the GPL version 2.

Give the CONTENTdm module a try

We've lauched our site, which is at http://multiculturalcanada.ca/. There are still a few rough edges but all the major functionality is in place. Title/date browsing for newspapers is already there and I'll be adding a general browse feature in the next week or so.

We'd love to give it a shot

Hi Mark,

My name is Shaun Ressler, and I'm one of the student Library Technology Systems workers at Millersville University. We are looking at porting our entire library website over to Drupal, and are very interested in using the ContentDM module you are working on in our own site. I was wondering if you've posted the module yet, or would be willing to send it to us to implement it here on our site? We would be more than willing to try and help with development as well, if need be. I look forward to hearing from you!

Shaun Ressler
Ganser Library, Millersville University

I'm happy to share it

Hi Shaun,

I'm happy to share the version I have running at http://multiculturalcanada.ca, but my development version is still up on wooden blocks, as I'm integrating proper Drupal 6 external templates so I can plug in new 'viewers' (templates for different content types) as needed. It's something that I should have included from the beginning, but as I'm sure you won't be surprised to hear, I found it easier to hardcode most of the display logic (and HTML, to my embarrassment) to suit our immediate purposes by our deadline. It's not pretty but it works, more or less. Now that the site's up, I've had to put work on the module aside to tackle other priorities like planning for a move to Drupal for our main library website (!).

So, I'm happy to share the module as is, but can't commit to any further work on it until at least the middle of October, when I'll have returned from some holidays and conferences. In the meantime I'd love to hear your ideas on how the module could be made into a general-purpose front end to CONTENTdm. Drop me a line via the Drupalib contact form and I'll pass along what I have.

Contentdm module

Hi there,
I'm a web developer at the Denver Public Library. We're currently building our redesign in Drupal and are curious about your Contentdm module. How's it working for you? Have you made the updates you wrote about in the above post? Are you planning on releasing the module eventually?
Thanks for any updates you give.
Laurie Kubitz-Maness
Denver Public Library

We are interested as well.

We are moving some digital archives to ContentDM soon and would like to get our hands on this code as well. I'm reachable at amyq [at] hmcpl [dot] org.

More interest

Hi,

We have the same interest expressed by others. Is the source for this module posted anywhere, and/or would it be possible to get a copy of it? We understand your caveats about hard-coded sections etc., but it would be great not to have to re-invent those things you've already tackled.

Thanks.

Will be released shortly after CONTENTdm 6

Hi,

The current plan is to release this module as a d.o. project shortly after CONTENTdm 6 has been released, since it uses a web services API that will be bundled with Cdm 6. However, if you want a copy now, let me know and I can set you up.

Project moved to d.o.

This project is now available at http://drupal.org/project/contentdm

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <h3> <h4> <h5> <h6> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote>
  • Lines and paragraphs break automatically.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Use [toc list: ol; title: Table of Contents; minlevel: 2; maxlevel: 3; attachments: yes;] to insert a mediawiki style collapsible table of contents. All the arguments are optional.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
  _              _              _  _           
| | ___ | | __ __ | || | __ _
| | / _ \ | | \ \ /\ / / | || |_ / _` |
| |___ | __/ | | \ V V / |__ _| | (_| |
|_____| \___| |_| \_/\_/ |_| \__, |
|___/
Enter the code depicted in ASCII art style.