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

operations are claimed to be extendable #619

Closed
egekorkan opened this issue Oct 26, 2021 · 3 comments · Fixed by #767
Closed

operations are claimed to be extendable #619

egekorkan opened this issue Oct 26, 2021 · 3 comments · Fixed by #767

Comments

@egekorkan
Copy link
Contributor

There is a very wrong claim in this specification:

The set of predefined operation types MAY be augmented by Extension operation types chosen by applications. Extension operation types MUST be URIs [RFC3986] that uniquely identify the type.

This is completely wrong from the TD spec point of view. Operations are predefined and cannot be extended. Even if they were to be extended, how can a consumer understand what to do with them?

@egekorkan
Copy link
Contributor Author

Sadly this was already published in the 1.0 version. We need a better review of the entire specification.

@mlagally
Copy link
Contributor

mlagally commented Oct 27, 2021

We have to discuss why the TD does not permit this requirement. If I remember correctly, this requirement was introduced by @mkovatsc into the 1.0 specification.
Why should an implementer of a thing and consumer not be permitted to define additional operations if he defines both sides of the contract?

@egekorkan
Copy link
Contributor Author

Why should an implementer of a thing and consumer not be permitted to define additional operations if he defines both sides of the contract?

Simply because we cannot have the assumption that a Thing is coupled to a Consumer, i.e. defining both sides of the contract. An application logic is based on the op values, they are not simple semantic annotations.

In any case, there is a clear contradiction between the two specifications. See the following on the TD spec (below the first table of https://www.w3.org/TR/wot-thing-description/#form) :

The list of possible operation types of a form is fixed. As of this version of the specification, it only includes the well-known types necessary to implement the WoT interaction model described in [WOT-ARCHITECTURE]. Future versions of the standard may extend this list but operations types SHOULD NOT be arbitrarily set by servients.

Also the table at the same link has the following for the values of the op:

string or Array of string (one of readproperty, writeproperty, observeproperty, unobserveproperty, invokeaction, subscribeevent, unsubscribeevent, readallproperties, writeallproperties, readmultipleproperties, or writemultipleproperties)

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

Successfully merging a pull request may close this issue.

2 participants