11:03:48 RRSAgent has joined #wot 11:03:48 logging to http://www.w3.org/2017/04/10-wot-irc 11:04:04 Zakim, pick a scribe 11:04:04 I don't who is present, jhund 11:04:26 present+ Johannes_Hund 11:04:30 Zakim, pick a scribe 11:04:30 Not knowing who is chairing or who scribed recently, I propose Johannes_Hund 11:05:01 present+ Zoltan_Kis 11:05:19 present+ 11:05:33 kaz has joined #wot 11:05:35 present+ yingying 11:06:06 zakim, pick a scribe 11:06:06 Not knowing who is chairing or who scribed recently, I propose Zoltan_Kis 11:06:44 scribenick: zkis 11:07:12 Meeting: WoT WG - Scripting 11:07:17 jhund: 2 main topics: architecture, WoT runtime, scripts model 11:07:24 jhund: 2 open pull requests 11:07:29 jhund: open issues 11:07:36 present+ Kaz, Dave, Johannes, Kazuaki, Uday, Yingying, Zoltan 11:08:06 https://github.com/w3c/wot-scripting-api/issues/2 11:09:22 * losing voice on WebEx 11:10:57 pullrequest 21 11:14:15 discussion on remote things 11:14:33 vs local things 11:15:05 creating things locally/remotely depends on the things: description 11:16:00 rest interface to expose the things: capability 11:16:39 we'll need some kind of management capability? 11:17:32 need to define protocols 11:17:39 but it:s up to bindings 11:17:55 s/it:s/it's/ 11:18:10 present+ Michele 11:18:33 we don't need to expose scripting API level 11:19:06 concrete protocols depend on underlying implementations 11:19:21 q+ 11:19:53 runtime has multiple event loops? 11:21:09 q? 11:21:40 if we agree it's OK to let multiple scripts in parallel that would be possible 11:22:05 kaz_ has joined #wot 11:23:06 rrsagent, make log public 11:23:12 rrsagent, draft minutes 11:23:12 I have made the request to generate http://www.w3.org/2017/04/10-wot-minutes.html kaz 11:24:02 q? 11:24:06 zkis: who would access which device? 11:24:39 ack d 11:24:47 dsr: I'm using node.js 11:24:56 ... I have an application folder 11:25:25 ... could be done for runtime or initial startup phase 11:25:42 ... modularity with each script 11:25:48 ... with some specific namespace 11:25:54 ... authentication data access 11:26:06 ... our security TF is a bit behind 11:26:59 zkis: what kind of mechanism is implemented in things? 11:27:07 ... what is the use case? 11:27:29 ... modifying existing exposed things, etc.? 11:27:48 jhund: we've implemented what Dave mentioned 11:28:00 ... run on the same event loop 11:28:25 ... however, "Things" could represent devices 11:29:04 zkis: we're doing similar things... 11:29:19 ... but seems a bit different from the Scripting APIs 11:29:42 jhund: you could do the same by adding something to the WoT object 11:29:55 zkis: that's called action 11:30:12 jhund: how to let the runtime run the script? 11:31:41 s|pullrequest 21|-> https://github.com/w3c/wot-scripting-api/pull/21 pull request 21| 11:31:58 i|pull request 21|scribenick: kaz| 11:32:17 jhund: mentions the voting use case 11:32:22 rrsagent, draft minutes 11:32:22 I have made the request to generate http://www.w3.org/2017/04/10-wot-minutes.html kaz 11:32:30 ... running within a specific runtime? 11:32:45 ... or several scripts working together 11:33:21 q+ 11:33:44 zkis: you can add actions 11:33:47 ... and run them later 11:33:54 juhd: how to handle them? 11:34:04 zkis: dictionary for action definitions? 11:34:19 ... serialized by the binding capability 11:34:21 q? 11:34:58 jhund: interesting to consider how multiple voter work together 11:35:10 ... actions from voters 11:35:18 ... vote goes up 11:35:57 zkis: we have to discuss security 11:36:08 dsr: simpler concept would be better 11:37:28 kaz: maybe we could start with a simple example with only 2 voters 11:37:40 jhund: runtime A vs runtime B 11:38:06 ... (shows some example script) 11:38:28 node-wot/blob/master/examples/scripts/counter.js 11:38:59 s|node-wot|https://github.com/thingweb/node-wot/| 11:39:07 s|//|/| 11:39:39 jhund: would put ideas on the "whiteboard" 11:39:47 ... having 2 runtimes 11:39:55 ... red one and blue one 11:40:15 s/red one/red one (A)/ 11:40:22 s/blue one/blue one (B)/ 11:40:26 rrsagent, draft minutes 11:40:26 I have made the request to generate http://www.w3.org/2017/04/10-wot-minutes.html kaz 11:40:45 Chair: Johannes 11:41:41 zkis: sounds like a definition of a "Thing" 11:42:36 ... we're missing one more action 11:42:55 ... "modifying things" capability 11:43:06 s/action/capability/ 11:43:35 ... if you want to use/modify some "Thing", you can add an additional action 11:43:53 dsr: access control between A and B 11:43:58 ... management API 11:44:15 ... so we need some basic management capability 11:44:36 ... how to avoid conflict? 11:45:36 Dave: it sounds like we need a remote management interface to install, start and stop things. This needs the appropriate security model. 11:46:08 q? 11:46:11 q- 11:46:13 q+ 11:46:37 yingying_ has joined #wot 11:46:42 Separately, we need to consider how to resolve conflicts e.g. when several clients have conflicting updates on a thing 11:47:06 jhund: do I have the right for A or does B have the right? 11:47:19 ... when I want to create a new Thing 11:47:31 zkis: you control B's description 11:48:18 ... A can change anything 11:48:27 ... A has to resolve conflicts 11:48:32 ... B is just a runtime 11:48:49 ... A is a temporary thing 11:49:31 ... channels depend on underlying mechanism 11:49:53 q? 11:49:55 q+ 11:50:45 ack kaz 11:52:18 q+ 11:54:41 kaz: (adds "Device" to the right below box, "Servient" to the right above box, and "Browser or Heating" to the left box) 11:54:51 q+ 11:55:02 ack dsr 11:55:25 ... should only the Servient B handle the resource/conflict? 11:55:42 ... or do we want to have a separate/additional resource manager? 11:55:51 zkis: depends on the underlying framework 11:56:17 ack zkis 11:56:50 nimura: Browser A also needs some kind of resource management capability 11:57:07 ... to check security 11:57:11 ack jhund 11:57:11 q? 11:57:24 jhund: clear need for management interface 11:57:59 ... when we create exposed thing 11:58:11 ... whether it's local or remotely accessibly 11:58:55 ... why don't we reuse the mechanism for local servient 11:59:04 ... for remote servient 11:59:54 zkis: right 12:00:06 kaz: what's the difference between "local" and "remote" 12:00:15 s/"/"?/ 12:00:25 ... do we need to think about the difference? 12:00:31 jhund: A is local 12:00:35 ... B is remote 12:00:38 ... in this example 12:01:12 ... we need to think about binding, security questions, ... 12:01:13 q+ can we use resource directory options here? 12:01:39 zkis: can create pull requests 12:02:22 q? 12:02:26 ack davu 12:02:43 uday: can we use resource directory? 12:02:54 ... interface to access 12:03:16 ... A is trying to access B 12:03:31 ... there could be some authentication mechanism 12:03:42 ... e.g., time limited authentication 12:03:50 ... local resource directory 12:04:04 zkis: you mean B can store local directory? 12:04:05 uday: yes 12:04:12 zkis: that's possible 12:04:23 ... but Scripting API itself doesn't care about it 12:04:36 jhund: how to map this using protocol binding? 12:04:50 ... resource directory or TD directory 12:05:11 ... what would be needed from the Scripting API viewpoint? 12:05:45 ... I'd ask Zoltan and others to provide ideas. I'm also happy to contribute 12:06:11 zkis: would update the rational document 12:06:20 ... possible global management capability 12:06:32 ... and how this would be mapped, etc. 12:06:49 jhund: will tidy up the diagram 12:07:46 ... we identified two issues today 12:07:51 davu has joined #wot 12:08:07 ... let's switch over to pull requests 12:08:50 zkis: let's take your pull request first 12:09:29 topic: Issue 18 12:09:44 -> https://github.com/w3c/wot-scripting-api/issues/18 Issue 18 12:10:43 jhund: some use cases for writable to ThingProperty 12:11:32 -> https://github.com/w3c/wot-scripting-api/pull/20 pull request 20 12:11:43 jhund: adding readOnly entry for Property initializer 12:12:33 -> https://www.w3.org/TR/WebIDL-1/#dfn-dictionary-member-default-value referring WebIDL 12:12:56 zkis: consumedThing should be readonly by default 12:13:07 jhund: right 12:13:42 s/right/readonly vs writeable/ 12:14:16 ... exposedThing could be writable 12:14:22 s/writeable/writable/ 12:15:17 ... will make the property "writable" and make the default value "false" 12:15:30 zkis: according to ECMA 12:15:44 ... "writeable" 12:16:07 jhund: ok to use "writeable'? 12:16:13 s/'?/"?/ 12:16:18 (ok) 12:16:25 jhund: will merge in this 12:16:53 topic: pull request 21 12:17:18 zkis: we can postpone this 12:17:35 topic: issue 17 12:17:53 zkis: 3 issues 12:18:28 ... 2, 5, 16 12:18:56 -> https://github.com/w3c/wot-scripting-api/issues/17 issue 17 12:19:06 https://zolkis.github.io/wot-scripting-api/#terminology-and-conventions 12:20:41 jhund: name for referring Things 12:21:44 ... possible different ways for discovery 12:22:03 ... "local" is type of filter 12:22:21 ... we got collection of use cases 12:22:49 ... different types of discovery 12:23:11 zkis: we can discuss the detail during the next call 12:23:15 jhund: yes 12:23:28 ... and we might want to invite discovery guys, e.g., Soumya and Louay 12:23:34 ... can take an action for that 12:24:11 ... comments? 12:24:29 zkis: put a note 12:25:25 [[ 12:25:25 Note that canceling a discovery (through unsubscribe) may not be successful in all cases, for instance when discovery is based on open ended broadcast requests. However, once unsubscribe() has been called, implementations must suppress further event handling ( i.e. further discoveries and errors) on the Observable. Also, a discovery error may not mean the end of the discovery process. However, in order to respect Observable semantics (error always terminates 12:25:26 processing), implementations must close or suppress further event handling on the Observable. 12:25:28 ]] 12:25:31 jhund: sounds good 12:26:44 ... looks at the example and IDL 12:26:48 ... makes sense 12:28:40 zkis: canceling discovery through unsubscribe may not be successful, e.g., by timeout 12:29:23 topic: issue 14 12:29:33 -> https://github.com/w3c/wot-scripting-api/issues/14 issue 14 12:30:06 jhund: exposedThing and DynamicThing 12:30:57 ... this policy would make sense 12:31:50 zkis: ExposedThing is always modifiable 12:32:57 (official call ends) 12:33:09 some more discussion by Johannes and Zoltan 12:33:35 rrsagent, draft minutes 12:33:35 I have made the request to generate http://www.w3.org/2017/04/10-wot-minutes.html kaz 14:24:53 Zakim has left #wot 16:13:47 zkis has joined #wot 17:44:23 zkis has joined #wot