Skip to content
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

access protocole key names in vor #10

Open
BaptisteCecconi opened this issue May 28, 2020 · 5 comments
Open

access protocole key names in vor #10

BaptisteCecconi opened this issue May 28, 2020 · 5 comments

Comments

@BaptisteCecconi
Copy link
Collaborator

Is there a reason to have an acc- prefix to all <key> elements in the VOEvent.vor document ? If there is a semantic meaning, it should be in an attribute, not in the name.

@BaptisteCecconi
Copy link
Collaborator Author

@msdemlei:
The new WD version is including a predefined list of protocole with acc- prefix, for VTP, XMPP and Kafka. An extra acc-proprietary one is defined for any other cases. As discussed offline with @Zarquan, this solution doesn't allow to easily add a new term when needed, and possibly adopted later.

I propose to allow an x-acc- prefix, for transport methods not yet available in the controlled vocabulary. This kind of practice is commonly used for experimental protocoles (and is actually in use in the current resrec-sample.vor example, with the x-vtp:// URL).

@msdemlei
Copy link
Contributor

msdemlei commented Nov 10, 2020 via email

@Zarquan
Copy link
Member

Zarquan commented Nov 12, 2020

Part of this discussion came from my mis-interpretation of the standardID attribute.

The name of the standardID attribute, along with the acc-proprietary catch-all term in the vocabulary implies that the voe:StreamEndpoint@standardID attribute must be a reference to a term in the standard vocabulary.

I think that offering the acc-proprietary catch-all term will have the same issues as the x-something mime type. We will end up with lots of acc-proprietary entries and no one would register new protocols.

I also think that the text requiring a "consensus between the chairs of the IVOA DAL and Time Domain Working groups" to add new terms, while technically correct, will put people off.

However .. re-reading the proposed XML schema, I notice that the standardID attribute is listed as anyURI, which means that people can add in their own URIs for new protocols.

I suggest we change the description for the voe:StreamEndpoint@standardID to something more like the text describing the protocol identifiers in the VOSpace specification.

Start by saying it can be anyURI, then suggesting that they use a registry URI, and then follow that with a list of the existing standard protocols URIs already in the registry.

The current VOSpace schema defines Protocol identifiers as anyURI. The only restriction is that it SHALL be a valid (unique) URI.
A Protocol URI can be a simple URN, e.g., urn:my-protocol
This may be sufficient for testing and development on a private system, but it is not scalable for use on a public service.
For a production system, any new Protocols SHOULD have unique URIs that can be resolved into to a description of the Protocol.
Ideally, these should be IVO registry URIs that point to a description registered in the IVO registry:
ivo://my-registry/vospace/protocols#my-protocol
Using an IVO registry URI to identify Protocols has two main advantages:
IVO registry URIs are by their nature unique, which makes it easy to ensure that different teams do not accidentally use the same URI
If the IVO registry URI points to a description registered in the IVO registry, this provides a mechanism to discover how to use the Protocol

This has the same effect, in most cases the standardID attribute will be a URI that points to the list in the vocabulary, but it makes it clear that if people are using a new protocol they can start with anyRI and register it later. This lowers the barrier to registering new protocols and encourages people tell us more about their service.

@Zarquan
Copy link
Member

Zarquan commented Nov 12, 2020

TL;DR;

  • Drop the acc-proprietary term from the vocabulary.
  • Change to text to require anyURI and then recommend using the standard vocabulary where possible.
  • Similar to the text for VOSpace protocol identifiers.

@msdemlei
Copy link
Contributor

msdemlei commented Nov 12, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants