[DataLink] access_url vs accessURL
Patrick Dowler
patrick.dowler at nrc-cnrc.gc.ca
Tue Sep 16 23:22:44 CEST 2014
On 16/09/14 01:32 AM, Markus Demleitner wrote:
> Hi DAL,
>
> On Mon, Sep 15, 2014 at 01:20:26PM -0700, Patrick Dowler wrote:
>> ** Proposed change: The simple way out is to say that in the {links}
>> table there is an access_url *or* a service_def, but not both. Then
>
> I like it. It also helps *very* simple-minded clients that will not
> try to access a service's base URL unadorned because they don't know
> about services.
Sounds good.
>> ** smallish side issue: we should make it clear that an inut
>> parameter reference to a FIELD also could refer to a PARAM with a
>> constant value. That is how a prvider would handle something like
>> RUNID without cluttering the {links} table. It is probably implied by
>> the original use/meaning of PARAM, but that should be clarified too.
>
> Hm -- let me make sure I understand what you're talking about here.
> Is this where there's a service descriptor in a DAL response rather
> than in a datalink document? What you're proposing is that I could
> do (sketch)
>
> <VOTABLE>
> ...
> <RESOURCE type"results">
> ...
> <PARAM id="runid".../>
> <FIELD id="pubdid".../>
>
> <RESOURCE utype="adhoc:service"...>
> ...
> <GROUP name="inputParams">
> <PARAM name="ID" ref="pubdid".../>
> <PARAM name="RUNID" ref=runid".../>
>
> So -- you'd allow more than one PARAM in inputParams to be ref'ed,
> rather than just ID?
Yes, I had always thought of it as multiple input params could ref
content elsewhere. The RUNID case was only one I had thought of, and
that one could probably be handled by embedding the RUNID into the
accessURL (because the RUNID is probably a constant in that document and
-- importantly -- the resulting URL would still be a resource
implementing the standardID)... that might be a little subtle :-)
In some system, they could have multi-column keys (uugh) because they
haven't seen the light of URIs :-)
Another one I thought of is that a table could have index values into a
grid and you could call some service with grid coordinates (x=5&y=3).
This is more something one might have in a TAP or SimDAL result...
> I've not thought that through, but I'm slightly worried because that
> puts some additional load on client implementors. So -- is there an
> actual use case for this apart from RUNID? I could see some
> contrived cases where it might make sense to pass additional stuff
> from result rows in, but I'm not convinced these justify introducing
> a feature that will probably only be rarely used, so a
> misimplementation might go undetected for a long time, resulting in
> interoperability problems.
>
> Anyway: If that's what you want, I personally could certainly live
> with it. But then text needs to be added that clients *MUST* look for
> ref in all PARAMs and pass these accordingly; then, a validator
> (*bambi eyes all around*) could exercise a client against that
> feature and flag it invalid if it's not properly implemented.
Yes, I think it is important to not limit to one input param with a ref
attribute so will keep that.
thanks,
--
Patrick Dowler
Canadian Astronomy Data Centre
National Research Council Canada
5071 West Saanich Road
Victoria, BC V9E 2E7
250-363-0044 (office) 250-363-0045 (fax)
More information about the dal
mailing list