On Mon, 21 Mar 2011 21:17:32 -0000, Richard Jones  
<rich...@oneoverzero.com> wrote:

> Hi Tim,
>
[snip]

>> I just echo what Dave Tarrant has said about talking in real-time with
>> this. I can see Richard has injected ideas from various sources into the
>> spec. but these ideas need to be thrashed out between multiple brains. I
>> was initially thinking we want to add behaviourial controls through  
>> headers
>> whereas I'm more convinced now that these should be IRI parameters,  
>> which
>> will make it more obvious that this IRI is going to behave differently  
>> to
>> the base IRI.
>
> Can you give us a few examples of what you imagined?

POST http://myrepo.org/app/workspace?suppress_metadata
Content-Type: application/msword
...

POST http://myrepo.org/app/workspace?suppress_metadata&unpack
Content-Type: application/zip
...

My rationale for this is two-fold:
1) The IRI (base+query) defines the behaviour and can be exposed using  
rel-links.
2) HTTP headers feel like they're the wrong level for controlling  
application behaviour.

It doesn't seem elegant to express an HTTP request where behaviour is  
controlled through both the METHOD+IRI and HTTP headers. Conceptually  
headers like Content-Type are describing the payload whereas  
Suppress-Metadata is explicitly telling the server to do something with  
the payload.

(NB I think we should be asserting extract-metadata instead of  
suppress-metadata. The default behaviour of extracting metadata may be  
more useful but it feels wrong to be asserting a negative - otherwise a  
client could end up having to suppress-printing, suppress-emailing,  
suppress-conversion-to-pdf etc. etc.!)


I strongly feel In-Progress should be an Atom category. Using a header,  
clients can't ascertain whether an item is "in-progress", which means  
clients can't be stateless and in addition have no mechanism to verify the  
server is treating the collection as "in-progress".

In-Progress as a header is also ambiguous in scope:
POST contents/ <atom:entry>
In-Progress: true
...
PUT em-uri/ <application/msword>
...

Does that mean the <atom:entry> is no longer in-progress?

And last nail in the coffin ... how does a client make an entry no longer  
in-progress? Very weird semantic to perform a no-op edit (PUT) to change  
the state of an entry!

-- 
All the best,
Tim.

------------------------------------------------------------------------------
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