Presentation Slides - Summit

advertisement

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

CONTENTdm

API

Results

Result 1

Result 2

Result 3

Result 4

Result 5

Technical architecture

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

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

Download