14:54:49 RRSAgent has joined #forms 14:54:49 logging to https://www.w3.org/2022/01/28-forms-irc 14:54:51 RRSAgent, make logs public 14:54:51 Zakim has joined #forms 14:54:53 Meeting: XForms Users Community Group Teleconference 14:54:53 Date: 28 January 2022 14:55:01 Chair: Steven 14:57:33 Agenda: https://lists.w3.org/Archives/Public/public-xformsusers/2022Jan/0014 14:57:47 Alain has joined #forms 14:57:59 ebruchez has joined #forms 14:59:25 Present: Alain, Erik, Steven 14:59:28 https://lists.w3.org/Archives/Public/public-xformsusers/2022Jan/0014.html 14:59:36 https://lists.w3.org/Archives/Public/public-xformsusers/2022Jan/0014.html 14:59:45 Topic: ACTION-2309: Research xpath3 function definitions (Erik) 15:00:07 Steven: Not this week though 15:00:16 Topic: ACTION-2312: Devise text for submission using @value (Steven) 15:00:16 https://www.w3.org/2022/01/14-forms-minutes.html#t04 15:00:51 https://lists.w3.org/Archives/Public/public-xformsusers/2022Jan/0016.html 15:01:32 Steven: https://lists.w3.org/Archives/Public/public-xformsusers/2022Jan/0016.html 15:01:45 Alain: Use the same solution we use for output. 15:02:23 Erik: We do something different - we say that ref acts as a binding, supplying a context for @value 15:04:09 ... in XF 1.1 we say ... 15:04:36 XForms 1.1: "value Author-optional. An XPath expression to be evaluated. The string result of the evaluation is rendered by the form control. If binding attributes are present to select a node, this attribute has no effect." 15:04:50 Steven: For output we say "The data to be rendered is obtained by evaluating the value attribute if present, or otherwise from the Single Item Binding if present, and otherwise from the inline data." 15:05:33 Erik: That would simplify submission; if value is present, you use it, otherwise the binding 15:06:41 Steven: Look at https://www.w3.org/community/xformsusers/wiki/XForms_2.0#Evaluation_Context 15:07:56 ... so @ref gives the element evaluation context, and as far as I remember other attributes are evaluated in that. 15:08:57 ... "Unless otherwise stated, all expressions (including those in AVTs) in an element are evaluated in the element evaluation context" 15:09:21 Steven: That answers q1 15:09:26 ... then I proposed: @value: a value that is converted to a string 15:09:26 @ref, @bind, @relevant, @nonrelevant, @validate: not used. 15:09:26 @serialization: not used 15:09:26 @mediatype: used. 15:10:06 Alain: We could use @ref for the context 15:10:10 Steven: You are right 15:10:21 ... for the context 15:11:05 Steven: The last question whether it adds any functionality. But it adds consistency. 15:11:21 Alain: It makes a big difference for me. 15:11:53 Topic: ACTION-2313: Research the alternatives for 'dirty' data, and produce 15:11:53 code in all of them for comparison 15:11:53 https://lists.w3.org/Archives/Public/public-xformsusers/2022Jan/0012 15:12:13 https://lists.w3.org/Archives/Public/public-xformsusers/2022Jan/0018.html 15:12:31 Steven: That's a draft article, not yet published, but deals with the topic. 15:13:01 Alain: The engine doesn't know if it is dirty or not. 15:13:15 ... So you can't erport that the page is dirty. 15:13:28 s/erport/report/ 15:13:41 Alain: It's not an XForms mechanism. 15:14:31 ... It doesn't have to be an automatic mechanism, just someway to do it. 15:14:38 Erik: Either an event or an action 15:15:00 ... tell the system that we have or no longer have dirty data 15:15:17 Topic: Timescale Plans 15:15:17 https://lists.w3.org/Archives/Public/public-xformsusers/2022Jan/att-0004/2022-plans 15:15:17 In particular today, focusing on and instance mirroring: 15:15:17 User-defined controls (with instance mirroring) 15:16:44 Steven: The current mechanism copies data in, and out again at specified moments. 15:17:04 ... We said it would be good if it worked like native controls, just mirroring the instance. 15:17:21 ... The question is how to specify how that should happen. 15:18:15 ... We have an XForms that could work by itself, but if you embed it, you want to communicate between the embedder and the emnedded. 15:18:24 Erik: We do the mirroring already. 15:18:41 ... it works by synchronisation 15:19:34 ... and it works synchronously as well 15:20:05 ... it works for all nodes, adding nodes, or attributes, etc. 15:20:26 ... you get the same XML on both sides 15:20:39 ... namespaces may be tricky 15:21:57 ... The caller elements may have ancestors, but the embedded version may not, probably doesn't. 15:22:16 Steven: On initialisation, does the subtree get copied across? 15:22:20 Erik: Yes. 15:22:37 Steven: And the MIPS of the caller? 15:22:56 Erik: We don't copy those properties, there may be conflicts 15:23:43 Steven: When copied, do they replace the leading instance? 15:23:55 Erik: We use an attribute to say that the instance is morrored. 15:24:02 s/morr/mirr/ 15:24:37 Steven: So the presence of that attribute says that that one is where the copied data goes. 15:24:47 ... and is therefore mirrored. 15:25:42 Steven: And so a mirrored instance knows that data has to be synchronised. 15:26:16 Erik: The mirroring works in both directions. 15:26:21 Steven: Sounds wonderful. 15:26:46 Erik: One limitation is that if the embedded form says something is invalid, the caller doesn't know that. 15:27:07 ... we use events to communicate 15:28:02 ... the outerform can dispatch events to the outside of the embedded form 15:28:54 ... and vice versa, we can dispatch an event from the inside to the outside. 15:30:15 ... if you dispatch an event to the control element, it is normal handling. If the embedded form doesn't have a handler for it, nothing happens. 15:30:18 15:30:58 ... there is a special section for handling incoming events coming in, in the embedded form 15:31:24 ... it's not the root element of the embedded form. It is something outside. 15:32:52 ... you could say that any event that is dispatched, you could listen for it on the root element. 15:33:48 ... using the target attribute, you could make sure you were catching ones specifically dispatched to that element. 15:34:57 Steven: Next question is, how to specify that an event is being dispatched to the embedding? 15:35:35 Erik: We have another element. 15:36:01 Steven: We have at the moment. 15:37:51 ... seems cleaner than having a special element 15:38:16 Erik: We have special names. 15:39:48 Steven: We could say that leaving @target off it goes to the embedder. 15:42:01 Steven: We have solved everything except where the incoming events go to 15:42:21 Alain: So add a listener to element 15:42:24 Steven: Yes. 15:42:53 ACTION: Steven compose text that matches the discussion for mirrroring. 15:42:53 Created ACTION-2314 - Compose text that matches the discussion for mirrroring. [on Steven Pemberton - due 2022-02-04]. 15:43:23 Erik: We might find some inpsiration from web components. We should look how they use events. 15:43:39 ACTION: Erik to report on event habndling in web components. 15:43:40 Created ACTION-2315 - Report on event habndling in web components. [on Erik Bruchez - due 2022-02-04]. 15:43:51 Topic: AOB 15:43:57 [None] 15:44:01 [ADJOURN] 15:44:25 rrsagent, make minutes 15:44:25 I have made the request to generate https://www.w3.org/2022/01/28-forms-minutes.html Steven 15:45:53 s/someway/some way 15:47:02 s/outerform/outer form 15:48:00 rrsagent, make minutes 15:48:00 I have made the request to generate https://www.w3.org/2022/01/28-forms-minutes.html Steven 15:48:40 s/habndling/handling 15:48:41 rrsagent, make minutes 15:48:41 I have made the request to generate https://www.w3.org/2022/01/28-forms-minutes.html Steven 15:49:08 s/habndling/handling 15:49:09 rrsagent, make minutes 15:49:09 I have made the request to generate https://www.w3.org/2022/01/28-forms-minutes.html Steven 15:56:19 ebruchez has joined #forms 18:45:06 Zakim has left #forms