SWORD

From MPDLMediaWiki
Jump to navigation Jump to search

SWORD[1] is a lightweight protocol for depositing content from one location to another, implemented by a profile of the Atom Publishing Protocol[2]. The implementation of an corresponding interface is considered for PubMan in the context of the Peer project[3].

Scenarios[edit]

  1. Deposit metadata (+ files) to eSciDoc (SWORD server)
  2. Deposit metadata (+ files) from eSciDoc to other repositories (SWORD client)
  3. Edit/Delete existing eSciDoc items (SWORD server)

The discussion on implementation steps can be found here. A description of the SWORD Server implementation within the PubMan solution is available here.

SWORD Profile[edit]

"Rather than develop a new standard from scratch, SWORD choose to leverage the existing Atom Publishing Protocol (APP). APP is based on the HTTP transfer of Atom-formatted representations yet SWORD has focused on two key aspects of the protocol - the deposit of files, rather than Atom documents, and the extension mechanism for specifying additional deposit parameters."[4]

SWORD Elements[edit]

SWORD Element Description Example
sword:collectionPolicy Used for a human-readable description of collection policy. Include either a text description or a URI.
sword:treatment Used for a human-readable statement about what treatment the deposited resource will receive "Zip archives recognized as content packages are opened and the individual files contained in them are stored. All other files are stored as is." (Example from IntraLibrary)
sword:formatNamespace Used to identify the content packaging types supported by this collection. SHOULD be a URI from SWORD-TYPES SWORD-TYPES
sword:verbose If a server has support for verbose output
(detailed description of internal processing).
Yes or No
sword:verboseDescription
sword:level level of compliance Level 0: implementation of a minimal set of mandatory elements
Level 1: implementation of the full set of extension elements and compliance with APP


I think this is no longer the case with SWORD APP profile 1.3 which is the latest one we need to use. See http://www.swordapp.org/docs/sword-profile-1.3.html, see also "Change control" comment on top of the page
right they state this in change control, but there is one example on that page where they still use the level element ...hmmm...

sword:mediation If the the SWORD server supports on-behalf-deposits Yes or No
sword:noOp Is the POST a simulated deposit (For test purposes, no item should be created) Yes or No
sword:userAgent client identification
sword:acceptPackaging
sword:packaging
sword:version Version of implemented protocol 1.3
sword:error The description of the error can be found in the href attribute

http://purl.org/net/sword/error/ErrorContent
http://purl.org/net/sword/error/ErrorChecksumMismatch
http://purl.org/net/sword/error/ErrorBadRequest
http://purl.org/net/sword/error/TargetOwnerUnknown
http://purl.org/net/sword/error/MediationNotAllowed

sword:maxUploadSize The maximum size (in kB) of package that can be uploaded to the SWORD service

SWORD Service Document[edit]

  • Example of a SWORD Service Document (IntraLibrary).
  • Example of a Fedora SWORD Service Document
  • Service description for PubMan

Open Questions[edit]

have been moved to talk page.

Repositories supporting SWORD deposit[edit]

  • arxiv
  • Biomedcentral's Open Repository

References[edit]

Further resources[edit]

Exemplary use cases[edit]

  • experiences in using SWORD for Facebook=> repository (ePrints) can be found here.
  • depositing to supported repositories via SWORD is one functionality of PublicationList.org