-
Notifications
You must be signed in to change notification settings - Fork 6
OpenAPI components for common DALI parameters #58
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
Conversation
see TAP PR #8 for how these are used to by another spec. |
specify comma-separated name,location pair for a temporary table to be | ||
uploaded and used in the request | ||
schema: | ||
type: string |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pattern:
might also be useful here to enforce some simple regex for the comma separation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, minimal pattern added (I did not try to handle the complexity of the location part of that param). The openapi linter I use thought it was OK, but swagger doesn't render anything so it's a little hard to verify and my regex-fu doesn't extend to ECMA-script so I hope those predefined character classes are standard.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did a quick check with regex101.com and it seems okay to me. \w
covers [a-zA-Z0-9_]
, but not -
as a character, if that's acceptable.
I agree with not tackling the location path.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think \w
is roughly correct for valid table names... although it does not capture the fact that the name must start with an letter. I should fix that.
That regex101.com site is great - thnx for that pointer!
add simplistic {table name},{location} regex pattern for upload param
I have also added very minimal reference from the document to the openapi component files, but have not tried to address the parts of the text that conflict: the case-insensitive parameter name bit. That's one of the outstanding questions we have to discuss/decide (at the interop). |
converted to draft pending discussion of how to progress on case-insensitive -> OpenAPI-compliant |
The 3 openapi components needed for WD-TAP-1.2 are included and referenced in the file, but are not otherwise viewable/readable from the document. Those 3 files do need to end up included in the std package, uploaded to doc repo, and should end up being downloadable from stable URLs there... For viewability: include the content in an appendix? these are small but in other standards I suspect this strategy won't be as viable.. It seems like the same kind of issue as standards with schema files... any ideas? |
For standards technical counterparts this is a long standing issue impacting the document repository. For the openapi content: in P3T, again IIRC, there was the idea to have those documents alongside but separate, but we didn't end up with a proper solution or formatting for that. I wonder if an appendix section with a listing of the openapi files would be enough. Still, it leaves open the question raised above: where do they end up so that the URL links are stable and clear? Simple (simplistic) solution might be ending up in the documents folder with, e.g.:
that currently will be done manually, but I suspect ivoatex can package quickly using AUX_FILES. Another question, related, is: since there are already openapi cross-references, should the document repository also aggregate openapi yaml(s) from the different standards under one unique (let's say) ivoa.net/openapi folder, so that relative referencing can actually work? |
I experimented with cross-referencing quite bit since TAP is made from VOSI, UWS, DALI, and itself (TAP); this does not include very careful thought about external formats (eg VOTable) yet. There are essentially two options to ref:
I envision that RECs would be written to use full URLs like There is some complexity just to do the above that would inform how to store them on ivoa.net, and I haven't even thought about versioning at all. Right now, I include them as AUX_FILES, they should end up in the uploaded package, and I think that's good enough for now. We should discuss further at the Interop. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Happy seeing the first integration steps for these components.
These are small openapi components that can be included in another spec like TAP using the OpenAPI $ref mechanism.
Currently, this just describes the common query parameters in DALI. Even then, it includes only the ones that have a functional impact on current standards, so not: the old VERSION, unused REQUEST, and probably removable RUNID.