Fedora + Atom Edwin Shin Fedora Commons

Preview:

Citation preview

Fedora + Atom

Edwin Shin

Fedora Commonshttp://www.fedora-commons.org/

Acknowledgements

University of London MediaShelf

Serialization vs. Protocol

Syndication Format RFC4287 XML-based

document format e.g. BBC headlines

Publishing Protocol RFC5023 HTTP-based, RESTful

publishing protocol e.g. GData

Why Atom?

Simple, but flexible & extensible Widespread adoption

From news & blogs to OAI-ORE Tool support

Libraries for Java, Ruby, .NET, etc. Feed readers

== lightweight recipe for enabling interoperability

Fedora Atom Serialization

Alternative serialization to FOXML & METS Atom ORE serialization ZARCHIVE Context

A ZIP archive of a Fedora object, with an Atom manifest Messaging Format

Atom

<feed> <id>info:fedora/demo:SmileyBeerGlass</id> <entry> <id>info:fedora/demo:SmileyBeerGlass/FULL_SIZE</id> <title type="text">FULL_SIZE</title> <updated>2008-04-03T10:47:21.162Z</updated> <link href="info:fedora/demo:SmileyBeerGlass/FULL_SIZE/2008-04-03T10:47:21.162Z"

rel="alternate"/> <category term="E" scheme="info:fedora/fedora-system:def/model#controlGroup"/> </entry> <entry xmlns:thr="http://purl.org/syndication/thread/1.0"> <id>info:fedora/demo:SmileyBeerGlass/FULL_SIZE/2008-04-03T10:47:21.162Z</id> <title type="text">FullSize.jpg.0</title> <updated>2008-04-03T10:47:21.162Z</updated> <thr:in-reply-to ref="info:fedora/demo:SmileyBeerGlass/FULL_SIZE"/> <summary type="text">FullSize.jpg.0</summary> <content type="image/jpeg" src="http://.../SmileyBeerGlass-FullSize.jpg"/> </entry></feed>

OREAtom<feed> <id>info:fedora/demo:SmileyBeerGlass</id> <link href="http://localhost:8080/fedora/get/demo:SmileyBeerGlass" rel="self"

type="application/atom+xml"/> <title type="text">Resource Map http://localhost:8080/fedora/get/demo:SmileyBeerGlass</title> <author><name>Fedora Repository Service</name></author> <link href="http://localhost:8080/fedora/get/demo:SmileyBeerGlass#aggregation"

rel="describes"/> <category term="http://www.openarchives.org/ore/terms/ResourceMap"

scheme="http://www.openarchives.org/ore/terms/" label="ResourceMap"/> <fedora-model:hasContentModel>info:fedora/demo:CmodelForBMech_DualResImageImpl</fedora-

model:hasContentModel> <dc:title>Smiley Beer Glass</dc:title> <rel:isMemberOf>info:fedora/demo:SmileyStuff</rel:isMemberOf> <entry> <id>info:fedora/demo:SmileyBeerGlass/FULL_SIZE</id> <updated>2008-04-03T10:39:23.473Z</updated> <title type="text">Aggregated Resource

http://localhost:8080/fedora/get/demo:SmileyBeerGlass/FULL_SIZE</title> <link href="http://localhost:8080/fedora/get/demo:SmileyBeerGlass/FULL_SIZE"

rel="alternate"/> <fedora-model:versionable>true</fedora-model:versionable> </entry> <entry> <id>info:fedora/demo:SmileyBeerGlass/MEDIUM_SIZE</id> <updated>2008-04-03T10:39:23.473Z</updated> <title type="text">Aggregated Resource

http://localhost:8080/fedora/get/demo:SmileyBeerGlass/MEDIUM_SIZE</title> <link href="http://localhost:8080/fedora/get/demo:SmileyBeerGlass/MEDIUM_SIZE"

rel="alternate"/> </entry></feed>

Zip Archive Context

<feed> <entry> <id>info:fedora/demo:SmileyBeerGlass/TEST/2008-04-03T11:19:40.440Z</id> <title type="text">TEST.0</title> <updated>2008-04-03T11:19:40.440Z</updated> <thr:in-reply-to ref="info:fedora/demo:SmileyBeerGlass/TEST"/> <category term="Managed Image" scheme="info:fedora/fedora-system:def/model#label"/> <summary type="text">TEST.0</summary> <content type="image/jpeg" src="TEST.0.jpg"/> </entry></feed>

API-M Messaging Format

<entry> <id>urn:uuid:8bcefc04-8391-4bf9-b0e7-d4822b829deb</id> <updated>2008-04-02T17:32:51.122Z</updated> <author> <name>fedoraAdmin</name> <uri>http://localhost:8080/fedora</uri> </author> <title type="text">purgeObject</title> <category scheme="http://www.fedora.info/definitions/1/0/types/pid" term="demo:foo" label="xsd:string"/> <summary>demo:foo</summary> <content type="text">2008-04-01T01:02:03.001Z</content></entry>

Deserialization

Atom as an ingest format Fedora objects ORE Resource Maps Any Atom feed

Remote invocation

Currently available in Subversion:

https://fedora-commons.svn.sourceforge.net/svnroot/fedora-

commons/fedora/branches/dev-146791

Future exploration

Modeling atomistic objects Atom Publishing Protocol

Implement over the REST-API SWORD

Recommended