SlideShare a Scribd company logo
SWORD 2.0 Supporting Full Deposit Lifecycles Richard Jones Cottage Labs richard@cottagelabs.com  http://cottagelabs.com
SWORD is a: Simple Web service Offering Repository Deposit What is SWORD? During the development of SWORD it was decided to keep the protocol as simple and lightweight  as possible.
SWORD is a: Simple Web service Offering Repository Deposit What is SWORD? A software interface that is accessible using http
SWORD is a: Simple Web service Offering Repository Deposit What is SWORD?
SWORD is a: Simple Web service Offering Repository Deposit What is SWORD? Agnostic: DSpace EPrints Fedora Intralibrary Zentity ???
SWORD is a: Simple Web service Offering Repository Deposit What is SWORD? Putting things INTO a repository
The purpose of SWORD is to: Provide an  interoperable   interface  that allows  deposits  to be  easily  made  into repositories . What is the purpose of SWORD?
Out of scope: Packaging Metadata Authentication Authorization The SWORD project
Deposit from a desktop client SWORD use cases e.g. DepositMO
Deposit to multiple repositories SWORD use cases e.g. OA-RJ Institutional repository Funder repository Subject-based repository
Deposit by lab equipment SWORD use cases
Repository to repository deposit SWORD use cases Institutional repository National repository
Publishing system / publisher to repository deposit SWORD use cases e.g. OJS client Bibapp client Publishing system (e.g. OJS) Long term storage repository
Research Information System to repository deposit SWORD use cases e.g. Bibapp client RePosit project Research Information System Long term storage repository
How does SWORD work?
There are different methods / verbs that we use when interacting with the web: GET ,[object Object],POST ,[object Object],PUT ,[object Object],DELETE ,[object Object],HTTP basics
SWORD is a  profile  of an existing standard Atom Publishing Protocol (AtomPub) AtomPub is for publishing content to the web AtomPub is designed to be extended AtomPub is used by other systems: GData (used by Google Docs etc), CMIS SWORD foundations
SWORD is a  profile  of an existing standard Atom Publishing Protocol (AtomPub) What does this mean? SWORD isn’t re-inventing the wheel AtomPub clients / APIs can be re-used SWORD foundations
[object Object]
Use that information to prepare and make a deposit Two step process
Ask the repository’s SWORD interface to describe itself This is done using a  Service Document A service document describes the contract between a user and a repository: what you must provide and what the repository will do in return Introducing: The Service Document
Request a service document from the repository HTTP GET  a service document ,[object Object]
Tells you what formats are supported for deposit
Tells you what will happen to your content How to request a Service Document
We have  retrieved  the Service Document We know  where  we can deposit We know  what   we can deposit We know  what will happen  to our deposit We have  created  a deposit package We perform the deposit… The second step
To perform a deposit: HTTP POST  a file to the deposit URL ,[object Object]
Content-Type: application/zip
Content-Disposition: filename=MyItem.zip
Packaging: http://purl.org/net/sword/packages/default  Performing a deposit
<entry xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:sword=http://purl.org/net/sword/> <title>My Deposit</title> <id>info:something:1</id> <updated>2008-08-18T14:27:08Z</updated> <summary type=&quot;text&quot;>A summary</summary> <generator uri=&quot;http://myrepository.ac.uk/engine&quot; version=&quot;1.0&quot;/> <content  type=&quot;application/zip&quot;   src=&quot;http://myrepository.ac.uk/geography-collection/deposit1.zip&quot;/> <sword:packaging>http://purl.org/net/sword/package/default</sword:packaging> <link rel=&quot;edit&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.atom&quot; /> <link rel=&quot;edit-media&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit&quot; /> <link rel=&quot;http://purl.net/sword/terms/statement&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.rdf&quot; /> </entry>  Introducing: The Deposit Receipt
Is there anything else we can do? YES! Where SWORD 1.3 leaves off SWORD 2.0 begins… The deposit lifecycle is more complicated that fire-and-forget...
<entry xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:sword=http://purl.org/net/sword/> <title>My Deposit</title> <id>info:something:1</id> <updated>2008-08-18T14:27:08Z</updated> <summary type=&quot;text&quot;>A summary</summary> <generator uri=&quot;http://myrepository.ac.uk/engine&quot; version=&quot;1.0&quot;/> <content  type=&quot;application/zip&quot;   src=&quot;http://myrepository.ac.uk/geography-collection/deposit1.zip&quot;/> <sword:packaging>http://purl.org/net/sword/package/default</sword:packaging> <link rel=&quot;edit&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.atom&quot; /> <link rel=&quot;edit-media&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit&quot; /> <link rel=&quot;http://purl.net/sword/terms/statement&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.rdf&quot; /> </entry>  Get a package of the item's entire content in our favourite format
<entry xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:sword=http://purl.org/net/sword/> <title>My Deposit</title> <id>info:something:1</id> <updated>2008-08-18T14:27:08Z</updated> <summary type=&quot;text&quot;>A summary</summary> <generator uri=&quot;http://myrepository.ac.uk/engine&quot; version=&quot;1.0&quot;/> <content  type=&quot;application/zip&quot;   src=&quot;http://myrepository.ac.uk/geography-collection/deposit1.zip&quot;/> <sword:packaging>http://purl.org/net/sword/package/default</sword:packaging> <link rel=&quot;edit&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.atom&quot; /> <link rel=&quot;edit-media&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit&quot; /> <link rel=&quot;http://purl.net/sword/terms/statement&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.rdf&quot; /> </entry>  Add more content to the item by POSTing more files
<entry xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:sword=http://purl.org/net/sword/> <title>My Deposit</title> <id>info:something:1</id> <updated>2008-08-18T14:27:08Z</updated> <summary type=&quot;text&quot;>A summary</summary> <generator uri=&quot;http://myrepository.ac.uk/engine&quot; version=&quot;1.0&quot;/> <content  type=&quot;application/zip&quot;   src=&quot;http://myrepository.ac.uk/geography-collection/deposit1.zip&quot;/> <sword:packaging>http://purl.org/net/sword/package/default</sword:packaging> <link rel=&quot;edit&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.atom&quot; /> <link rel=&quot;edit-media&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit&quot; /> <link rel=&quot;http://purl.net/sword/terms/statement&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.rdf&quot; /> </entry>  PUT new content over the old, or DELETE all the content
<entry xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:sword=http://purl.org/net/sword/> <title>My Deposit</title> <id>info:something:1</id> <updated>2008-08-18T14:27:08Z</updated> <summary type=&quot;text&quot;>A summary</summary> <generator uri=&quot;http://myrepository.ac.uk/engine&quot; version=&quot;1.0&quot;/> <content  type=&quot;application/zip&quot;   src=&quot;http://myrepository.ac.uk/geography-collection/deposit1.zip&quot;/> <sword:packaging>http://purl.org/net/sword/package/default</sword:packaging> <link rel=&quot;edit&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.atom&quot; /> <link rel=&quot;edit-media&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit&quot; /> <link rel=&quot;http://purl.net/sword/terms/statement&quot;  href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.rdf&quot; /> </entry>  Ask the repository to describe the item, and the state it is in
You Deposit your money You get a Receipt Your Statement tells you what happened to your money since A Banking Analogy
Introducing: The SWORD Statement It tells you what files were produced when the repository unpackaged your deposit It tells you what new files have been added to your deposit (e.g. via format migration, mediated deposit, etc) It tells you where to get the package(s) you originally uploaded It tells you where in the workflow your item is (or any other state that it might be in).  For example, “under review” or “deleted”
<rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;  xmlns:ore=&quot;http://www.openarchives.org/ore/terms/&quot;> <rdf:Description rdf:about=&quot;http://localhost/edit-uri/43/d0&quot;> <ore:describes rdf:resource=&quot;http://localhost/agg-uri/43/d0&quot;/> </rdf:Description> <rdf:Description rdf:about=&quot;http://localhost/agg-uri/43/d0&quot;> <ore:isDescribedBy rdf:resource=&quot;http://localhost/edit-uri/43/d0&quot;/> <ore:aggregates rdf:resource=&quot;http://localhost/part-uri/43/d0/example.zip&quot;/> <sword:originalDeposit rdf:resource=&quot;http://localhost/part-uri/43/d0/example.zip&quot;/> <sword:state rdf:resource=&quot;http://purl.org/net/sword/state/archived&quot;/> </rdf:Description> <rdf:Description rdf:about=&quot;http://localhost/part-uri/43/d0/example.zip&quot;> <sword:packaging rdf:resource=&quot;http://purl.org/net/sword/package/default&quot;/> <sword:depositedOn>2011-02-24T19:50:04Z</sword:depositedOn> <sword:depositedBy>sword</sword:depositedBy> </rdf:Description> <rdf:Description rdf:about=&quot;http://purl.org/net/sword/state/archived&quot;> <sword:stateDescription> The work has passed through review and is now in the archive </sword:stateDescription> </rdf:Description> </rdf:RDF> Can be an OAI-ORE Resource Map
<rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;  xmlns:ore=&quot;http://www.openarchives.org/ore/terms/&quot;> <rdf:Description rdf:about=&quot;http://localhost/edit-uri/43/d0&quot;> <ore:describes rdf:resource=&quot;http://localhost/agg-uri/43/d0&quot;/> </rdf:Description> <rdf:Description rdf:about=&quot;http://localhost/agg-uri/43/d0&quot;> <ore:isDescribedBy rdf:resource=&quot;http://localhost/edit-uri/43/d0&quot;/> <ore:aggregates rdf:resource=&quot;http://localhost/part-uri/43/d0/example.zip&quot;/> <sword:originalDeposit rdf:resource=&quot;http://localhost/part-uri/43/d0/example.zip&quot;/> <sword:state rdf:resource=&quot;http://purl.org/net/sword/state/archived&quot;/> </rdf:Description> <rdf:Description rdf:about=&quot;http://localhost/part-uri/43/d0/example.zip&quot;> <sword:packaging rdf:resource=&quot;http://purl.org/net/sword/package/default&quot;/> <sword:depositedOn>2011-02-24T19:50:04Z</sword:depositedOn> <sword:depositedBy>sword</sword:depositedBy> </rdf:Description> <rdf:Description rdf:about=&quot;http://purl.org/net/sword/state/archived&quot;> <sword:stateDescription> The work has passed through review and is now in the archive </sword:stateDescription> </rdf:Description> </rdf:RDF> Tells me where to get my original package
<rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;  xmlns:ore=&quot;http://www.openarchives.org/ore/terms/&quot;> <rdf:Description rdf:about=&quot;http://localhost/edit-uri/43/d0&quot;> <ore:describes rdf:resource=&quot;http://localhost/agg-uri/43/d0&quot;/> </rdf:Description> <rdf:Description rdf:about=&quot;http://localhost/agg-uri/43/d0&quot;> <ore:isDescribedBy rdf:resource=&quot;http://localhost/edit-uri/43/d0&quot;/> <ore:aggregates rdf:resource=&quot;http://localhost/part-uri/43/d0/example.zip&quot;/> <sword:originalDeposit rdf:resource=&quot;http://localhost/part-uri/43/d0/example.zip&quot;/> <sword:state rdf:resource=&quot;http://purl.org/net/sword/state/archived&quot;/> </rdf:Description> <rdf:Description rdf:about=&quot;http://localhost/part-uri/43/d0/example.zip&quot;> <sword:packaging rdf:resource=&quot;http://purl.org/net/sword/package/default&quot;/> <sword:depositedOn>2011-02-24T19:50:04Z</sword:depositedOn> <sword:depositedBy>sword</sword:depositedBy> </rdf:Description> <rdf:Description rdf:about=&quot;http://purl.org/net/sword/state/archived&quot;> <sword:stateDescription> The work has passed through review and is now in the archive </sword:stateDescription> </rdf:Description> </rdf:RDF> Tells me what state my item is in
Interaction with SWORD is via XML documents XML is good for machine to machine interfaces Do users want to read / write XML? User friendly?
User friendly?
SWORD clients The answer?
Using the web: Do we read and write HTML? No! We use a web browser. An analogy
Three types of SWORD client: ,[object Object],SWORD clients
Online demo client
Desktop demo client
The Facebook SWORD deposit tool http://apps.facebook.com/swordapp/ Another example
Facebook client
Facebook client

More Related Content

What's hot

SWORD: An Overview
SWORD: An OverviewSWORD: An Overview
SWORD: An Overview
Adrian Stevenson
 
Interoperability Fundamentals: SWORD 2
Interoperability Fundamentals: SWORD 2Interoperability Fundamentals: SWORD 2
Interoperability Fundamentals: SWORD 2
Adrian Stevenson
 
Linux Administration Tutorial | Configuring A DNS Server In 10 Simple Steps |...
Linux Administration Tutorial | Configuring A DNS Server In 10 Simple Steps |...Linux Administration Tutorial | Configuring A DNS Server In 10 Simple Steps |...
Linux Administration Tutorial | Configuring A DNS Server In 10 Simple Steps |...
Edureka!
 
Securing Apache Web Servers
Securing Apache Web ServersSecuring Apache Web Servers
Securing Apache Web Serverswebhostingguy
 
HTTP/3 for everyone
HTTP/3 for everyoneHTTP/3 for everyone
HTTP/3 for everyone
Daniel Stenberg
 
curl better
curl bettercurl better
curl better
Daniel Stenberg
 
curl roadmap 2020
curl roadmap 2020curl roadmap 2020
curl roadmap 2020
Daniel Stenberg
 
REST in AEM
REST in AEMREST in AEM
REST in AEM
Roy Fielding
 
Apache Web Server Setup 4
Apache Web Server Setup 4Apache Web Server Setup 4
Apache Web Server Setup 4
Information Technology
 
Apache Web Server Setup 1
Apache Web Server Setup 1Apache Web Server Setup 1
Apache Web Server Setup 1
Information Technology
 
HTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPHTTP/3 is next generation HTTP
HTTP/3 is next generation HTTP
Daniel Stenberg
 
ZN27112015
ZN27112015ZN27112015
ZN27112015
Denis Kolegov
 
Minerva: Drill Storage Plugin for IPFS
Minerva: Drill Storage Plugin for IPFSMinerva: Drill Storage Plugin for IPFS
Minerva: Drill Storage Plugin for IPFS
BowenDing4
 
Adobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAdobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office Hours
Andrew Khoury
 
How to build Debian packages
How to build Debian packages How to build Debian packages
How to build Debian packages
Priyank Kapadia
 
Caching
CachingCaching
Caching
Nascenia IT
 
Oracle Database on Docker
Oracle Database on DockerOracle Database on Docker
Oracle Database on Docker
Franck Pachot
 

What's hot (18)

SWORD: An Overview
SWORD: An OverviewSWORD: An Overview
SWORD: An Overview
 
Interoperability Fundamentals: SWORD 2
Interoperability Fundamentals: SWORD 2Interoperability Fundamentals: SWORD 2
Interoperability Fundamentals: SWORD 2
 
Linux Administration Tutorial | Configuring A DNS Server In 10 Simple Steps |...
Linux Administration Tutorial | Configuring A DNS Server In 10 Simple Steps |...Linux Administration Tutorial | Configuring A DNS Server In 10 Simple Steps |...
Linux Administration Tutorial | Configuring A DNS Server In 10 Simple Steps |...
 
Securing Apache Web Servers
Securing Apache Web ServersSecuring Apache Web Servers
Securing Apache Web Servers
 
HTTP/3 for everyone
HTTP/3 for everyoneHTTP/3 for everyone
HTTP/3 for everyone
 
curl better
curl bettercurl better
curl better
 
curl roadmap 2020
curl roadmap 2020curl roadmap 2020
curl roadmap 2020
 
REST in AEM
REST in AEMREST in AEM
REST in AEM
 
Apache Web Server Setup 4
Apache Web Server Setup 4Apache Web Server Setup 4
Apache Web Server Setup 4
 
Apache Web Server Setup 1
Apache Web Server Setup 1Apache Web Server Setup 1
Apache Web Server Setup 1
 
HTTP/3 is next generation HTTP
HTTP/3 is next generation HTTPHTTP/3 is next generation HTTP
HTTP/3 is next generation HTTP
 
ZN27112015
ZN27112015ZN27112015
ZN27112015
 
Fluentd and WebHDFS
Fluentd and WebHDFSFluentd and WebHDFS
Fluentd and WebHDFS
 
Minerva: Drill Storage Plugin for IPFS
Minerva: Drill Storage Plugin for IPFSMinerva: Drill Storage Plugin for IPFS
Minerva: Drill Storage Plugin for IPFS
 
Adobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAdobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office Hours
 
How to build Debian packages
How to build Debian packages How to build Debian packages
How to build Debian packages
 
Caching
CachingCaching
Caching
 
Oracle Database on Docker
Oracle Database on DockerOracle Database on Docker
Oracle Database on Docker
 

Similar to Sword v2 at UKCoRR

Introduction to SDshare
Introduction to SDshareIntroduction to SDshare
Introduction to SDshare
Lars Marius Garshol
 
Getting Started With The Talis Platform
Getting Started With The Talis PlatformGetting Started With The Talis Platform
Getting Started With The Talis Platform
Leigh Dodds
 
RESTful design
RESTful designRESTful design
RESTful design
Robert MacLean
 
Making sense of users' Web activities
Making sense of users' Web activitiesMaking sense of users' Web activities
Making sense of users' Web activities
Mathieu d'Aquin
 
Cocoon OSGi CocoonGT2007
Cocoon OSGi CocoonGT2007Cocoon OSGi CocoonGT2007
Cocoon OSGi CocoonGT2007
Daniel Fagerstrom
 
Making Repository Easier With SWORD
Making Repository Easier With SWORDMaking Repository Easier With SWORD
Making Repository Easier With SWORD
Adrian Stevenson
 
Sword Bl 0903[1]
Sword Bl 0903[1]Sword Bl 0903[1]
Sword Bl 0903[1]
Julie Allinson
 
Sword Or2008 Julieallinson
Sword Or2008 JulieallinsonSword Or2008 Julieallinson
Sword Or2008 Julieallinson
Julie Allinson
 
REST Introduction (PHP London)
REST Introduction (PHP London)REST Introduction (PHP London)
REST Introduction (PHP London)
Paul James
 
REST in peace @ IPC 2012 in Mainz
REST in peace @ IPC 2012 in MainzREST in peace @ IPC 2012 in Mainz
REST in peace @ IPC 2012 in Mainz
Alessandro Nadalin
 
Adriano Di Luzio - Davvy - PyconSEI Talk
Adriano Di Luzio - Davvy - PyconSEI TalkAdriano Di Luzio - Davvy - PyconSEI Talk
Adriano Di Luzio - Davvy - PyconSEI Talk
aldur999
 
GTLAB Installation Tutorial for SciDAC 2009
GTLAB Installation Tutorial for SciDAC 2009GTLAB Installation Tutorial for SciDAC 2009
GTLAB Installation Tutorial for SciDAC 2009marpierc
 
Catacomb Apachecon Fast Feather 2008
Catacomb Apachecon Fast Feather 2008Catacomb Apachecon Fast Feather 2008
Catacomb Apachecon Fast Feather 2008
Markus Litz
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
07.pallav
 
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
Crossref
 

Similar to Sword v2 at UKCoRR (20)

Introduction to SDshare
Introduction to SDshareIntroduction to SDshare
Introduction to SDshare
 
Sword Crig 2007 12 06
Sword Crig 2007 12 06Sword Crig 2007 12 06
Sword Crig 2007 12 06
 
Getting Started With The Talis Platform
Getting Started With The Talis PlatformGetting Started With The Talis Platform
Getting Started With The Talis Platform
 
RESTful design
RESTful designRESTful design
RESTful design
 
Making sense of users' Web activities
Making sense of users' Web activitiesMaking sense of users' Web activities
Making sense of users' Web activities
 
Cocoon OSGi CocoonGT2007
Cocoon OSGi CocoonGT2007Cocoon OSGi CocoonGT2007
Cocoon OSGi CocoonGT2007
 
Making Repository Easier With SWORD
Making Repository Easier With SWORDMaking Repository Easier With SWORD
Making Repository Easier With SWORD
 
Sword Bl 0903[1]
Sword Bl 0903[1]Sword Bl 0903[1]
Sword Bl 0903[1]
 
Sword Or2008 Julieallinson
Sword Or2008 JulieallinsonSword Or2008 Julieallinson
Sword Or2008 Julieallinson
 
REST Introduction (PHP London)
REST Introduction (PHP London)REST Introduction (PHP London)
REST Introduction (PHP London)
 
REST in peace @ IPC 2012 in Mainz
REST in peace @ IPC 2012 in MainzREST in peace @ IPC 2012 in Mainz
REST in peace @ IPC 2012 in Mainz
 
Web services - REST and SOAP
Web services - REST and SOAPWeb services - REST and SOAP
Web services - REST and SOAP
 
Adriano Di Luzio - Davvy - PyconSEI Talk
Adriano Di Luzio - Davvy - PyconSEI TalkAdriano Di Luzio - Davvy - PyconSEI Talk
Adriano Di Luzio - Davvy - PyconSEI Talk
 
GTLAB Installation Tutorial for SciDAC 2009
GTLAB Installation Tutorial for SciDAC 2009GTLAB Installation Tutorial for SciDAC 2009
GTLAB Installation Tutorial for SciDAC 2009
 
Catacomb Apachecon Fast Feather 2008
Catacomb Apachecon Fast Feather 2008Catacomb Apachecon Fast Feather 2008
Catacomb Apachecon Fast Feather 2008
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
 
WWW and HTTP
WWW and HTTPWWW and HTTP
WWW and HTTP
 
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
CrossRef How-to: A Technical Introduction to the Basics of CrossRef, Chuck Ko...
 
Web Scraping with PHP
Web Scraping with PHPWeb Scraping with PHP
Web Scraping with PHP
 
RESTFul IDEAS
RESTFul IDEASRESTFul IDEAS
RESTFul IDEAS
 

Recently uploaded

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 

Recently uploaded (20)

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 

Sword v2 at UKCoRR

  • 1. SWORD 2.0 Supporting Full Deposit Lifecycles Richard Jones Cottage Labs richard@cottagelabs.com http://cottagelabs.com
  • 2. SWORD is a: Simple Web service Offering Repository Deposit What is SWORD? During the development of SWORD it was decided to keep the protocol as simple and lightweight as possible.
  • 3. SWORD is a: Simple Web service Offering Repository Deposit What is SWORD? A software interface that is accessible using http
  • 4. SWORD is a: Simple Web service Offering Repository Deposit What is SWORD?
  • 5. SWORD is a: Simple Web service Offering Repository Deposit What is SWORD? Agnostic: DSpace EPrints Fedora Intralibrary Zentity ???
  • 6. SWORD is a: Simple Web service Offering Repository Deposit What is SWORD? Putting things INTO a repository
  • 7. The purpose of SWORD is to: Provide an interoperable interface that allows deposits to be easily made into repositories . What is the purpose of SWORD?
  • 8. Out of scope: Packaging Metadata Authentication Authorization The SWORD project
  • 9. Deposit from a desktop client SWORD use cases e.g. DepositMO
  • 10. Deposit to multiple repositories SWORD use cases e.g. OA-RJ Institutional repository Funder repository Subject-based repository
  • 11. Deposit by lab equipment SWORD use cases
  • 12. Repository to repository deposit SWORD use cases Institutional repository National repository
  • 13. Publishing system / publisher to repository deposit SWORD use cases e.g. OJS client Bibapp client Publishing system (e.g. OJS) Long term storage repository
  • 14. Research Information System to repository deposit SWORD use cases e.g. Bibapp client RePosit project Research Information System Long term storage repository
  • 15. How does SWORD work?
  • 16.
  • 17. SWORD is a profile of an existing standard Atom Publishing Protocol (AtomPub) AtomPub is for publishing content to the web AtomPub is designed to be extended AtomPub is used by other systems: GData (used by Google Docs etc), CMIS SWORD foundations
  • 18. SWORD is a profile of an existing standard Atom Publishing Protocol (AtomPub) What does this mean? SWORD isn’t re-inventing the wheel AtomPub clients / APIs can be re-used SWORD foundations
  • 19.
  • 20. Use that information to prepare and make a deposit Two step process
  • 21. Ask the repository’s SWORD interface to describe itself This is done using a Service Document A service document describes the contract between a user and a repository: what you must provide and what the repository will do in return Introducing: The Service Document
  • 22.
  • 23. Tells you what formats are supported for deposit
  • 24. Tells you what will happen to your content How to request a Service Document
  • 25. We have retrieved the Service Document We know where we can deposit We know what we can deposit We know what will happen to our deposit We have created a deposit package We perform the deposit… The second step
  • 26.
  • 30. <entry xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:sword=http://purl.org/net/sword/> <title>My Deposit</title> <id>info:something:1</id> <updated>2008-08-18T14:27:08Z</updated> <summary type=&quot;text&quot;>A summary</summary> <generator uri=&quot;http://myrepository.ac.uk/engine&quot; version=&quot;1.0&quot;/> <content type=&quot;application/zip&quot; src=&quot;http://myrepository.ac.uk/geography-collection/deposit1.zip&quot;/> <sword:packaging>http://purl.org/net/sword/package/default</sword:packaging> <link rel=&quot;edit&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.atom&quot; /> <link rel=&quot;edit-media&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit&quot; /> <link rel=&quot;http://purl.net/sword/terms/statement&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.rdf&quot; /> </entry> Introducing: The Deposit Receipt
  • 31. Is there anything else we can do? YES! Where SWORD 1.3 leaves off SWORD 2.0 begins… The deposit lifecycle is more complicated that fire-and-forget...
  • 32. <entry xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:sword=http://purl.org/net/sword/> <title>My Deposit</title> <id>info:something:1</id> <updated>2008-08-18T14:27:08Z</updated> <summary type=&quot;text&quot;>A summary</summary> <generator uri=&quot;http://myrepository.ac.uk/engine&quot; version=&quot;1.0&quot;/> <content type=&quot;application/zip&quot; src=&quot;http://myrepository.ac.uk/geography-collection/deposit1.zip&quot;/> <sword:packaging>http://purl.org/net/sword/package/default</sword:packaging> <link rel=&quot;edit&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.atom&quot; /> <link rel=&quot;edit-media&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit&quot; /> <link rel=&quot;http://purl.net/sword/terms/statement&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.rdf&quot; /> </entry> Get a package of the item's entire content in our favourite format
  • 33. <entry xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:sword=http://purl.org/net/sword/> <title>My Deposit</title> <id>info:something:1</id> <updated>2008-08-18T14:27:08Z</updated> <summary type=&quot;text&quot;>A summary</summary> <generator uri=&quot;http://myrepository.ac.uk/engine&quot; version=&quot;1.0&quot;/> <content type=&quot;application/zip&quot; src=&quot;http://myrepository.ac.uk/geography-collection/deposit1.zip&quot;/> <sword:packaging>http://purl.org/net/sword/package/default</sword:packaging> <link rel=&quot;edit&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.atom&quot; /> <link rel=&quot;edit-media&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit&quot; /> <link rel=&quot;http://purl.net/sword/terms/statement&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.rdf&quot; /> </entry> Add more content to the item by POSTing more files
  • 34. <entry xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:sword=http://purl.org/net/sword/> <title>My Deposit</title> <id>info:something:1</id> <updated>2008-08-18T14:27:08Z</updated> <summary type=&quot;text&quot;>A summary</summary> <generator uri=&quot;http://myrepository.ac.uk/engine&quot; version=&quot;1.0&quot;/> <content type=&quot;application/zip&quot; src=&quot;http://myrepository.ac.uk/geography-collection/deposit1.zip&quot;/> <sword:packaging>http://purl.org/net/sword/package/default</sword:packaging> <link rel=&quot;edit&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.atom&quot; /> <link rel=&quot;edit-media&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit&quot; /> <link rel=&quot;http://purl.net/sword/terms/statement&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.rdf&quot; /> </entry> PUT new content over the old, or DELETE all the content
  • 35. <entry xmlns=&quot;http://www.w3.org/2005/Atom&quot; xmlns:sword=http://purl.org/net/sword/> <title>My Deposit</title> <id>info:something:1</id> <updated>2008-08-18T14:27:08Z</updated> <summary type=&quot;text&quot;>A summary</summary> <generator uri=&quot;http://myrepository.ac.uk/engine&quot; version=&quot;1.0&quot;/> <content type=&quot;application/zip&quot; src=&quot;http://myrepository.ac.uk/geography-collection/deposit1.zip&quot;/> <sword:packaging>http://purl.org/net/sword/package/default</sword:packaging> <link rel=&quot;edit&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.atom&quot; /> <link rel=&quot;edit-media&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit&quot; /> <link rel=&quot;http://purl.net/sword/terms/statement&quot; href=&quot;http://www.myrepository.ac.uk/geography-collection/my_deposit.rdf&quot; /> </entry> Ask the repository to describe the item, and the state it is in
  • 36. You Deposit your money You get a Receipt Your Statement tells you what happened to your money since A Banking Analogy
  • 37. Introducing: The SWORD Statement It tells you what files were produced when the repository unpackaged your deposit It tells you what new files have been added to your deposit (e.g. via format migration, mediated deposit, etc) It tells you where to get the package(s) you originally uploaded It tells you where in the workflow your item is (or any other state that it might be in). For example, “under review” or “deleted”
  • 38. <rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:ore=&quot;http://www.openarchives.org/ore/terms/&quot;> <rdf:Description rdf:about=&quot;http://localhost/edit-uri/43/d0&quot;> <ore:describes rdf:resource=&quot;http://localhost/agg-uri/43/d0&quot;/> </rdf:Description> <rdf:Description rdf:about=&quot;http://localhost/agg-uri/43/d0&quot;> <ore:isDescribedBy rdf:resource=&quot;http://localhost/edit-uri/43/d0&quot;/> <ore:aggregates rdf:resource=&quot;http://localhost/part-uri/43/d0/example.zip&quot;/> <sword:originalDeposit rdf:resource=&quot;http://localhost/part-uri/43/d0/example.zip&quot;/> <sword:state rdf:resource=&quot;http://purl.org/net/sword/state/archived&quot;/> </rdf:Description> <rdf:Description rdf:about=&quot;http://localhost/part-uri/43/d0/example.zip&quot;> <sword:packaging rdf:resource=&quot;http://purl.org/net/sword/package/default&quot;/> <sword:depositedOn>2011-02-24T19:50:04Z</sword:depositedOn> <sword:depositedBy>sword</sword:depositedBy> </rdf:Description> <rdf:Description rdf:about=&quot;http://purl.org/net/sword/state/archived&quot;> <sword:stateDescription> The work has passed through review and is now in the archive </sword:stateDescription> </rdf:Description> </rdf:RDF> Can be an OAI-ORE Resource Map
  • 39. <rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:ore=&quot;http://www.openarchives.org/ore/terms/&quot;> <rdf:Description rdf:about=&quot;http://localhost/edit-uri/43/d0&quot;> <ore:describes rdf:resource=&quot;http://localhost/agg-uri/43/d0&quot;/> </rdf:Description> <rdf:Description rdf:about=&quot;http://localhost/agg-uri/43/d0&quot;> <ore:isDescribedBy rdf:resource=&quot;http://localhost/edit-uri/43/d0&quot;/> <ore:aggregates rdf:resource=&quot;http://localhost/part-uri/43/d0/example.zip&quot;/> <sword:originalDeposit rdf:resource=&quot;http://localhost/part-uri/43/d0/example.zip&quot;/> <sword:state rdf:resource=&quot;http://purl.org/net/sword/state/archived&quot;/> </rdf:Description> <rdf:Description rdf:about=&quot;http://localhost/part-uri/43/d0/example.zip&quot;> <sword:packaging rdf:resource=&quot;http://purl.org/net/sword/package/default&quot;/> <sword:depositedOn>2011-02-24T19:50:04Z</sword:depositedOn> <sword:depositedBy>sword</sword:depositedBy> </rdf:Description> <rdf:Description rdf:about=&quot;http://purl.org/net/sword/state/archived&quot;> <sword:stateDescription> The work has passed through review and is now in the archive </sword:stateDescription> </rdf:Description> </rdf:RDF> Tells me where to get my original package
  • 40. <rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; xmlns:ore=&quot;http://www.openarchives.org/ore/terms/&quot;> <rdf:Description rdf:about=&quot;http://localhost/edit-uri/43/d0&quot;> <ore:describes rdf:resource=&quot;http://localhost/agg-uri/43/d0&quot;/> </rdf:Description> <rdf:Description rdf:about=&quot;http://localhost/agg-uri/43/d0&quot;> <ore:isDescribedBy rdf:resource=&quot;http://localhost/edit-uri/43/d0&quot;/> <ore:aggregates rdf:resource=&quot;http://localhost/part-uri/43/d0/example.zip&quot;/> <sword:originalDeposit rdf:resource=&quot;http://localhost/part-uri/43/d0/example.zip&quot;/> <sword:state rdf:resource=&quot;http://purl.org/net/sword/state/archived&quot;/> </rdf:Description> <rdf:Description rdf:about=&quot;http://localhost/part-uri/43/d0/example.zip&quot;> <sword:packaging rdf:resource=&quot;http://purl.org/net/sword/package/default&quot;/> <sword:depositedOn>2011-02-24T19:50:04Z</sword:depositedOn> <sword:depositedBy>sword</sword:depositedBy> </rdf:Description> <rdf:Description rdf:about=&quot;http://purl.org/net/sword/state/archived&quot;> <sword:stateDescription> The work has passed through review and is now in the archive </sword:stateDescription> </rdf:Description> </rdf:RDF> Tells me what state my item is in
  • 41. Interaction with SWORD is via XML documents XML is good for machine to machine interfaces Do users want to read / write XML? User friendly?
  • 43. SWORD clients The answer?
  • 44. Using the web: Do we read and write HTML? No! We use a web browser. An analogy
  • 45.
  • 48. The Facebook SWORD deposit tool http://apps.facebook.com/swordapp/ Another example
  • 51. Facebook client The application performs the packaging (metadata + file)
  • 53.
  • 54. SWORD 2.0 Clients/Servers Clients PHP (+ Facebook) Java Python Ruby (+ Bibapp) Servers DSpace EPrints Fedora
  • 55. SWORD 2.0 Timeline November – February Consultation and development of a draft profile and internet drafts March – May Client and Server Development
  • 56. Original slides by Stuart Lewis stuart@swordapp.org Additional SWORD 2.0 material by Richard Jones richard@cottagelabs.com The SWORD project http://swordapp.org/ Funded by JISC http://www.jisc.ac.uk/ Licence Creative commons Credits