Drupal with CONTENTdm Digital Collections
Marcus Barnes, Simon Fraser University, June 2, 2012
• 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.
2
• 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
Bottom Line:
Drupal offers the flexibility and control necessary for a library website while leveraging the power of an active open source community.
3
• 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
• “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
Overview of the CONTENTdm modules
7
• 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
Drupal search
Query
CONTENTdm
API
Results
Result 1
Result 2
Result 3
Result 4
Result 5
Get / create
Drupal node
Determine viewer
Render output
Title
Creator
Description
Display
Comments
Tags
9
• 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
• 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
• 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.p
hp?q=dmQuery/all/subjec^canada^all^and/title!su
bjec/title/50/1/0/0/0/0/json
12
• Sites that run the modules:
– Multicultural Canada (SFU)
– Denver Public Library
– Komagata Maru Journey (SFU)
– Chinese Canadian Stories (UBC)
13
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 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
16
17
18
Assumptions:
• You know how to install an instance of Drupal 6.
• You have access to a CONTENTdm Server.
19
• 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
• 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 )
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.
21
• Putting content online: a practical guide for libraries by Mark Jordan ( Oxford: Chandos, 2006)
22