Marcus Barnes, Simon Fraser University, June 2, 2012 Drupal with CONTENTdm Digital Collections

Preview:

Citation preview

Marcus Barnes, Simon Fraser University, June 2, 2012

Drupal with CONTENTdm Digital Collections

2

Outline

• Overview and Introduction: Drupal in Libraries and CONTENTdm

• CONTENTdm Integration Modules

• Tutorial Demo: Getting started with the CONTENTdm Integration Modules

• Closing Remarks with Q/A.

Drupal in Libraries

• Used by many libraries • Rich API• Thousands of ‘contrib’ modules• Ease of integrating with other systems• Thriving Drupal library community

• http://drupalib.interoperating.info• http://groups.drupal.org/libraries• drupal4lib email list

3

Bottom Line: Drupal offers the flexibility and control necessary for a library website while leveraging the power of an active open source community.

CONTENTdm

• CONTENTdm: “digital collection management software that allows for the upload, description, management and access of digital collections.”1 (Product offering of the Online Computer Library Center, Inc. (OCLC) [a non-profit membership cooperative.]

• Complex issues involved with digital collections – CONTENTdm is a vertical application that helps better manage these issues into the workflow.

• Windows client especially useful for enforcing business rules and quality control during the digitization and uploading stages of a project.

4

CONTENTdm Windows Client:Editing an Uploaded Item

5

CONTENTdm Windows Client:Adding Multiple Compound Objects

6

Overview of the CONTENTdm modules

• “A set of modules that allows users to search, browse and view CONTENTdm 6.x collections from within a Drupal website”

• Hosted at http://drupal.org/project/contentdm• Design principles

– Modularity– Extensibility– Ease of customization

7

Out of the box

• Basic search module• Viewers for image, PDF, media, compound

items, URL, and plain text items• Hierarchical document browser• Custom queries module, for prebuilt search

results• A 'scopes' module, which defines subsets of

CONTENTdm collections for searching and browsing

8

Technical architecture

9

CONTENTdm API

Drupal

search

Result 1Result 2Result 3Result 4Result 5

Query

Results

Display

Get / createDrupalnode

Determineviewer

TitleCreatorDescription

CommentsTags

Renderoutput

CONTENTdm Web Services API

• The Web Services API makes the CONTENTdm PHP API available through a REST interface

• SFU developed this API during the Multicultural Canada project, in partnership with Athabasca University

• Rationale: We needed to run the MCC website on a different web server than CONTENTdm was running on.– The PHP API was only available if you ran your

application (e.g., Drupal) on the same web server as CONTENTdm

10

CONTENTdm API details

• Released by OCLC as part of CONTENTdm 6.x

• REST calls mirror CONTENTdm 5.x PHP API functions– E.g., dmGetCollectionList, dmQuery,

dmGetItemInfo

• Response from CONTENTdm is returned in either XML or JSON

11

CONTENTdm API REST URLs

• Generic form– http://CdmServer.com:port/dmwebsetrvices/

index.php?q=function/param1/param2/format/help/log

• Specific example– http://content.lib.sfu.ca:81/dmwebservices/

index.php?q=dmQuery/all/subjec^canada^all^and/title!subjec/title/50/1/0/0/0/0/json

12

13

• Sites that run the modules:

– Multicultural Canada (SFU)

– Denver Public Library

– Komagata Maru Journey (SFU)

– Chinese Canadian Stories (UBC)

CONTENTdm Integration Modules

CONTENTdm REST API:Typical Use Pattern

1. dmQuery– Searches CONTENTdm and returns a result list

2. dmGetItemInfo– Returns metadata, filename, and full text for the

designated item

3. dmGetCompoundObjectInfo– If the item is compound, returns a list of all its

children and its hierarchical structure

14

CONTENTdm API: Applications

• CONTENTdm Integration modules for Drupal– http://drupal.org/project/contentdm

• Canadiana.org Metadata Exporter

• LOCKSS-friendly front end to CONTENTdm

• SFU Multisearch also uses the API to query CONTENTdm

15

Chinese Head Tax search

16

Komagata Maru passenger list entry

17

Google Docs Viewer integration

18

Demo

19

Assumptions:

•You know how to install an instance of Drupal 6.

•You have access to a CONTENTdm Server.

Future plans

• Migration to Drupal 7• Better synchronizing of updated / reloaded

items in CONTENTdm• Integration of more media viewers

– HTML5 media– PDFObject

• Integrate new features of the CONTENTdm APIs as they become available– Catcher

20

Closing Remarks

• http://drupal.org/project/contentdm• Contributors:

– Mark Jordan: markj (Project Creator & Leader)– Marcus Barnes: M.E.B. (forthcoming)– Andy Laken: laken (CONTENTdm Organic Groups integration)

21

A special thank you to the Simon Fraser University Library and the Library Systems group for their encouragement and support on this and other projects.

Resources

• Putting content online: a practical guide for libraries by Mark Jordan (Oxford: Chandos, 2006)

22