18
Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Embed Size (px)

Citation preview

Page 1: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Cocoon and Digital Libraries in the Humanities

Hugh A. CaylessUNC Chapel Hill

Page 2: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

outline

• What is Apache Cocoon?• Why is it particularly useful for

digital library applications in the Humanities?

• Getting started with Cocoon• Some examples

– A Cocoon webapp– Integrating software into Cocoon

Page 3: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

What is Apache Cocoon?

•An XML-based (web) publishing framework written in Java

•Some explanatory digressions:– XML– XSLT– SAX

Page 4: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Digressions continued…

•Wimmel, Walter (1960) Kallimachos in Rom, Wiesbaden.

or•Galinsky, Karl (1969) "The

Triumph Theme in the Augustan Elegy," Wiener Studien 82, 75-107.

Page 5: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Digressions continued…

• <p>Wimmel, Walter (1960) <i>Kallimachos in Rom</i>, Wiesbaden.</p>

• <bibl> <title lang="deu">Kallimachos in Rom</title> <author> <persName> <foreName>Walter</foreName> <surName>Wimmel</surName> </persName> </author> <date>1960</date> <pubPlace>Wiesbaden</pubPlace></bibl>

Page 6: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

What is Apache Cocoon?

•Some explanatory digressions:– XML

•(e)X(tensible) M(arkup) L(anguage)

– XSLT•(e)X(tensible) S(tylesheet) L(anguage)

T(ransformations)

– SAX• S(imple) A(PI) (for) X(ML)

Page 7: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Cocoon continued…

•More explanations:– Pipeline-based processing

•Generators•Transformers•Serializers•Readers

– The Sitemap• http://localhost:8080/cocoon/mystuff/

mypage.html

Page 8: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Cocoon continued…

•Separation of Concerns

Page 9: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

SoC

•How does this help?– Focus on establishing contracts,

rather than training.– Scholars don’t have to radically

change the way they do things.– Programmers don’t have to create

systems from scratch.

Page 10: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Humanities Digital Libraries

•Characteristics– Often focused on documents– Multiple languages– Integration of images with texts

desired– Integration of analytical tools– Good search and retrieval tools

Page 11: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Humanities Digital Libraries

•Obstacles– Time– Money– Unfamiliarity of content providers

with technology– Unfamiliarity of technologists with

content

Page 12: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Cocoon’s Solutions

•Time– Reduces the amount of time spent in

negotiations between scholars and programmers

– Reduces the actual amount of code that needs to be written.

Page 13: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Cocoon’s Solutions

•Money– It’s free– It can run in a servlet container

that’s also free– It can run on a software platform

that’s free

Page 14: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Cocoon’s Solutions

•Content providers– Only have to learn enough

technology to provide the content with sufficient data and metadata.

Page 15: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Cocoon’s Solutions

• technologists– Can focus on solving specific

problems posed by the material, e.g. writing code to analyze content.

Page 16: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Getting Started

• Downloads:– http://java.sun.com

http://jakarta.apache.org/tomcat– http://xml.apache.org/cocoon

• Installation:– Install Java– Install Tomcat– Put cocoon.war in tomcat/webapps/– Start Tomcat

Page 17: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Getting started

• Documentation– Online documentation much improved– Very active user / development

community

• Books– Cocoon: Building XML Applications, Matthew

Langham and Carsten Zeigler, New Riders, 2003.

– Cocoon Developer’s Handbook, Lajos Moczar and Jeremy Aston, Developer’s Library, 2003.

Page 18: Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill

Some Examples

•A cocoon web application:– EpiDocinator

• Integrating software– Transcoder– CHET-C-java