-
Notifications
You must be signed in to change notification settings - Fork 18
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
What version_id
should a client use when requesting a tool version?
#153
Comments
Hi @fbacall , I'm on the Dockstore team, but I joined after most of TRS was finalized, so the following is my opinion (and hopefully not wrong!). @denis-yuen, also on Dockstore, has been one of TRS drivers, can give a better explanation, but here's my take for now, until he gets back from vacation. My reading of the spec is the ids can be whatever the TRS implementation wants them to be. Dockstore has chosen names for both the tool and version, because that makes it user friendly -- looking at a fully qualified entry id + version id, you can get a sense of what it is, whereas if your ids where just numbers it wouldn't be obvious. In other words, as long as the version id is unique for that tool, it can be whatever you want. |
I see that Dockstore will also accept the Tool Version's ID: I guess a related question to this: is it expected that the I'm currently using it for the canonical URL of the tool version in the registry (an HTML landing page), but I notice Dockstore and BioContainers both have TRS URLs in this field. |
Looks like the canonical URL might be what we intended originally, ideally we would have both actually. That might have been an oversight. https://github.com/ga4gh/tool-registry-service-schemas/blob/develop/openapi/ga4gh-tool-discovery.yaml#L617 |
It would certainly be very useful if a version's In fact we are just about to implement support for TRS URIs of that form to our TES implementation, so that it is able to download containers based on that. We are hijacking the If you guys agree on this to be the intended/desired behavior, perhaps the description of TRS URIs should be amended to clarify this issue somewhat (without requiring immediate changes to the specs themselves). |
We could also add self-link headers or properties to the version somewhat similar to https://github.com/ga4gh/tool-registry-service-schemas/blob/develop/openapi/ga4gh-tool-discovery.yaml#L205 I'm ok with both
Leaning toward 1. for backwards compatibility with Dockstore and biocontainers implementations. Not entirely following the TRS URI discussion, but it seems reasonable. |
Just meant a sort of versioned flavor of a TRS URI (in additional to the one described) that unambiguously describes a container image (or multiple equivalent images of different image types). Such an identifier could be used in workflows instead of an image name. WES or TES implementations could then resolve these via a TRS call, and, if available, choose their preferred container type flavor. We have implemented this now and tested it with Biocontainers. Works nice. Will probably open a separate issue on that though, likely after the demo next week. |
Opened issue #164 for versioned TRS URIs |
the spec says
/tools/{id}/versions/{version_id}
I assumed this
version_id
referred to theid
field in the tool version JSON, but dockstore uses thename
field for this:https://dockstore.org/api/api/ga4gh/v2/tools/%23workflow%2Fgithub.com%2Fjmchilton%2Fgalaxy-workflow-dockstore-example-1%2Fmycoolworkflow/versions/master
┆Issue is synchronized with this Jira Story
┆containerName: GA4GH tool-registry-service
┆Issue Number: TRS-40
The text was updated successfully, but these errors were encountered: