SWORD (protocol)
Developed by | JISC |
---|---|
Latest release |
2.0
|
Type of format | Resource deposit |
Extended from | ATOM |
Website | swordapp.org |
SWORD (Simple Web-service Offering Repository Deposit) is an interoperability standard that allows digital repositories to accept the deposit of content from multiple sources in different formats (such as XML documents) via a standardized protocol. In the same way that the HTTP protocol allows any web browser to talk to any web server, so SWORD allows clients to talk to repository servers. SWORD is a profile (specialism) of the Atom Publishing Protocol, but restricts itself solely to the scope of depositing resources into scholarly systems.
Contents
History
The first version of the SWORD protocol was created in 2007 by a consortium of UK institutional repository experts. The project to develop SWORD was funded by the JISC and managed by UKOLN.[1] An overview of the initial development of SWORD is given in "SWORD: Simple Web-service Offering Repository Deposit."[2] The standard grew out of a need for an interoperable method by which resources could be deposited into repositories. Interoperable standards existed to allow the harvesting of content (e.g. Open Archives Initiative Protocol for Metadata Harvesting) or for searching (e.g. OpenSearch) but not for deposit.
Between the original release in 2007, two subsequent projects were undertaken until 2009 to further refine the version 1.0 specification and perform advocacy work. The resulting release was numbered 1.3.[3] Further descriptions of the work is available in Lewis et al, "If SWORD is the answer, what is the question? Use of the Simple Web service Offering Repository Deposit protocol."[4]
In 2011 a new project began to extend the "fire and forget" approach of the SWORD 1.x specification into a full CRUD (Create, Retrieve, Update, Delete) interface, and the result was a new version (designated 2.0).[5] This was followed by extensive development work on client environments in several programming languages, and incorporation into the development of several Jisc-funded efforts.[6][7]
Use cases
Many different use cases exist[8] where it may be desirable to remotely deposit resources into scholarly systems. These include:
- Deposit to multiple repositories at once.
- Deposit from a desktop client (rather from within the repository system itself)
- Deposit by third party systems (for example by automated laboratory equipment)
- Repository to repository deposit
Implementations
Three categories of implementation exist: repository implementations for existing repository servers, client implementations that can be used to perform SWORD deposits, and code libraries to assist in the creation of new SWORD clients or servers.
SWORD-compliant repositories
The following digital repositories are SWORD compliant:
SWORD clients
- BibApp[14]
- EasyDeposit[15]
- Facebook client[16]
- Open Journal Systems[17]
- Microsoft Word Article Authoring Add-in for Word[18]
SWORD code libraries
- PHP SWORD client library[19][20]
- Ruby SWORD client library [21]
- Java SWORD client and server library[22]
- Python client library[23]
- Python server library and SWORD 2.0 reference implementation[24]
Other resources
The SWORD Course[25]
References
- ↑ http://www.ukoln.ac.uk/repositories/digirep/index/SWORD_Project
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://swordapp.org/docs/sword-profile-1.3.html
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://swordapp.github.com/SWORDv2-Profile/SWORDProfile.html
- ↑ http://swordapp.org/2012/08/extending-dmponline-with-swordv2/
- ↑ http://www.dataflow.ox.ac.uk/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://arxiv.org/help/submit_sword
- ↑ http://guides.dataverse.org/en/latest/api/sword.html
- ↑ http://www.intrallect.com/index.php/intrallect/products
- ↑ http://research.microsoft.com/en-us/projects/zentity/
- ↑ http://www.mycore.org/features/interfaces.html
- ↑ http://www.bibapp.org/
- ↑ http://easydeposit.swordapp.org/
- ↑ http://fb.swordapp.org/
- ↑ http://pkp.sfu.ca/node/1777
- ↑ http://research.microsoft.com/en-us/projects/authoring/
- ↑ http://php.swordapp.org.
- ↑ https://github.com/swordapp/swordappv2-php-library/
- ↑ https://github.com/swordapp/sword2ruby
- ↑ https://sourceforge.net/projects/sword-app/files/SWORD%20Java%20Library/
- ↑ https://github.com/swordapp/python-client-sword2
- ↑ https://github.com/swordapp/Simple-Sword-Server
- ↑ http://swordapp.org/the-sword-course/