Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7...

23
Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content Ryan Miller and Cristina Perez May 28, 2015

Transcript of Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7...

Page 1: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Integrating CONTENTdm with Drupal 7

Using the API to populate Drupal with CONTENTdm institutional repository content

Ryan Miller and Cristina Perez

May 28, 2015

Page 2: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Background on IFPRI

International Food Policy Research Institute

(IFPRI) is an international organization dedicated to eradicated hunger and poverty.

Page 3: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Objectives

• Requirements and design of integration • How the CONTENTdm API calls were used • Record creation in Drupal • Challenges, both self-created and technical • Alternate implementations at IFPRI

Page 4: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Scope of CONTENTdm collections

• Internal

– IFPRI publishes about 400 branded items per year

• External – A further 400 externally published documents

• Datasets – A few dozen publically accessible datasets

Page 5: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Context of web rebuild and integration

Goal - Integrate three web properties

1. Main site built in 2009 on Drupal 6 2. CONTENTdm repository launched 2012,

separate from website 3. WordPress multisite installation for projects

and programs

Page 6: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Integration Requirements

• Display IFPRI internal and external research • Draw on Cdm metadata • Populate pages with research products • Eliminate duplicate efforts

Page 7: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

PDF Metadata Thumbnail

CONTENTdm

Drupal Record creation

Indexed in SOLR

Sleeve

Revised Record

CRON

Page 8: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

CONTENTdm API calls used

• getItem

– Provides source metadata for Drupal record

• getThumbnail – Used to copy the thumbnail image into Drupal

• dmQuery – Identifies newly modified records for creation and

updates

Page 9: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Creating publication record in Drupal

Master record created in CONTENTdm

New record is identified, then copied into Drupal

Drupal “sleeve” is created based on record and allows content to be added for web view

Record types and subtypes based on dedicated field in CONTENTdm

Page 10: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Creating publication record in Drupal

Drupal Record Drupal Sleeve (copy of Cdm record) Sleeve has added metadata to enhance Web view

ifpri.org

Page 11: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Screenshots: Record and Sleeve

Page 12: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Screenshots

Page 13: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Screenshots

Page 14: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Screenshots

Page 15: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Challenges: Compound Objects

• Developed logic in Drupal for direct to PDF links for converted compound objects

• This process creates invalid links for direct to full PDF in true compound objects – Solution: ignoring chapters and using link for full

document

Page 16: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Challenges: Measuring PDF usage

Plan: Google Analytics to measure usage from both Cdm and Drupal 7 Issues: • Finding system to get a true count • Did not pick up on D7 created direct to PDF

links • Explaining change to internal users

Page 17: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Direct to PDF link Solution

• Redirect through the server to trigger a count

Example: http://ifpri.org/cdmref/p15738coll2/id/129217/filena

me/129428.pdf • Steer users to alternate measures like citations

or Altmetric

Page 18: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Challenges: keywords

• A working group was designated to coordinate the mapping of keywords used in the catalog and a set of Top Topics on the website

• The topics cluster publications based on the keywords assigned

Top Topic Keywords

Nutrition Diet & Nutrition, biofortification

Policies and Institutions

Food Policy, Impact, Program evaluation, Risk Management, Policy Communications, Institutional Change for Food and Agriculture Innovation, Policy Processes in Food Security and Nutrition

Poverty Public Policy & Investment, Poverty and trade, Rural development, Pro-Poor Public Investment

Page 19: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Challenges: API for full migration

We broke it!

Page 20: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Challenges: workflow

• Coordinating maintenance cycles between

Drupal and Cdm • Embargoed new publications

Page 21: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Alternate Implementation- LandPortal

Page 22: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Alternate Implementation- ReSAKSS Asia

Page 23: Integrating CONTENTdm with Drupal 7 - OCLC · 2020-03-27 · Integrating CONTENTdm with Drupal 7 Using the API to populate Drupal with CONTENTdm institutional repository content .

Alternate Implementation- Climate Change