PubMan Sword
This page briefly describes the SWORD Server implementation in the PubMan solution. General Information about SWORD can be found here.
Implementation[edit]
For start the SWORD functionality is directly implemented in PubMan by exploiting and extending the sword api provided by JISC. In future we could have a seperate SWORD service for all eSciDoc solutions. PubMan implements 3 classes for the SWORD service:
- PubManSwordServer - Processing of requests
- PubManServiceDocumentServlet - Accepting requests for the Service Document (dependent on user credentials)
- PubManDepositServlet - Accepting requests for the deposits (dependent on user credentials)
Deposit[edit]
- The result of a deposit depends on the workflow of the collection an item is deposited to. Check the deposit action mapping.
Interface[edit]
The PubMan SWORD interface is deployed within the PubMan ear, therefore one can access the above described servlets by the PubMan baseURL + the servlet path.
(Example with PubMan base url http://pubman.mpdl.mpg.de, note that sword functionality is not yet deployed on live server)
Service Document[edit]
http://pubman.mpdl.mpg.de/pubman/faces/sword/servicedocument
Request:
GET with user credentials
Response:
A servicedocument containing all open collections a user may deposit to.
<service> <sword:level>0</sword:level> <sword:verbose>false</sword:verbose> <sword:noOp>true</sword:noOp> <workspace> <atom:title type="text">PubMan SWORD Workspace</atom:title> <collection href="collectionIdentifier"> <atom:title type="text">demo publications</atom:title> <accept>application/zip</accept> <sword:collectionPolicy>todo</sword:collectionPolicy> <dcterms:abstract>Description of the demo publication collection</dcterms:abstract> <sword:mediation>false</sword:mediation> <sword:treatment> Zip archives recognised as content packages are opened and the individual files contained in them are stored. All other files are stored as is. </sword:treatment> <sword:formatNamespace>http://www.loc.gov/METS/</sword:formatNamespace> </collection> </workspace> </service>
Deposit Service[edit]
http://pubman.mpdl.mpg.de/pubman/faces/sword/deposit?collection=collectionIdentifier
Request:
POST with user credentials and depositing item as zip
Response:
201 Created or 202 Accepted - One of these MUST be used to indicate that a deposit was successful. 202 Accepted is used when processing of the data is not yet complete.
Location: [Member Entry URI]
The zip file may contain several file but must contain one metadata file (currently only escidoc publication format is supported, as soon as know the depositing format we can run a transformation). All files not containing metadata are transformed to PubFiles and are added to the Publication item.
Action Mapping[edit]
SWORD Action | PubMan Action | Comment |
---|---|---|
Deposit | Save Save, Submit Save, Submit,Release |
depending on the collection workflow and collection policies. |
Edit | Release | same as above |
Delete | Withdraw | If item is in state released |
Delete | delete | If item is in state pending |
Provide also delete for 'not submitted' items?--Friederike 08:51, 11 March 2009 (UTC)
:) Have not thought of it. Actually, maybe we should only provide delete for "pending" and "in-revision" items, and not withdraw automatically. --Natasa 09:15, 11 March 2009 (UTC)
TODO: Check exact delete behaviour of PubMan items, SWORD delete should reflect this behaviour.