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

[Editors] Document structure and content of all the WoT specs #996

Open
ashimura opened this issue Oct 20, 2021 · 2 comments
Open

[Editors] Document structure and content of all the WoT specs #996

ashimura opened this issue Oct 20, 2021 · 2 comments

Comments

@ashimura
Copy link
Contributor

ashimura commented Oct 20, 2021

We have the following spec documents for WoT:

We need to make sure (1) all those spec documents have enough description for each spec and also (2) there is no conflicts/duplication among them.

As the starting point, I'd suggest we start with the following two steps:

and then see the relationship among the other documents as the Step 3.

For example, the Web of Things (WoT) Architecture 1.1 document has Setion 9. WoT Building Blocks which includes description on all the building blocks and we should see what kind/level of description should stay there or rather should be moved to the other spec document.

The Web of Things (WoT) Profile document also has Section 5.2 Protocol Binding and we should see which part of the description should stay there or rather should be moved to the Web of Things (WoT) Binding Templates document.

Note that this issue is the central hub for this discussion and we should create dedicated smaller issue for each narrow actual problem.

@benfrancis
Copy link
Member

benfrancis commented Nov 2, 2021

The Web of Things (WoT) Profile document also has Section 5.2 Protocol Binding and we should see which part of the description should stay there or rather should be moved to the Web of Things (WoT) Binding Templates document.

I think it's important to distinguish here between:

  1. A "protocol binding template" which provides the semantics for describing a particular protocol (e.g. htv:methodName, htv:headers, htv:fieldName, htv:fieldValue) in a Thing Description
  2. A "protocol binding" which maps WoT operations (e.g. writeproperty) onto concrete messages in a particular protocol, e.g.
PUT /things/lamp/properties/on HTTP/1.1
Host: mythingserver.com
Content-Type: application/json
true

Currently there is duplication of the latter for HTTP in three places:

  1. WoT Thing Description - 8.3.1 Protocol Binding based on HTTP
  2. WoT Binding Templates - 2.2 HTTP Default Vocabulary Terms
  3. WoT Profile - 5.2 Protocol Binding

Providing a protocol binding for HTTP is one of the core requirements of the WoT Profile specification so it should definitely stay there.

I think there's possibly an argument for keeping a simple set of defaults for HTTP for consumers that don't implement the full Core Profile, but if that exists it should either be in the Thing Description specification or the WoT Binding Templates specification, not both. Both sections could also be removed and superseded by the Core Profile.

Edit: I have filed w3c/wot-thing-description#1259 and w3c/wot-binding-templates#135

@benfrancis
Copy link
Member

Something else I think should be fixed is moving the table of operation names from WoT Architecture to WoT Thing Description. I have filed w3c/wot-architecture#623 for this.

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

No branches or pull requests

3 participants