CONTENTdm is a digital collections management application that provides several important administration features of value when undertaking a digitization project. Many institutions already use Drupal to power their web presence. CONTENTdm's native interface makes creating a single integrated website difficult. The CONTENTdm Integration Modules project was created by Mark Jordan of Simon Fraser University Library to solve this issue by providing a series of Drupal modules that help create a single integrated website - allowing the searching of digital collections hosted in a CONTENTdm server from within a Drupal website.
By the end of this talk, you will have a better understanding of:
*Why you would want to use CONTENTdm rather than simply Drupal for digital collections management;
*How the CONTENTdm Integration Modules work under the hood;
*How to install and setup these modules with Drupal to help present an integrated website.
This talk will be of particular interest to those who develop Drupal websites for use in libraries, archives, or museums, but also to Drupal developers and administrators in general.
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
Drupal with CONTENTdm Digital Collections, Drupal Camp Vancouver 2012
1. Drupal with CONTENTdm Digital Collections
Marcus Barnes, Simon Fraser University, June 2, 2012
2. • 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.
Outline
2
3. • 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.
Drupal in Libraries
3
4. • 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.
CONTENTdm
4
7. • “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
8. • 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
Out of the box
8
9. Drupal
search
Query
Get / create
Result 1 Drupal
Result 2 node
CONTENTdm Result 3 Comments
API Result 4
Determine
Tags
Result 5
viewer
Results
Render Title
output Creator
Description
Display
Technical architecture
9
10. • 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
CONTENTdm Web Services API
10
11. • 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
CONTENTdm API details
11
12. • 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
CONTENTdm API REST URLs
12
13. • Sites that run the modules:
– Multicultural Canada (SFU)
– Denver Public Library
– Komagata Maru Journey (SFU)
– Chinese Canadian Stories (UBC)
CONTENTdm Integration Modules
13
14. 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
CONTENTdm REST API:
Typical Use Pattern 14
15. • 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
CONTENTdm API: Applications
15
19. Assumptions:
•You know how to install an instance of Drupal 6.
•You have access to a CONTENTdm Server.
Demo
19
20. • 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
Future plans
20
21. • 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.
Closing Remarks
21
22. • Putting content online: a practical guide for libraries
by Mark Jordan (Oxford: Chandos, 2006)
Resources
22