Presentation Slides - Summit

Download Report

Transcript Presentation Slides - Summit

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.
Outline
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.
Drupal in Libraries
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.
CONTENTdm
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
Out of the box
8
Drupal
search
Query
Result 1
Result 2
Result 3
Result 4
Result 5
CONTENTdm
API
Results
Get / create
Drupal
node
Comments
Tags
Determine
viewer
Render
output
Title
Creator
Description
Display
Technical architecture
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
CONTENTdm Web Services API
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
CONTENTdm API details
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
CONTENTdm API REST URLs
12
• Sites that run the modules:
– Multicultural Canada (SFU)
– Denver Public Library
– Komagata Maru Journey (SFU)
– Chinese Canadian Stories (UBC)
CONTENTdm Integration Modules
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
CONTENTdm REST API:
Typical Use Pattern
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
CONTENTdm API: Applications
15
Chinese Head Tax search
16
Komagata Maru passenger list entry
17
Google Docs Viewer integration
18
Assumptions:
• You know how to install an instance of Drupal 6.
• You have access to a CONTENTdm Server.
Demo
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
Future plans
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.
Closing Remarks
21
• Putting content online: a practical guide for libraries
by Mark Jordan (Oxford: Chandos, 2006)
Resources
22