Mar 312011
 

A new copy of the proposed SWORD v2 specification has been posted based on recent feedback from the Technical Advisory Panel:

The main changes that were made are as follows:

1/ Changed all relevant instances of URI to IRI.

2/ Provided a better introduction with text from the business case/technical approach document.

3/ Corrected the identifiers to which 6.6.2 and 6.6.3 referred.

4/ Added 2 new sections covering overwriting metadata or overwriting with Atom Multipart (sections 6.5.2 and 6.5.3), which were missing from the previous version.

5/ Added a new section (6.10) on the use of SWORD on arbitrary IRIs in order to clarify how it should be used alongside other standards like CMIS, GData, OData, or just plain old REST.

6/ Removed the use of 202 (Accepted) as an HTTP response code to any request.

7/ Better introduction to the Metadata Handling section.

8/ Removed usage of In-Progress header on IRIs which do not represent the container (i.e. the Atom Entry).

9/ Better introduction to the Continued Deposit section, and the addition of a section on how to complete an In-Progress deposit.

10/ Added a new IRI type which is called the SE-IRI (SWORD Edit IRI) which is identified by the @rel value “http://purl.net/org/sword/terms/add”, and is used to identify the IRI which can be used to do HTTP POST against for adding content to a container.  I updated all the references for HTTP POST operations to refer to this IRI, and added it and an explanation of its relation to Edit-IRI near the top of the document.  Note this doesn’t strictly add a new IRI to be maintained, the atom:link can still point to the Edit-IRI, but their usage is distinguished as per the previous discussions on this list.

11/ Changed the rules for default packaging so that in the event that a server does not announce any packaging, the client will assume that none is supported.  I believe this means that SWORD now fully simplifies to plain old AtomPub without confusion.

12/ Changed the old IRI which represented the zip package to be http://purl.net/org/sword/package/SimpleZip, which is more descriptive.

There are still some comments on the list which haven’t been addressed.  These will be looked at next in tandem with an effort to
start the development of the clients and servers, as we feel that there’s not a lot more we can get out without first having a go at the implementations.

There are just a couple of questions regarding the latest changes:

a/ Are there any obstacles in the spec to using another APP based protocol in parallel.  We are thinking CMIS and GData, obviously, but
also perhaps others like OData.  It’s important that SWORD not prove an obstacle to them.

b/ Are there any other @rel values that we need to create to accurately describe SWORD specific operations which aren’t purely APP operations?  Looking over the profile when writing this version of the spec, it was  only the SE-IRI that we picked up.  Have we missed anything?