Difference: VOSpace10Spec (8 vs. 9)

Revision 92006-06-19 - PaulHarrison

 
META TOPICPARENT name="IvoaGridAndWebServices"

Discussion of the VOSpace 1.0 specification Document

This is a discussion page for the VOSpace-1.0 service specification document.

This is somewhere where we can post proposals and to enable interested parties to discuss the different versions.

For each version there is a Change request section - please add to this and vote on other suggestions

  • +1 if you agree
  • -1 if you disagree
  • 0 if you have no particular preference



Version 0.21

This document was produced as a result of the discussions that occured at the Victoria Interop meeting.

Change Requests

Mandate and define at least one transport protocol

without this a compliant VOSpace will not be able to transfer data to another compliant VOSpace.

I recommend http be mandatory.

-- PaulHarrison

  • Which version, http-1.0 or http-1.1 ?
  • Which methods http-get, http-put or both ?
    • For a space that stores public images, then http-1.1-get makes sense.
    • For a space that allows upload to sensitive database tables, then http-1.x-put does not have sufficient authentication.

-- DaveMorris - 16 Jun 2006

Added:
>
>
I think that where VOSpace is acting as a http server then it would be good to mandate http-1.1 compliance - it does fix issues with 1.0 and afterall it is a 7 year old specification now....

As far as a compliance statement goes - how about

(http-1.1-get or https-1.1-get) and (http-1.1-put or https-1.1-put)

-- PaulHarrison - 19 Jun 2006

 

Votes

name vote comment
PaulHarrison +1
DaveMorris -1

Specify as optional a small list of well known transport protocols

so that at least implementations will do the same thing for common protocols - this list to include
  • ftp
  • gridftp

-- PaulHarrison

Agree with the list of common protocols.

Defined in a annex to the main specification, including a standard URI and details of the protocol specification (can be just short note and a reference to the external specification).

e.g.

HTTP 1.1 get
URI
    ivo://....vospace/protocols/http-1.1-get
Description :
    Get data using the HTTP-1.1 GET method as defined in RFC2616.
    http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3

-- DaveMorris - 16 Jun 2006

Votes

name vote comment
PaulHarrison +1
DaveMorris +1

Specify the key names and meanings for a small group of "essential" property keys

The minimum set which I would say we need mandatory names are
  • vos.Owner
  • vos.ModificationDate
  • vos.Size
  • vos.MimeType

-- PaulHarrison

Agree with the list of common properties.

Defined in a annex to the main specification, including a standard URI and details of what each property means and how it is represented.

e.g.

Data created date
KEY
    vos.data.created.date
Description :
    A read-only property generated by the server.
    Indicating when the data contents were originally created.
    Formatted as a ISO 8601 date-time [yyyy-mm-ddTHH:MM:SS.SSS]
----
Data modified date
KEY
    vos.data.modified.date
Description :
    A read-only property generated by the server.
    Indicating when the data contents were last modified.
    Formatted as a ISO 8601 date-time [yyyy-mm-ddTHH:MM:SS.SSS]

Note - As VOSpace-1.0 does not support append, the only way the created and modified dates will be different is if the server modifies the data underneath.

-- DaveMorris - 16 Jun 2006

Votes

name vote comment
PaulHarrison +1
DaveMorris +1

Clarify the use of the Format parameter in some calls

I believe that the original intention of Format was to specify a possible transformation of the data (mainly on export of table data from RDBMS based stores). In the current version of the document it reads as if this parameter is merely a description of the data - in which case mime-type suffices. In addition I am not sure if this parameter has any meaning for import operations.

Votes

name vote comment
PaulHarrison +1

Change "exception" to "fault"

The document uses the term exception for the "faults" rather than "fault" -- PaulHarrison

Votes

name vote comment
PaulHarrison +1
DaveMorris -1 I can't see a significant benefit from changing this
Added:
>
>

Consider adding an optional wildcard matching identifier to parameters for ListNodes

This would allow the client to specifly a subset of the VOSpace to be listed - in effect the behaviour would be similar to the "ls" command in unix, with typical simle shell wildcard semantics.

Reason for change: improved efficiency - if ListNodes always has to list the whole VOSpace then it is a pretty blunt instrument, especially as the number of data objects in the space increases.

Use Case

Suppose that there is a 1.0 VOSpace containing 5000 data items and a workflow step is writing results into the VOSpace using a common prefix. The next step in the workflow wants to process all of the files produced, but only knows the prefix - without wild card matching the whole of the VOSpace needs to be listed to find the files.

-- PaulHarrison 19 Jun 2006

Votes

name vote comment
PaulHarrison +1 proposer
 

Consider adding an optional identifier list to the parameters for ListNodes

Changed:
<
<
This would allow the client to specifly a subset of the VOSpace to be listed - in effect the behaviour would be similar to the "ls" command in unix.
>
>
This would allow the client to specifly a subset of the VOSpace to be listed - in effect the behaviour would be similar to the "ls" command in unix.
Deleted:
<
<
-- PaulHarrison
 
Added:
>
>
Reason for change: improved efficiency - if ListNodes always has to list the whole VOSpace then it is a pretty blunt instrument, especially as the number of data objects in the space increases.

Use Case

Suppose that there is a 1.0 VOSpace containing 5000 data items and a client is currently interacting with a V2.0 VOSpace that has links to a small subset (e.g. 100 data items) - the client needs to make 100 getNodeProperties SOAP calls to the V1.0 space to get the latest metadata about the data objects - with an optional identifier list it can make one call to ListNodes.

-- PaulHarrison 19 Jun 2006

 

Votes

name vote comment
Changed:
<
<
PaulHarrison +1
>
>
PaulHarrison +1 proposer
 
DaveMorris -1 I can't see a significant benefit from changing this

Reconsider getNodeProperties and setNodeProperties

the naming of these operations makes them appear as a pair, where in fact they are not - you get a Node out of the getNodeProperties and have to put a PropertyPairList into the setNodeProperties - If the change to ListNodes were made as above, then getNodeProperties would be redundant anyway. -- PaulHarrison

Votes

name vote comment
Changed:
<
<
PaulHarrison +1
>
>
PaulHarrison +1 the benefit is improved clarity - in addition there is the slightly irritating issue (see below) that you cannot take the property list from the "get" and use it in the "set" because of read-only properties
 
DaveMorris -1 I can't see a significant benefit from changing this

Semantics not clear for setNodeProperties

It is not clear
  • how to delete a property - does a null value of the property pair denote this?
  • does the whole set of node properties given as an argument replace the whole set for the node, or is a union operation performed.
  • interaction with the "read-only" properties in these scenarios...
-- PaulHarrison

Agree, need to make this clearer.

  • Null value deletes property.
  • Operation is union not replace.
  • Server throws PermissionDenined for read-only properties.
Added:
>
>
    • what if only one of the list of properties is read-only? - need to signal which are the bad properties in the exception.
  -- DaveMorris - 16 Jun 2006

Votes

name vote comment
PaulHarrison +1
DaveMorris +1

Change names of parameters for moveNode and copyNode

Target is a confusing name for the "source" part of a move operation it sounds more like "destination" - recommend use "source" and "destination" -- PaulHarrison

Yep, source and destination are probably better. As long as we make it clear that these are internal locations, not references to external locations.

-- DaveMorris - 16 Jun 2006

Votes

name vote comment
PaulHarrison +1
DaveMorris +1


<--  
-->
 
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback