14:01:39 RRSAgent has joined #wot-td 14:01:39 logging to https://www.w3.org/2021/07/28-wot-td-irc 14:01:46 meeting: WoT-WG - TD-TF 14:02:01 present+ Kaz_Ashimura, Michael_McCool, Cristiano_Aguzzi 14:02:13 cris_ has joined #wot-td 14:03:27 mjk has joined #wot-td 14:04:24 present+ Daniel_Peintner, Michael_Koster 14:05:48 sebastian has joined #wot-td 14:06:02 present+ Sebastian_Kaebisch 14:06:15 present+ Ege_Kokan 14:06:51 topic: Agenda 14:07:02 seb: welcome 14:07:16 ... we have a couple of PRs to review 14:07:27 ... then a list of issues 14:07:50 ... in particular we have an issue about initial connection that we need to tackle 14:07:56 ... something else to add? 14:07:59 i/welcome/scribenick: cris_/ 14:08:15 topic: previous minutes 14:08:36 -> https://www.w3.org/2021/07/14-wot-td-minutes.html July-14 14:08:37 ege: please add to the review also previous minutes, last time we couldn't review them 14:08:51 seb: we'll review after this 14:08:56 i|please|-> https://www.w3.org/2021/07/21-wot-td-minutes.html July-21| 14:09:14 present+ Tomoaki_Mizushima 14:09:20 rrsagent, make log public 14:09:25 rrsagent, draft minutes 14:09:25 I have made the request to generate https://www.w3.org/2021/07/28-wot-td-minutes.html kaz 14:09:57 seb: so you talked about precesion 14:10:24 present+ Ben_Francis 14:10:25 ege: yes if you talk about resolution you should use multiple of 14:10:31 rrsagent, draft minutes 14:10:31 I have made the request to generate https://www.w3.org/2021/07/28-wot-td-minutes.html kaz 14:10:56 chair: Sebastian 14:11:04 seb: ok, then you discussed about how to handle security with links 14:11:38 mccool: yes the default for links would be no_sec but now you can add a security term to specify which securityDefinition should be applied 14:12:10 seb: then we have the proxy-to 14:12:32 mccool: yes proxy-to is a reverse proxy statment 14:12:45 ... so it is different from what we currently have 14:12:51 ... we need an explanatory text 14:13:33 seb: you added new badges 14:13:50 mccool: we need to debug badge randering problems 14:14:37 seb: it seems that you closed some issues 14:15:04 ... some were very old 14:16:42 ... why was 1138 closed? 14:16:55 q+ 14:17:24 ege: sometimes some notes are not easy to see, why ed notes are not included in the final version 14:17:52 q- 14:17:57 kaz: if needed we can include editor's note but we have to define a good policy when publishing 14:19:12 Ege: FYI there are two types of notes in ReSpec. ednote (https://respec.org/docs/#ednote) and note (https://respec.org/docs/#note). Maybe the latter is OK? 14:20:21 seb: minutes approved 14:20:39 ... now 14 July minutes 14:21:17 ... we discussed about the modbus binding 14:21:29 ... the outcome was that we merged the PR 14:21:59 ... then we merged subscribeallevents and unsubscribeall 14:22:11 ... it seems there's a problem with title section 14:22:30 ... is it intended ? 14:22:47 kaz: double check the link for the title 14:23:23 ... I see, it is a miss usage of the subtitle feature 14:23:29 seb: it's ok to keep as it is 14:24:54 ... we discussed also about initial connection. we'll review it later 14:25:24 mccool: we should look carefully for URL template for MQTT 14:25:49 ... I proposed one solution that it might not be "standard practice" 14:25:54 s/I see, it is a miss usage of the subtitle feature/maybe there is mis-usage of topic vs subtopic for RRSAgent there. if you want I can fix the style based on your preference./ 14:26:03 seb: is it related to initial connection? 14:26:10 mccool: sort of 14:26:41 ... we also discussed about different terms 14:26:57 seb: ok, any objections to publish the minutes? 14:27:00 ... ok approved 14:27:06 topic: Pull Requests 14:27:42 rrsagent, draft minutes 14:27:42 I have made the request to generate https://www.w3.org/2021/07/28-wot-td-minutes.html kaz 14:27:55 subtopic: PR 1155 14:28:19 mccool: it is realted to testing repo. it updates the implementation report 14:30:46 seb: if we update the file we'll lose the link in the 1.0 spec 14:31:04 mccool: yeah we should have a dedicated link 14:31:07 q+ 14:31:42 present+ Ryuichi_Matsukura 14:32:01 mccool: pointing to github is problematic cause it is a moving target 14:32:12 ... we can use a different name 14:32:21 ... with the version appended 14:32:37 kaz: yes, I would suggest doing so 14:33:10 s/doing so/creating a subdirectoy for v1.1 or something like that./ 14:33:12 mccool: I'll leave the old report in place and use this new notation 14:33:57 s/like that./like that. We've been doing so to handle the static HTML for publication./ 14:35:35 subtopic: 1167 14:35:52 seb: status not clear, we need Victor's guidance 14:36:23 mccool: it also relates to canonicalization and preserving names 14:37:05 ... for directories we decided to return raw RDF not TDs 14:37:37 q? 14:37:44 q- 14:38:26 ... by relaxing that requirement we'll make our life easier 14:39:09 subtopic: PR 1175 14:39:18 seb: a simple typo fix 14:39:47 ... but the problem is that the author is not a w3c wot member 14:40:05 ... we can decide to merge it anyway 14:40:22 mccool: is he a invited expert candidate? 14:40:38 seb: he was a student but it also work under industry 14:41:15 mccool: if we merge the PR we need verbal commitment of IPR 14:41:45 kaz: is it an editoral change? 14:41:49 seb: yes 14:42:02 mccool: ah ok than we can accept this PR 14:42:08 s/than/then/ 14:42:38 mccool: by the way this issue remind me to create another one about metadata in id 14:43:02 ... it might be a security problem 14:43:10 ... so we need to add a note 14:43:32 i|a simple typo|-> https://github.com/w3c/wot-thing-description/pull/1175 PR 1175 - fix: replace "name" with "title" in TM example| 14:43:42 ege: ok be careful that we have an RFC describing how id should be 14:44:08 i|status not clear|-> https://github.com/w3c/wot-thing-description/pull/1167 PR 1167 - fix: fix RDF triples example from Thing description json-ld 1.1| 14:44:09 mccool: it would be better to encode opaque numbers 14:44:36 seb: ok back to the PR, is it ok to merge? 14:45:24 subtopic: PR 1197 14:45:47 seb: basic term was missing 14:46:07 ... any comments? 14:46:42 ... merged 14:46:57 subtopic: Opaque ids 14:46:59 https://github.com/w3c/wot-thing-description/issues/1203 14:47:34 subtopic: Pr 1198 14:47:44 seb: it addresses two issues 14:48:40 i|addresses|-> https://github.com/w3c/wot-thing-description/pull/1198 PR 1198 - Defaults fix| 14:48:44 ... we used to have only default values for read/write properties 14:49:01 ... the pr tackles also observeproperty 14:49:33 seb: then it resolves the issue with the content-type in additional responses 14:49:56 ege: yes I added a sentence 14:50:20 ... if content-type is missing its value it is the same of the form element 14:50:25 seb:ok 14:50:33 ... any other comments? 14:50:54 ... merged 14:51:02 subtopic: 1201 14:51:38 i|basic term|-> https://github.com/w3c/wot-thing-description/pull/1197 PR 1197 - fix example 37 and its canonical form| 14:52:06 -> https://github.com/w3c/wot-thing-description/pull/1201 PR 1201 - Security reorder 14:52:17 ege: the main problem was the secuirity example was miss ordered. Now the new order is from "easy" to "hard" 14:52:39 ... I used small paragraph 14:52:52 seb: are they visible inside the Table of Content 14:52:54 ege: no 14:53:00 seb: ok but they are nice 14:53:40 ege: I also added a paragraph is it ok ? 14:53:55 mccool: yeah it is fine, but I'd like to review the whole paragraph 14:54:04 ... maybe I can do fix ups later 14:55:55 ... let's keep open and add me as a reviewer 14:56:23 ... if you don't hear from me just merge it next week 14:56:52 topic: issues 14:57:08 subtopic: Issue 1200 14:57:42 ben: in webthing gateway we have top level links (forms) for actions events and properties 14:57:56 ... currently we can describe events and properties 14:58:21 ... we are now just lacking operation types for actions 14:58:57 ... they are not really used to much especially queryanyaction 14:59:07 dape has joined #wot-td 14:59:15 q+ 14:59:15 ... if we don't add this we'll removed top level endpoint 14:59:32 seb: it makes sense to have queryallactions 14:59:47 ... but what do you mean with invokeanyaction 15:00:29 ben: in webthings gateway you can send a GET request to get a list of pending actions 15:00:43 ... and POST to the same endpoint to invoke any of the action 15:00:45 q? 15:00:45 q? 15:00:47 q+ 15:00:57 q+ 15:00:57 q+ 15:01:22 dape: which the difference between invokeanyaction or invokeallactions? 15:01:46 ben: in the gateway you don't invoke all the action with one request 15:02:06 ege: it is similar to multiplewriteproperties 15:02:18 ben: it is not that either cause you can just invoke one 15:02:41 ege: we have also to define a payload format 15:02:49 s/also/also need/ 15:02:51 ack dape 15:03:21 mccool: when you say queryallactions you are quering all the status of the action list? 15:03:28 ben: yes 15:03:36 mccool: so it is just convience 15:04:09 ... but it might be important to have queryallaction for resilience 15:05:06 https://github.com/w3c/wot-thing-description/issues/1200#issuecomment-886554225 15:05:23 ben: you can get induvial instance of an action 15:06:11 ... but you can also get the status of all the pending request on a particular action endpoint 15:06:25 ack Ege 15:06:29 seb: should be all of them mandatory? 15:06:38 ben: just the first 15:07:02 ege: they might be critical for applications coordination 15:08:13 https://github.com/w3c/wot-thing-description/issues/302 15:08:25 cris: this issue is really related to having also a definition for queryaction 15:08:35 ben: see link above 15:09:23 s|https://github.com/w3c/wot-thing-description/issues/1200#issuecomment-886554225|-> https://github.com/w3c/wot-thing-description/issues/1200#issuecomment-886554225 Ben's description on 3 possible use cases for querying an action| 15:09:35 cris: yeah exactly I see that issue as a blocker 15:09:39 ben: I agree 15:10:20 ... so if we are going to add this new operations should we also add queryallaction operation? 15:10:22 ege: yes 15:10:27 cris: +1 15:10:43 seb: is there any security concerns? 15:11:00 mccool: yeah it shoulb be access control 15:11:09 s/shoulb/should 15:11:13 s/shoulb/should/ 15:11:17 q? 15:11:18 ... we need to express this 15:11:31 ack m 15:11:48 q+ 15:12:02 kaz: Am ok with this new feature, but I'd be happy to see more use cases or scenarios 15:12:28 ack k 15:12:35 ack m 15:12:55 q+ 15:13:07 seb: do we want this query all action operation type? 15:13:19 ... still have doubts about invokeanyaction 15:13:30 mccool: any feel like a rando action 15:13:37 s/rando/random/ 15:14:16 s/kaz: Am ok with this new feature, but I'd be happy to see more use cases or scenarios/I'm OK with adding two new features if we really need. So I'd like to see some more description about the three proposed use cases, e.g., with concrete TDs and use case scenarios./ 15:14:26 s/I'm OK/kaz: I'm OK/ 15:14:32 rrsagent, draft minutes 15:14:32 I have made the request to generate https://www.w3.org/2021/07/28-wot-td-minutes.html kaz 15:14:38 q+ 15:15:32 cris: it seems that it a construct to map a protocol level construct 15:15:37 ben: correct 15:16:14 mccool: maybe we can model that with other td features 15:16:37 mk: is it really just invoke action by name? 15:16:47 seb: multiple actions? 15:16:56 mk: no one of the time? 15:17:03 s/?// 15:17:15 seb: what about the payload structure? 15:17:33 ... does it solve the grouping problem in the echonet? 15:17:41 invokeaction - POST /actions/fade {"level": 100, "duration": 10} 15:17:42 invokeanyaction - POST /actions {"fade": {{"level": 100, "duration": 10}} 15:18:05 q+ 15:18:54 invokemultipleactions - POST /actions {"fade": {{"level": 100, "duration": 10}, "reboot": {}} 15:18:58 kaz: regarding the group of actions, we are discussing about it with them. They can work on this feature for the tpac 15:19:03 ack m 15:19:06 q+ 15:19:45 ack k 15:19:45 (ps I like the "invokemultipleactions" idea, covers one, as well. But it does seem a little specialized.) 15:20:05 ben: I posted different examples above 15:20:29 @@@ three lines of example code here 15:21:02 q+ 15:21:07 ack b 15:21:56 seb: ok better but still can't really get the anyaction case 15:22:19 ... I am open to support those operation types 15:22:20 q- 15:22:31 q+ 15:22:59 q+ 15:23:04 ege: not super sure about invokeanyaction 15:23:24 mccool: how do I describe the payload? 15:24:09 cris: the same problem with writemultiple 15:24:24 mccool: maybe it is a profile issue 15:25:08 cris: it could be, but I support having this in the TD 15:25:46 mccool: we already put data schema in additionalResponses 15:25:59 ... so maybe we can do the same in root level forms 15:26:17 q+ 15:26:23 ack c 15:26:53 mk: having tags in the dataschemas could help 15:27:17 mccool: we need a wrapper schema that refers to each schemas 15:27:24 ... it is tricky 15:27:59 ege: don't we agreed to having it always as an object 15:28:27 mccool: it is convenient to describe alternative formats 15:28:29 mk: agree 15:29:25 seb: what happen with ordering in invokemultipleactions? which one should be executed first 15:29:30 ... ? 15:29:41 s/don't we agreed/didn't we agree/ 15:29:52 s/having it/have it/ 15:30:18 seb: it seems that we agree on the the direction 15:30:24 q+ 15:30:38 ... we still have a couple of issues to resolve. 15:30:51 s/the the/the/ 15:30:53 ben: I think we should first resolve queryaction first 15:32:52 seb: introducing invokeanyaction is reduntant if we add invokemultipleactions 15:33:00 cris: true 15:33:18 kaz: I think examples would be beneficial 15:34:04 ege: going back to echonet problem, I don't think this would solve it 15:34:28 kaz: yes we need to think that as a separated problem 15:34:50 mccool: for now we can define the op and defer the payload description to protocol binding topic 15:35:06 q+ 15:35:13 q- 15:35:26 ben: do we have time for queryaction? 15:35:51 seb: maybe can you provide a PR about it 15:35:55 ... ? 15:36:14 s/yes we need to think that as a separated problem./right. we need to handle ECHONET's action grouping capability as a separate problem. 15:36:17 https://github.com/w3c/wot-thing-description/issues/302#issuecomment-884867648 15:36:23 ben: I provided a TD describing an action queue, it would be better to have a feedback on that first 15:36:34 mccool: I agree 15:36:49 ... I support in general having queryaction operation 15:37:42 ... it's not whether we need it (we do, for recovery of crashed consumers, for example) but how we do it 15:37:46 s/I think examples would be beneficial/As I already mentioned, I'm OK with adding these features, but still would like to have more detailed description on the use cases with concrete example codes, e.g., some LED(s) invoked and queried how./ 15:38:16 dape: invokeanyaction is a shortcut to call a dedicated action, but invokemultiple open a totally different scenario 15:38:23 ... how we handle multiple results? 15:38:30 s/we/do we/ 15:38:53 mccool: how the response will look like 15:39:16 ben: yeah this again goes on the support the fact that we need tackle first how to query an action status 15:40:12 seb: ok let's follow up in the issue 15:40:44 ... daniel is correct in regards to multipleinvoke 15:41:27 subtopic: issue 878 15:41:41 seb: also here we discussed about a new operation type the open 15:42:15 ack dape 15:42:29 ... ben provided an example on top-level connection forms 15:43:18 ben: yes I tried to described two scenarios, one of which it more verbose 15:43:45 ... this problem is similar to mqtt, but I want to understand how much 15:44:05 i|also here|-> https://github.com/w3c/wot-thing-description/issues/878 Issue 878 - Describing initial connection| 15:44:07 seb: in mqtt it is more important to have a base and then a specific topic in the different affordances 15:44:56 ege: for me the main difference is operational 15:45:25 ... with normal enpoints I just look after operations inside the forms array 15:45:58 ... with this top-level endpoint it breaks a little bit the desing 15:46:28 ben: so far we don't really specified how to use forms in interactions 15:46:46 ege: I support top-level form 15:46:55 q+ 15:47:27 q? 15:47:31 ack m 15:49:35 q+ 15:50:39 (never mind, should defer to ben here) 15:51:05 (but I do think we need a place to put the initial "connect" URL for websockets, MQTT brokers, etc) 15:51:15 (and I also think this should be a form) 15:51:40 q- 15:51:49 ack c 15:52:03 + 15:52:22 mccool: connect is an affordance 15:52:26 q? 15:52:31 s/+// 15:52:32 ege: is not a capability of a device 15:52:39 q+ McCool 15:53:01 mccool: links are more about relations 15:53:09 ... so I support having connection as a form 15:53:49 seb: how about define exception for forms when websocket is used 15:53:52 ... ? 15:55:01 ben: it seems a reasonable workaround for 1.1 15:55:42 ege: how does it look like when used with other subprotocols? 15:55:58 ben: the consumer has to support the subpotrocol 15:56:22 seb: it is open to the user 15:56:55 ben: there's going to have just a single ws enpoint too 15:57:17 mccool: we can define exceptions for every protocol with any websocket 15:57:45 ... I'd like to have an url as subprotocol 15:58:36 cris: can you clarify this new rule? 15:59:18 mccool: interactions will not have forms if websocket top-level form is present 15:59:59 (btw: time check. Now at the end point) 16:00:04 ege: readonly, writeonly and observable is a hint 16:01:04 s/is a hint/are just hints within the current spec./ 16:01:27 ... but now if we don't have forms they became operational relavant 16:01:55 cris: btw the new rule is also about breaking backward compatibility just for web sockets 16:02:10 ben: I think it is fine cause we don't really have implementations about it 16:02:14 ege: true 16:02:17 cris: agree 16:03:43 mk: using the idea of wrapper schemas at the top-level would help maybe here 16:04:35 ege: how to handle mixed information in forms and in the root level 16:04:45 ben: you can treat them as another form 16:05:19 adjurned 16:05:31 rrsagent, draft minutes 16:05:31 I have made the request to generate https://www.w3.org/2021/07/28-wot-td-minutes.html kaz 18:21:55 Zakim has left #wot-td