-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Observation.observationID and Plane.productID are too restrictive #3
Comments
The restriction may be too limiting for users who have existing identifiers with more structure (eg. multiple path components) that they need to capture. This could in principle be an issue for collection names (eg Survey/DRi vs Survey/DRj). see #12 The purpose of the restriction was to be able to enable code to convert the fields to a URI and parse it back to the individual field values. That is currently possible because ObservationURI has exactly 2 components and PlaneURI has exactly 3 components. It would not be possible to parse and extract if components but the productID can have multiple path components. Current code only uses the restrictions to implement validation of |
Currently
I would like to retain the basic form (
Data providers still need to inject their own Plane.publisherID (same as creatorID for original publisher) and that needs to be clarified/documented (but probably in a CAOM+TAP standard). In the current style of usage, a data provider would register a "data collection" in the IVOA registry with a resource identifier like |
For validation purposes, it would be good to require that |
current draft solution: keep
Encourage/require "local" reference style using the The |
This issue addresses the topic in #12 |
With respect to one point mentioned in #12: spaces in identifiers that are likely to be used in APIs are quite dangerous, which is the primary reason for the restrictions in CAOM-2.4 and earlier. Even with the above changes, using spaces in the used in APIs: in http params you should encode/decode anyway so it is fine, but if the URI or a prtion of it goes into the path then of a REST API call then it's a mess. There is already considerable use of |
In the code (java and python) these strings are restricted to being "valid path components".
These fields are used to generate several URIs:
ObservationURI of the form
caom:{collection}/{observationID}
for use as a reference inDerivedObservation.members
PlaneURI of the form
caom:{collection}/{observationID}/{productID}
for use as a reference inPlane.provenance.inputs
It is likely that
Plane.creatorID
is also assigned by using these values.Although not part of the model, the CADC implementation (at least) uses these fields to generate
Plane.publisherID
that is the primary external reference to a Plane (product) and used as the input ID by the caom DataLink service.The text was updated successfully, but these errors were encountered: