I recommend http be mandatory.
see detailed discussion in email thread http://www.ivoa.net/forum/vospace/0606/0097.htm
-- PaulHarrison
-- DaveMorris - 16 Jun 2006
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
Making some form of HTTP mandatory makes it easier to write clients and harder to write services. VOSpace fails unless we get useful services, and services are already harder to write than clients.
-- GuyRixon - 03 Jul 2006
we are already implicitly mandating http for the "control" interface - i.e. the web service - as far as implementors are concerned adding http-get would be not a great burden for the implementor - without a mandatory transport the success of the use case where a client sets up direct space to space transfers is not guaranteed, so the fallback would have to be copying the data to the client which understands the transport of each space and then transferring to the second space.
-- PaulHarrison - 04 Jul 2006
name | vote | comment |
---|---|---|
PaulHarrison | +1 | |
DaveMorris | -1 | |
GuyRixon | -1 |
*result*: not done
-- 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
name | vote | comment |
---|---|---|
PaulHarrison | +1 | |
DaveMorris | +1 |
*Result*: specified as registry entries
-- 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
name | vote | comment |
---|---|---|
PaulHarrison | +1 | |
DaveMorris | +1 |
*Result*: specified as registry entries
name | vote | comment |
---|---|---|
PaulHarrison | +1 |
*Result*: Format concept is now represented by the view concept
name | vote | comment |
---|---|---|
PaulHarrison | +1 | |
DaveMorris | -1 | I can't see a significant benefit from changing this |
*Result*: not done
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.
-- PaulHarrison 19 Jun 2006
name | vote | comment |
---|---|---|
PaulHarrison | +1 | proposer |
DaveMorris | -1 | I can't see a significant benefit from changing this |
*Result*: done
name | vote | comment |
---|---|---|
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 |
*Result*: done
Agree, need to make this clearer.
-- DaveMorris - 16 Jun 2006
name | vote | comment |
---|---|---|
PaulHarrison | +1 | |
DaveMorris | +1 |
*Result*: done
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
name | vote | comment |
---|---|---|
PaulHarrison | +1 | |
DaveMorris | +1 | |
GuyRixon | +1 |
*Result*: done
old name | new name" |
pushDataToVoSpace | importDataClientPush |
pullDataToVoSpace | importDataServerPull |
pushDataFromVoSpace | exportDataServerPush |
pullDataFromVoSpace | exportDataClientPull |
which I think are better because
-- PaulHarrison - 13 Jun 2006
This is a change to the specification not the WSDL, move this to the specification change page.
-- DaveMorris - 16 Jun 2006
I find the newly-proposed names more confusing. It's not obvious to me whether "import" moves data into VOSpace or into the client of VOSpace; similarly with "export".
-- GuyRixon - 04 Jul 2006
name | vote | comment |
---|---|---|
PaulHarrison | +1 | |
MatthewGraham | 0 | |
DaveMorris | -1 | Change the specification document first |
GuyRixon | -1 |
*Result*: not done
Should return a list of the keys with an indication of which ones relate to read-only properties.
-- PaulHarrison - 13 Jun 2006
I agree with adding the method. However, this should be changed in the specification first, not the WSDL. Move this to the specification change page.
-- DaveMorris - 16 Jun 2006
Suggestion 1: this operation only returns the set of properties understood by the service. Collating the other properties doesn't seem useful and might be expensive to implement.
Suggestion 2: for the properties of interest, return metadata roughly equivalent to those for a CEA parameter:
-- GuyRixon - 04 Jul 2006
Suggestion 2 does have some appeal. Suggestion 1, however, I am not so keen on, the original intention of this proposal was to be able to find out about the "custom properties" that clients might be using, rather than simply the ones that the service "understands" - for the extra metadata to be supplied though it would imply that an extra "registerPropertyMetadata" operation would be needed before a client could set the property.
And I do not see this being at all expensive to implement - it is much easier to implement than storing the property values of each of the property instances for each of the stored data objects, and we already require that.
-- PaulHarrison - 04 Jul 2006
name | vote | comment |
---|---|---|
PaulHarrison | +1 | proposer |
DaveMorris | +1 | |
GuyRixon | +1 | With details above |
MatthewGraham | +1 |
*Result*: done
name | vote | comment |
---|
*Result*: done
The Status member of the Node object is really referring to the transfer status.
name | vote | comment |
---|---|---|
PaulHarrison | +1 | proposer - benefit is increased clarity |
GuyRixon | +1 |
*Result*: new status that just indicates "busy" or not.
client 2 attempts to delete a file that client 1 is currently downloading via a "pull" transfer.
As specified at the moment, Client 1 could have a data transfer cut off with out any real knowledge of why, or client 2 could receive a PermissionDenied fault
Possible solutions
This use case is actually quite an implementation challenge....involves close interaction with the states of the actual data streams for the transports.
name | vote | comment |
---|---|---|
PaulHarrison | +1 | proposer |
perhaps failed is a better name can then encompass the case where a partial data transfer has occured and failed half way, for some reason other than expiry
name | vote![]() |
comment |
---|---|---|
PaulHarrison | +1 | proposer |
Proposed (and provisionally agreed by DaveMorris, MatthewGraham and GuyRixon) that we include a "level" parameter to select what is returned. The returned elements are always node elements but:
(Naming of the levels can be tweaked if necessary.) "Derived types of nodes" allows implementors to design special nodes (e.g. LdapDataNode) that have all the parts of a normal node and also extra children. The level parameter protects the clients from parser grief when derived node-types are in play.
The URI child might become an attribute of the node element.
-- GuyRixon - 04 Jul 2006
This design does not seem very OO to me - too may meanings are being attached to level - we are saying that the ListNodes operation returns a type Node, but for level="minimal" actually something is returned that is an "incomplete" node though it is still being called a node. It would seem cleaner to have a different operation ListIdentifiers that returned an identifier array for this case.
the level=extended seems not to be within scope of 1.0 - It also seems to be confusing the metadata about a node with the data in a node.
-- PaulHarrison - 05 Jul 2006
name | vote | comment |
---|---|---|
PaulHarrison | +1 | proposer |
GuyRixon | +1 | With changes listed above |
The transfer object contains a location element which is intended to be the uri that pullDataFromVoSpace and pushDataToVoSpace supply as an output parameter, so it is confusing that pullDataToVoSpace, pushDataFromVoSpace return a uri for a transfer when for those methods the uri for transfer is an input parameter.
Recommend that the pullDataToVoSpace, pushDataFromVoSpace return only what is necessary for the client to know - this might mean removing the transfer object from the return list, or refactoring the transfer object - global analysis needed.
name | vote | comment |
---|---|---|
PaulHarrison | +1 | proposer |
name | vote | comment |
---|---|---|
PaulHarrison | +1 | proposer |
GuyRixon | +1 |
*Result*: registry schema done
name | vote | comment |
---|---|---|
PaulHarrison | +1 | proposer |
*Result*: protocols are listed in two categories, "accepts" and "provides"
IVOA.net
Wiki Home
WebChanges
WebTopicList
WebStatistics
Twiki Meta & Help
IVOA
Know
Main
Sandbox
TWiki
Working Groups
Interest Groups
Committees