ivoa-std / UWS

Universal Worker Service
Creative Commons Attribution Share Alike 4.0 International
1 stars 1 forks source link

What is "isPost"? #4

Open jwfraustro opened 3 months ago

jwfraustro commented 3 months ago

The following line in the XSD schema for UWS 1.1 (and 1.0) describes an attribute for uws:parameter named isPost.

https://github.com/ivoa-std/UWS/blob/fb0a018b41469596dc42f4781fe5dc25850ee123/UWS.xsd#L427

It is a boolean, with no documentation. Searching the UWS 1.1/1.0 spec reveals no description or documentation of the attribute.

The earliest version of the UWS XSD spec on github here includes the attribute, but similarly has no documentation, and was added in the 1.0 draft commit here

What is the intended purpose of the attribute?

jwfraustro commented 3 months ago

An update from Paul Harrison via the GWS mailing list:

It is an artefact of the fact that the UWS evolved from a similar service called CEA that Astrogrid developed. The name is probably not that great, but the original description looked like

"is the original job creation post simply an opaque post that cannot be easily fitted into the parameter model, then a single 'parameter' description should be returned with this set to true”

The motivation for it was that some of the early web services were just a wrapper around some commandline application that was driven by a config file. It was then relatively easy just to POST that file to the job creation end-point to create the job. This use case is not quite covered by the idea of “by reference” parameters, as clearly you need to find somewhere to put the original file that is http addressable, which requires more work on the client side.

Clearly it was an oversight that it crept into the final standard schema, but I think that probably came about from the schema being copied from a real running UWS implementation at the time (and that it was put in to work with a real existing CEA client), and I forgot to remove it.

Given this, should a refined version of this description be added to the documentation? Or perhaps the attribute be removed entirely?

pdowler commented 3 months ago

good catch - I never noticed that before and certainly did not implement it ever, so I would be on the "remove entirely" side.

-- Patrick Dowler Canadian Astronomy Data Centre Victoria, BC, Canada

On Mon, 17 Jun 2024 at 07:21, Joshua Fraustro @.***> wrote:

An update from Paul Harrison via the GWS mailing list:

It is an artefact of the fact that the UWS evolved from a similar service called CEA that Astrogrid developed. The name is probably not that great, but the original description looked like

"is the original job creation post simply an opaque post that cannot be easily fitted into the parameter model, then a single 'parameter' description should be returned with this set to true”

The motivation for it was that some of the early web services were just a wrapper around some commandline application that was driven by a config file. It was then relatively easy just to POST that file to the job creation end-point to create the job. This use case is not quite covered by the idea of “by reference” parameters, as clearly you need to find somewhere to put the original file that is http addressable, which requires more work on the client side.

Clearly it was an oversight that it crept into the final standard schema, but I think that probably came about from the schema being copied from a real running UWS implementation at the time (and that it was put in to work with a real existing CEA client), and I forgot to remove it.

Given this, should a refined version of this description be added to the documentation? Or perhaps the attribute be removed entirely?

— Reply to this email directly, view it on GitHub https://github.com/ivoa-std/UWS/issues/4#issuecomment-2173558317, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADIEM7RE6M6PGUQ5RUPLOQTZH3WHTAVCNFSM6AAAAABJNBIMACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZTGU2TQMZRG4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>