What is Fedora Commons, and Why Should You Care?

Download Report

Transcript What is Fedora Commons, and Why Should You Care?

What is Fedora
Commons, and Why
Should You Care?
Cole Hudson and Graham Hukill
WARNING:
Both "Fedora Commons" and "Fedora" will
be used interchangeably over the course of
this presentation.
Where We Are
Why We Chose Fedora
What It's All About
Why You Should Care
Roadmap
Which Way ? by Brave Heart. CC BYNC-ND 2.0.
http://www.flickr.com/photos/brravehe
art/104975221/sizes/l/in/photostream/
Our Current Progress
by Ksayer1. CC BY-SA 2.0
http://www.flickr.com/photos/ksay
13544/sizes/l/in/photostream/
By bibliovox. CC BYNC-SA 2.0.
http://www.flickr.com/
photos/68103485@N0
5/6208894824/sizes/l/i
n/photostream/
What is Fedora
Commons?
Fedora Commons is ....
Flexible
Extensible
Digital Object
Repository Architecture
Fedora
Commons
image
("picture 1",
jpeg)
Image
Metadata
("picture 1")
Ingest into Fedora Commons
(splits metadata and data)
Binary Image
File
(jpeg)
University of Chicago's
Mansueto Library
image URL:http://www.flickr.com/photos/uchicagolibrary/2881572822/
OAIS model
image URL:http://en.wikipedia.org/wiki/File:OAIS-.gif
Preservation birds of a feather
image URL:http://mansueto.lib.uchicago.edu/shelving.html
some technical details...
•
•
•
•
Fedora Commons is a "system“
objects and their datastreams are the
building blocks of Fedora
RDF statements are used to describe
relationships between objects
APIs are relied on heavily for ingesting,
managing, and accessing items
•
•
•
•
Fedora Commons is a "system“
objects and their datastreams are the
building blocks of Fedora
RDF statements are used to describe
relationships between objects
APIs are relied on heavily for ingesting,
managing, and accessing items
Fedora Commons is a "system"
Fedora Application
Management
APIs
binary files
*MySQL
Web Admin
Graphical
Interface
Mulgara
RDF
Database
Access
APIs
Metadata
Objects
Web Admin
Graphical
Interface
Tomcat Web Server
Fedora Commons is a "system"
image URL: http://fedora-commons.org/download/2.2/userdocs/server/features/images/reposvc.jpg
•
•
•
•
Fedora Commons is a "system“
objects and their datastreams are the
building blocks of Fedora
RDF statements are used to describe
relationships between objects
APIs are relied on heavily for ingesting,
managing, and accessing items
INTERLUDE: objects
anatomy of a Fedora object
•
•
•
•
•
basic atomistic building block of
Fedora
represents an intellectual or
conceptual "item"
aggregates files and pieces that
make up "item"
fun fact: a collection of images
might is often an object too
objects are stored as FOXML files:
"Fedora Object XML"
INTERLUDE: datastreams
PID::
cfai:EB01a045
RDF
Statements
(RELS-EXT)
original
tiff
(ORIGINAL
)
Dublin Core
(DC)
access copy
(ACCESS)
MODS
(MODS)
thumbnail
(THUMB)
INTERLUDE: datastreams
URL:
http://fedora-repository.example/fedora/objects/cfai:EB01a045/datastreams/ACCESS/content
INTERLUDE: datastreams
URL:
http://fedora-repository.example/fedora/objects/cfai:EB01a045/datastreams/MODS/content
•
•
•
•
Fedora Commons is a "system“
objects and their datastreams are the
building blocks of Fedora
RDF statements are used to describe
relationships between objects
APIs are relied on heavily for ingesting,
managing, and accessing items
RDF: Resource
Description Framework
"RDF is intended for situations in which this information
needs to be processed by applications, rather than being
only displayed to people."
-RDF primer
Diary of an RDF triple
In computer speak...
subject = <fedora:ramsey:Sketchesandscraps>predicate = <fedora-relsext:isMemberOfCollection>object = <fedora:collection:ramsey>
In human speak...
The ebook object, "Sketches and Scraps", is a member of the Collection
"Ramsey".
"Sketches
and
Scraps"
isMemberOfCollection
"Ramsey"
RDF query example
Query:
select ?object from <#ri>
where ?object <fedora-rels-ext:isMemberOfCollection> <fedora:collection:cfai>
Reponse:
info:fedora/cfai:EB02a046
info:fedora/cfai:EB02a034
info:fedora/cfai:EB01a072
info:fedora/cfai:EB02a028
info:fedora/cfai:EB01a066
etc.....
image URL: http://www.mkbergman.com/wp-content/uploads/2013/01/071115_e8.png
they get complex quickly...
•
•
•
•
Fedora Commons is a "system“
objects and their datastreams are the
building blocks of Fedora
RDF statements are used to describe
relationships between objects
APIs are relied on heavily for ingesting,
managing, and accessing items
API: "Application Programming
Interface"
•
preferred way of interacting with Fedora
API-M Methods
API-A Methods
addDatastream
addRelationship
compareDatastreamChecksum
export
getDatastream
getDatastreamHistory
getDatastreams
getNextPID
getObjectXML
getRelationships
ingest
modifyDatastream
modifyObject
purgeDatastream
purgeObject
purgeRelationship
setDatastreamState
setDatastreamVersionable
Validate
describeRepository
findObjects
getDatastreamDissemination
getDissemination
getObjectHistory
getObjectProfile
listDatastreams
listMethods
resumeFindObjects
Fedora API example: ingest
command:
curl -i -u fedoraAdmin:fedoraAdmin -X POST
http://localhost/fedora/objects/new -H "Content-Type:
text/xml" --data-binary "@Campbell_ebookObject.xml"
response:
HTTP/1.1 201 Created
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=DB77E40CD554EB1496548EDD9CF3CC5A; Path=/fedora
Location: http://localhost/fedora/objects/Campbell%3Aimages
Content-Type: text/plain
Transfer-Encoding: chunked
Date: Sun, 03 Mar 2013 22:49:01 GMT
Fedora API example: retrieval
Remember this datastream? That's an API call!
URL:
http://fedora-repository.example/fedora/objects/cfai:EB01a045/datastreams/ACCESS/content
All together now! An ebook...
model:
WSUebook
hasContentModel
WSU
ebook
collection:
Ramsey
isMemberOfCollection
isMemberOfCollection
images
thumbs
IMAGE_
#
THUMB
_#
HTML
altoXM
L
HTML_#
altoXML
_#
fullbook
PDF
HTML
Aaannnd...Why Should
You Care?
It's free
as in puppies, not as in beer.
It's
library
centric.
Image by Phil Bradley. CC BY-NC-SA 2.0.
http://www.flickr.com/photos/philbradley/5395526390/
sizes/l/in/photostream/
It supports this stuff
OAI
Dublin
Core
RDF
API
Interfaces
Digital
Preservation
Most Importantly
Though
digital collections aren't getting less
complex, only more. And we need software
that can handle it.
Hurdles / Lessons Learned
•
•
•
•
•
•
•
content modeling & unique identifiers
cross-domain requests
creation of FOXML ingest files
comfort with RDF
installation-more difficult than it first seems
changing our approach multiple times
understanding key concepts
Thank You! Questions?
Slides will be available at
DigitalCommons@WSU.
http://digitalcommons.wayne.edu