Hi Richard,

I'm new to sword and this thread, so apologies if this has already been
covered, but one thought...

On Fri, Feb 04, 2011 at 08:54:49AM +0000, Richard Jones wrote:
> Dear All,
> 
> Thanks for your extensive feedback on the various issues that we have 
> been discussing on this list, it has been really valuable for the 
> project team to get this input.  We have, we think, identified 3 
> particular issues of contention:
> 
> 1/ Whether the Statement should be embedded in the Deposit Receipt or be 
> a separate document referenced in an atom:link element

...why don't you allow servers to optionally inline the content within the
link? There are two separate IETF I-Ds covering an atom link inline extension,
one older [1] and one newer [2] which I believe is active.

I.e., allow something like...

<atom:entry>
        <atom:link rel="http://purl.org/net/sword/terms/statement"; 
type="application/rdf+xml" href="http://.....";>
    <atom:inline> 
        <rdf:RDF>
                <!-- ORE statement goes here -->
        </rdf:RDF>
    </atom:inline>      
        </atom:link>
        <atom:link rel="http://purl.org/net/sword/terms/statement"; 
type="application/atom+xml;type=feed" href="http://.....";>
           <atom:inline>
             <atom:feed>
                <!-- statement goes here -->
             </atom:feed>
           </atom:inline>
        </atom:link>
</atom:entry>

Seems to be a fairly commonly used pattern (we use it heavily for a malaria
data repository project).

Cheers,

Alistair

[1] http://tools.ietf.org/html/draft-mehta-atom-inline-01
[2] http://tools.ietf.org/html/draft-snell-atompub-inline-01

> 
> 2/ Whether to use OAI-ORE for the Statement format or an Atom Feed (as 
> per CMIS and GData)
> 
> 3/ How the client and server should negotiate over the format of the 
> content returned by the edit-media link (EM-URI)
> 
> The project team has gone through each of these issues carefully, and 
> attempted to extract the simplest solutions but with a view to keeping 
> the SWORD 2.0 specification quite open at this stage, so that community 
> best practices can actually inform the standard itself in the long run. 
>   Therefore, we're proposing the following approaches to these issues:
> 
> 1/ Whether the Statement should be embedded in the Deposit Receipt or be 
> a separate document referenced in an atom:link element
> 
> If the Statement is to be embedded in the Deposit Receipt, then it needs 
> really to be in OAI-ORE form, for the purposes of being clear foreign 
> markup.  Nonetheless, bearing in mind that there is a question as to 
> whether the Statement should be an Atom Feed, it is clear that this 
> solution will not be adequate by itself.  We therefore propose that the 
> standard provided to the project's funded developers to code against 
> says that an OAI-ORE serialisation MAY be embedded in the Deposit 
> Receipt (the Deposit Receipt will not be required to meet the OAI-ORE 
> spec for being a resource map itself).
> 
> Alongside - or instead - of this, there MAY be one or more atom:link 
> elements in the Deposit Receipt which link to an external Statement. 
> These atom:link elements can specify their type attribute to say whether 
> they are an application/rdf+xml or application/atom+xml;type=feed.  It 
> will be a requirement of the spec that there MUST be an embedded 
> Statement or at least one separate Statement.
> 
> Therefore, you may see a Deposit Receipt like:
> 
> <atom:entry>
>       <atom:link rel="http://purl.org/net/sword/terms/statement";
>               type="application/rdf+xml" href="http://....."/>
> 
>       <rdf:RDF>
>               <!-- ORE statement goes here -->
>       </rdf:RDF>
> </atom:entry>
> 
> 2/ Whether to use OAI-ORE for the Statement format or an Atom Feed (as 
> per CMIS and GData)
> 
> Another good reason for the approach in (1) is that this means we can 
> provide different Statement URIs with different type attributes.  We 
> plan to ask developers to produce an ORE and an Atom Feed Statement 
> format under the project funding.  So you may see a Deposit Receipt like:
> 
> <atom:entry>
>       <atom:link rel="http://purl.org/net/sword/terms/statement";
>               type="application/rdf+xml" href="http://....."/>
> 
>       <atom:link rel="http://purl.org/net/sword/terms/statement";
>               type="application/atom+xml;type=feed"
>               href="http://....."/>
> 
>       <rdf:RDF>
>               <!-- ORE statement goes here -->
>       </rdf:RDF>
> </atom:entry>
> 
> The combination of approaches in (1) and (2) may seem woolly or 
> indecisive, but we believe that we can't determine in advance which of 
> these approaches is better, and that it should be up to the community of 
> users and implementers to decide which approach works best based on 
> actual usage of the developed software.  Therefore, while the burden of 
> implementation is placed on the funded portion of the project, we expect 
> community driven implementations/usages to favour one approach over 
> another (possibly taking into account things like compatibility with 
> GData and CMIS, or preferring the more semantic web approach of ORE). 
> We can then use this information later in deriving a SWORD spec which is 
> based on best practices.
> 
> 3/ How the client and server should negotiate over the format of the 
> content returned by the edit-media link (EM-URI)
> 
> The Content Negotiation issue arises from the fact that AtomPub requires 
> at most one edit-media URI with a given type to be available in the Atom 
> Entry (Deposit Receipt).  Since the SWORD server may contain multiple 
> files rather than the one file that AtomPub assumes, what this EM-URI 
> returns under GET is unclear.  We initially considered 2 approaches:
> 
> a/    A separate HTTP header like Accept-Packaging to allow content 
> negotiation on a package format
> b/    A separate HTTP header like Accept-Media-Features to allow general 
> content negotaiton on feature sets
> 
> As we discussed, both of these have pros and cons, and none of the 
> approaches to doing this are marked by any best practices, which makes 
> the project team unwilling to commit to anything too complex or 
> substantial, at a risk to the simplicity and overall success of SWORD. 
> Instead we are suggesting adopting a much simpler approach:
> 
> The Deposit Receipt can contain already contain a sword:package element 
> (as per SWORD 1.3), and SWORD 2 plans to allow an arbitrary number of 
> such elements.  These elements will describe the packaging formats 
> supported by the server, so the client will know in advance what the 
> capabilities of the server are.  Therefore, instead of engaging in a 
> content negotiation process, the client will just specify a separate 
> HTTP header indicating what package format should be returned.  Whether 
> this header re-uses the Packaging header used during deposit or 
> specifies a new header has yet to be decided.
> 
> 
> Hopefully these approaches make sense to the group.  We are interested 
> in how you think these will go down both during the project and beyond 
> in the community, and if there are any obvious problems with what we're 
> proposing here as the way forward for SWORD.
> 
> All the best,
> 
> Richard
> (On-Behalf-Of the SWORD project team)
> 
> 
> 
> ------------------------------------------------------------------------------
> The modern datacenter depends on network connectivity to access resources
> and provide services. The best practices for maximizing a physical server's
> connectivity to a physical network are well understood - see how these
> rules translate into the virtual world? 
> http://p.sf.net/sfu/oracle-sfdevnlfb
> _______________________________________________
> Sword-app-techadvisorypanel mailing list
> Sword-app-techadvisorypanel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sword-app-techadvisorypanel

-- 
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health <http://cggh.org>
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Web: http://purl.org/net/aliman
Email: aliman...@gmail.com
Tel: +44 (0)1865 287669

------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world? 
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
Sword-app-techadvisorypanel mailing list
Sword-app-techadvisorypanel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sword-app-techadvisorypanel

Reply via email to