- From: Kazuyuki Ashimura <ashimura@w3.org>
- Date: Mon, 12 Jul 2021 17:30:45 +0900
- To: public-wot-wg@w3.org
available at:
https://www.w3.org/2021/05/27-wot-arch-minutes.html
also as text below.
Thanks,
Kazuyuki
---
[1]W3C
[1] https://www.w3.org/
¡V DRAFT ¡V
Wot Architecture
27 May 2021
[2]Agenda. [3]IRC log.
[2] https://www.w3.org/WoT/IG/wiki/WG_WoT_Architecture_WebConf#May_27th.2C_2021
[3] https://www.w3.org/2021/05/27-wot-arch-irc
Attendees
Present
Kaz_Ashimura, Michael_Lagally, Michael_McCool,
Sebastian_Kaebisch, Tomoaki_Mizushima
Regrets
-
Chair
Lagally
Scribe
kaz
Contents
1. [4]Agenda
2. [5]Minutes
3. [6]PR 588
4. [7]WoT Profile PR 77
5. [8]Profile issues
1. [9]Issue 76
6. [10]AOB?
Meeting minutes
Agenda
Lagally: (goes through the agenda)
[11]Agenda
[11] https://www.w3.org/WoT/IG/wiki/WG_WoT_Architecture_WebConf#May_27th.2C_2021
Minutes
[12]May-20
[12] https://www.w3.org/2021/05/20-wot-arch-minutes.html
Lagally: (goes through the minutes)
<McCool> kaz, you are breaking up
(Kaz fixed the style of Lagally's mentioned three actions
(McCool, Ben and Daniel))
(minutes approved)
PR 588
[13]PR 588 - Add Discovery refs, dfn, and section
[13] https://github.com/w3c/wot-architecture/pull/588
McCool: need clear use cases
¡K if we have strong need, we can do it
¡K depending on fixed UR, etc.
¡K need clarification
¡K need to probably talk with the Eclipse Volto guys as well
¡K the problem is that we are now holding reorganizing
discussion
Lagally: we can extend the feature later
¡K Sebastian, would you assume Thing Directory to store Thing
Model?
Sebastian: it's possible
McCool: yeah, it's technically possible
¡K Thing Model is also a JSON-based file
[14]8.4 Discovery within the diff
[14] https://pr-preview.s3.amazonaws.com/w3c/wot-architecture/588/cdb883d...mmccool:31bf57b.html#discovery
Lagally: (goes through the diff)
McCool: the 2-phase approach should be not part of the
architecture but rather part of the concept
¡K note that it's hard to change for embedded cases
¡K we should not broadcast the detail of the device information
Lagally: ok
¡K the language here looks fine to me
¡K just wondering about this reference to "SOLID"
¡K what does this link specifically help our spec?
McCool: it's part of the W3C activity (as a CG)
¡K related to managing access control
¡K where does the security key come from?
¡K how to manage the key?
¡K SOLID provide insight for that
¡K even the WoT security need another best practice
documentation
¡K also informative
¡K WoT security guideline itself is also informative
¡K make sense to include the links to those documents
¡K should show what the best practices are
Lagally: reference to the CG report by the Solid CG
[15]Solid Technical Reports
[15] https://solidproject.org/TR/
(The "Solid Technical Reports" is a list of documents related
to the Solid project.)
Kaz: think we should consult with PLH and Ralph about how to
deal with these resources
Lagally: ok
¡K McCool, could you generate yet another PR to cite the actual
Editor's Draft documents for Solid resources?
McCool: will do
Lagally: any other comments?
(none)
Lagally: so would suggest we merge this PR itself, and McCool
will create another PR for the detail
Kaz: note that we should talk with PLH and Ralph about how to
cite the information before our CR transition :)
WoT Profile PR 77
[16]PR 77 - New Protocol Binding section
[16] https://github.com/w3c/wot-profile/pull/77
<mlagally> [17]https://pr-preview.s3.amazonaws.com/benfrancis/
wot-profile/pull/77.html#actions
[17] https://pr-preview.s3.amazonaws.com/benfrancis/wot-profile/pull/77.html#actions
Lagally: checked the Oracle's error codes as well
McCool: there was error code definition within TD spec as well
<mlagally> [18]Oracle Cloud's error code
[18] https://docs.oracle.com/en/cloud/paas/iot-cloud/iotrq/StatusCodes.html
Lagally: need to check it
McCool: we need a short summary of the error range as well
¡K e.g., 20X, 40X, ...
¡K list of the error codes
<McCool> summary: 200-202, 204, 400-401, 403-406, 408-409, 415,
500, 503
McCool: range of the error codes above
Lagally: ok
McCool: we could allow 402 for a profile
¡K additional code to be added
Lagally: would like to point out a couple of possible
additional ones
¡K (refers to RFC7231)
[19]RFC7231
[19] https://datatracker.ietf.org/doc/html/rfc7231
Lagally: e.g., 408 timeout errors
¡K 414 URI Too Long
McCool: we made payload maximum limit
¡K profile is about limitation for consumer
Lagally: there are a couple of server errors as well (on
RFC7231)
¡K e.g., 504 Gateway Timeout
¡K let's come back to "413 Payload Too Large"
¡K what kind of payload can be put?
McCool: several use cases about large payload
¡K depends on the sensors
¡K we have device A and B to be connected with each other
¡K can accept the payload though it might be unexpected from the
receiver's viewpoint
¡K directory has a pagination issue to chunk the payload
Lagally: we have maximum limitation for the payload
McCool: this is about uploading
¡K for downloads we could maximize the chunks
¡K TD should document what is allowed maybe using data schema
¡K setting a limit for upload would not be appropriate
Lagally: we should consider this kind of error "413 Payload Too
Large" to make sure
McCool: yeah
Sebastian: have the power to tell what he can/can't expect
¡K uploading payload on the producer side would be a good use
case
¡K nice way to communicate with the HTTP payload not feasible
for the producer
¡K might be problematic
Lagally: how to tell it?
¡K where the attempt to be done?
Sebastian: how to know the maximum size?
McCool: how big is the data, e.g., an image?
Kaz: if needed, maybe we could add an additional interface to
tell the maximum size before sending the actual payload (like
the W3C API)
McCool: adding a field to specify the maximum size?
¡K possible proposal
Sebastian: any existing specs?
McCool: Kaz mentioned an example
Lagally: let's ask the TD TF for opinions
¡K (creates a new issue for wot-thing-description)
McCool: btw, any resource about the W3C API?
Kaz: not a REC but there is a document
[20]W3C API Overview
[20] https://w3c.github.io/w3c-api/
[21]wot-thing-description Issue 1153 - max length payload
metdata information
[21] https://github.com/w3c/wot-thing-description/issues/1153
McCool: basically the spec should know about the spec
(including the error codes)
¡K server decides if the request is to be rejected
¡K the same issue with "413 Payload Too Large"
¡K the question is how the client can tell
¡K maybe the right answer here is specifying some specific
maximum
Lagally: (adds comments to Issue 1153)
[22]updated issue 1153
[22] https://github.com/w3c/wot-thing-description/issues/1153#issue-903889991
McCool: for "413 Payload Too Large", maybe could send a
lower-resolution image, etc.
Lagally: for easier implementation, no retry and just return a
fatal error
(RFC7231 mentions "If the condition is temporary, the server
SHOULD generate a Retry-After header field to indicate that it
is temporary and after what time the client MAY try again.)
McCool: some succeed and some don't
Lagally: so the implementations potentially gets more
complicated...
McCool: the decision to be made by the implementers
Lagally: the bottom line is permitting all of the error codes
defined by RFC7231?
McCool: "unauthorized" within 403
Lagally: there is an overview of the status codes
[23]6.1. Overview of Status Codes
[23] https://datatracker.ietf.org/doc/html/rfc7231#section-6.1
Lagally: 426 is interesting
[24]6.5.15. 426 Upgrade Required
[24] https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.15
McCool: we can't force upgrade...
Lagally: we should explain why we don't accept upgrades
McCool: maybe we should avoid the other undefined error codes
¡K ah, "5xx" just means a category for 500, etc.
Lagally: (shows the section "5.2.4 Error Responses" from the
preview of PR 77 again)
[25]5.2.4 Error Responses
[25] https://pr-preview.s3.amazonaws.com/benfrancis/wot-profile/pull/77.html#error-responses
Lagally: on "5.2.3 Events", we have an Editor's Note
EDITOR'S NOTE
Other operations under consideration include subscribeevent,
unsubscribeevent, subscribeallevents, unsubscribeallevents,
readpastevents and readallpastevents.
subscribeevent, unsubscribeevent, subscribeallevents and
unsubscribeallevents would require consensus on a default event
subscription mechanism for HTTP (e.g. Server Sent Events or
WebSockets).
subscribeallevents and unsubscribeallevents do not yet exist in
the WoT Thing Description specification (see #1082 ).
readpastevents and readallpastevents do not yet exist in the
WoT Thing Description specification (see #892 ).
]]
McCool: when do you want to create a canonical TD?
¡K we have a named object
¡K one possible solution might replicating the data
¡K all the places
¡K but when to do signing?
¡K what if we require canonical TD on the wire?
Lagally: (shows "5.2.2.1 invokeaction")
[26]5.2.2.1 invokeaction
[26] https://pr-preview.s3.amazonaws.com/benfrancis/wot-profile/pull/77.html#invokeaction
The URL of an Action resource to be used when invoking an
action MUST be obtained from a Canonical TD by locating a Form
inside the corresponding ActionAffordance for which the value
of its op member is invokeaction and the URI scheme [RFC3986]
of the value of its href member is http or https.
]]
Lagally: still missing how to handle Actions
¡K let's have a quick look at the changes
[27]Changes
[27] https://github.com/w3c/wot-profile/pull/77/files
McCool: still wondering about how to handle the canonical TD
Lagally: let's create an issue then
¡K and merge the PR itself
¡K any concerns?
(none)
Lagally: (adds some comments before merging it)
<McCool> and to clarify my comments above, recent work on
canonical TDs might end up making them quite verbose and
inappropriate to force people to use "on the wire". So we
should at least discuss this.
[28]McCool's comments
[28] https://github.com/w3c/wot-profile/pull/77#issuecomment-849734965
Lagally: (merges PR 77)
Profile issues
Lagally: (goes through the remaining issues)
Issue 76
[29]Issue 76 - Markup of normative requirements (RFC 2119)
[29] https://github.com/w3c/wot-profile/issues/76
McCool: can go through the spec for this
¡K related to the tooling for the Testfest
Lagally: wondering about if Mizushima-san also could help
McCool: one the questions is what markup to be used
¡K which version of the markup?
¡K need to add <span> tags
¡K <span class="rfc2119-assertion">...</span>
Lagally: (adds some comments to the issue)
<McCool> example from the TD spec:<span
class="rfc2119-assertion" id="td-security-activation"> The
value assigned to <code>security</code> in an instance of
<a>Class</a> <code>Thing</code> MUST be serialized as JSON
string or as JSON array whose elements are JSON strings.</span>
[30]Lagally's comment
[30] https://github.com/w3c/wot-profile/issues/76#issuecomment-849741054
Lagally: Mizushima-san, can you help?
Kaz: what is expected here is adding "<span
class="rfc2119-assertion"> tag to the sentences which include
the RFC2119 keywords, MUST, SHOULD and MAY
¡K maybe can do that by a script, though :)
¡K the question is what kind of ID to be used for each sentence
McCool: any kind of ID is OK (if it's unique)
<McCool> (I wanted to comment but it seems my audio is messed
up - it's my turn, I guess)
Lagally: let's look at the WoT Profile Editor's Draft itself
<McCool> (anyway, I think it is easiest to do this by hand. In
theory you could use a script BUT the whole point of the markup
is to make it easier for a script to extract these things ;)
[31]WoT Profile ED
[31] https://w3c.github.io/wot-profile/
McCool: btw, regarding the tables, we can simply say "what is
described by the following table MUST be done" or something
like that
<McCool> another example for tables:<tr
class="rfc2119-table-assertion"
id="td-vocab-security--Form"><td><code>security</code></td><td>
Set of security definition names, chosen from those defined in
<code>securityDefinitions</code>. These must all be satisfied
for access to resources.</td><td>optional</td><td><a
href="[32]http://www.w3.org/TR/2012/
REC-xmlschema11-2-20120405/#string"><code>string</code></a> or
<[CUT]
[32] http://www.w3.org/TR/2012/REC-xmlschema11-2-20120405/#string
Lagally: so my question now to Mizushima-san :)
¡K do you think you can help?
McCool: would suggest we start with the sentences
¡K and work on tables later
Lagally: can work together
Mizushima: ok
Kaz: will see if I can generate a simple script to help that :)
¡K and let you know about the result by Monday
Lagally: ok
[33]Lagally's comments to Issue 76
[33] https://github.com/w3c/wot-profile/issues/76#issuecomment-849741054
AOB?
Lagally: any other business for today?
Sebastian: wondering about the time schedule
McCool: the other issue is that our Testfest is coming shortly
Lagally: why don't we have an Editor's call?
McCool: can have discussion during the Chairs call next
Wednesday on June 2
Lagally: ok
¡K can join the Chairs call in 2 weeks though can't make it next
week
McCool: should I chair the call next Thursday?
Lagally: let's cancel the call next Thursday
Sebastian: on the other hand, would be appreciated if you
(McCool) could moderate the TD call next Wednesday, June 2
McCool: can do
Sebastian: tx!
[adjourned]
Minutes manually created (not a transcript), formatted by
[34]scribe.perl version 136 (Thu May 27 13:50:24 2021 UTC).
[34] https://w3c.github.io/scribe2/scribedoc.html
Received on Monday, 12 July 2021 08:30:51 UTC