Hi Dave,

>>> 6.4. Editing the Content of a Resource
>>>
>>> The client MAY provide an In-Progress header with a value of true or false 
>>> [SWORD001]
>>
>>> 6.5. Deleting the Content of a Resource
>>>
>>> Should return the 200 header representing what has happened.
>>>
>>> I'm against the delete operation on the content URI returning the receipt 
>>> of the edit-URI.
>>> No one asked for this, the client asked for the thing to be deleted, not a 
>>> statement or
>>> receipt! I've made this point before... it got ignored.
>
> Both of these are in fact about which URI you are interacting with not what 
> is returned.
> If you are CRUD'ing to one URI the server should never return data which is 
> not related to
> that URI without some sort of 300 redirect.

I see what you're saying.  It looks like this is also legitimate if a 
Content-Location header is provided, if I am interpreting the HTTP spec 
correctly (which is maybe not the case).

> So the response of the DELETE should always be relevant to the URI you have 
> just deleted.

So, I guess I'd want to clarify what "relevant" means here.  I can't 
find anything definitive in the HTTP spec which tells you how what you 
get back from the DELETE request should be related to the resource 
deleted.  Any references you have that I could look at?

> The In-Progress header should refer only to the URI which it is related to, 
> since In-Progress
> (or status) is in fact a piece of metadata i'd recommend moving it to the 
> atom metadata and
> turning it into a category. Thus you move the item through a workflow by 
> changing the metadata.
>
> Neither of these are EPrints specific, just general good practise of a web 
> server :)

I agree that the In Progress header should only be supplied on the 
container.  In the next version of the profile I'll make that change.

In the mean time, though, once again: this exists as a header because 
when you are POSTing a ZIP file without an Atom Entry before it, there 
is no Atom Entry for a sword:inprogress element to be placed in.  Also, 
it's not the business of SWORD to be moving things through the workflow 
- that would be either a content management operation or some other 
class of administrative interface, which would be out of legitimate 
scope.  In Progress is intended purely to hint to the server that it 
might expect more content to be coming before the client considers the 
full deposit process finished.

>>> 6.6. Adding Content to a Resource
>
> I'll get onto this and point, just as a pointer however look at the 'Creating 
> a folder' section in the GDocs API.

I've been through the GDocs API, and believe that we've included enough 
in the SWORD spec to ensure that it's use is not prevented (to the point 
of being explicitly mentioned).  Also, I looked in the GData 3.0 spec 
for information on how to retrieve the feed of an object, rather than an 
entry, and it didn't say.  I presumed content negotiation (hence section 
6.8 of the sword profile), but perhaps you know where there's a formal 
definition of how this bit works - the GData documentation did seem a 
little bit all over the place?

I'll include some more details in the next version as to how to use 
SWORD extensions on any old URI, and that should hopefully be enough to 
combine it fully with GData.

See my other email about the scope of sword, and let me know what you think.

Cheers,

Richard



------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
Sword-app-techadvisorypanel mailing list
Sword-app-techadvisorypanel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sword-app-techadvisorypanel

Reply via email to