w3c / wot-profile

Web of Things (WoT) Profile
http://w3c.github.io/wot-profile/
Other
16 stars 8 forks source link

Contradiction with the Arch spec on protocol bindings #299

Open egekorkan opened 2 years ago

egekorkan commented 2 years ago

There is the following assertion in the arch spec at https://w3c.github.io/wot-architecture/#hypermedia-driven :

Protocol Bindings MUST be serialized as hypermedia controls to be self-descriptive on how to activate the Interaction Affordance.

However, the profiles contradict this assertion since they define a protocol binding inside the specification and this is referred to only by the profile term in the top level, and thus out of the hypermedia controls.

benfrancis commented 2 years ago

See also: https://github.com/w3c/wot-thing-description/issues/1674 (WoT TD)

I have filed https://github.com/w3c/wot-architecture/issues/850 (WoT Architecture)

egekorkan commented 1 year ago

If all the TDs look like the ones submitted by @mlagally to testfest, we should be ok: https://github.com/w3c/wot-testing/blob/main/data/input_2022/Profile/TD/Oracle/TDs/BluePump%20WebThing.td.jsonld

However, this requirement should be asserted in the spec

mlagally commented 1 year ago

Profile call on March 3rd: Needs more discussion and a concrete proposal.

Alternatives:

  1. remove normative language from Architecture before REC
  2. Add language to the Profile spec to require "complete forms"

Revisit in Profile call on March 29th

benfrancis commented 1 year ago

Defining the protocol binding declaratively in every Form in addition to specifying it in the profile would negate most of the benefits of using a profile, which allow for much simpler Thing Descriptions by having Consumers assume a wider range of defaults. It's also not possible to describe many aspects of the profile protocol bindings declaratively in forms.

The TD and Architecture specifications should be updated to say that profiles can also define protocol bindings, as I suggested in https://github.com/w3c/wot-thing-description/issues/1674 and https://github.com/w3c/wot-architecture/issues/850, since this is what is currently done.

I hope that we can improve this situation in 2.0 by having the profiling mechanism and binding mechanism work together, see https://github.com/w3c/wot-profile/issues/285#issuecomment-1433087304