13:59:15 RRSAgent has joined #forms 13:59:15 logging to http://www.w3.org/2009/06/25-forms-irc 13:59:23 rrsagent, make log public 13:59:36 zakim, room for 10 people for 360 minutes? 13:59:37 ok, Steven; conference Team_(forms)13:59Z scheduled with code 26633 (CONF3) for 360 minutes until 1959Z 13:59:59 Steven has changed the topic to: Code is CONF3 (26633) 14:00:02 Team_(forms)13:59Z has now started 14:00:09 +[IBM] 14:00:12 zakim, [IBM] is wiecha 14:00:12 +wiecha; got it 14:00:13 John_Boyer has joined #forms 14:00:24 klotz has joined #forms 14:00:38 zakim, code? 14:00:38 the conference code is 26633 (tel:+1.617.761.6200 tel:+33.4.89.06.34.99 tel:+44.117.370.6152), John_Boyer 14:01:02 zakim, dial steven-617 14:01:02 ok, Steven; the call is being made 14:01:03 +Steven 14:01:12 zakim, this will be forms 14:01:13 ok, John_Boyer, I see Team_(forms)13:59Z already started 14:01:19 rrsagent, make log public 14:01:21 +??P1 14:01:32 +John_Boyer 14:01:39 zakim, I am ??P1 14:01:39 +nick1; got it 14:01:41 zakim, dial steven-mobile 14:01:41 ok, Steven; the call is being made 14:01:43 +Steven 14:01:59 niente 14:02:24 zakim, who is here? 14:02:24 On the phone I see wiecha, Steven, nick1, John_Boyer, Steven (muted) 14:02:25 On IRC I see klotz, John_Boyer, RRSAgent, Zakim, wiecha, Steven, nick1, markbirbeck, kenneth, trackbot 14:02:47 -Steven 14:02:52 zakim, mute me 14:02:52 nick1 should now be muted 14:02:52 Meeting: W3C Forms WG Virtual Face to Face Day June 25, 2009 14:03:06 +Leigh_Klotz 14:03:27 zakim, phone steven-home 14:03:27 ok, Steven; the call is being made 14:03:29 +Steven 14:03:34 Agenda: http://www.w3.org/MarkUp/Forms/wiki/vFtF_2009_06_25 14:03:59 Chair: John 14:04:04 Scribe: Steven 14:04:40 Steven: I will be returning late after the break; I will try to return ASAP 14:04:54 -Steven 14:05:01 zakim, who is here? 14:05:01 On the phone I see wiecha, Steven, nick1 (muted), John_Boyer, Leigh_Klotz 14:05:03 On IRC I see klotz, John_Boyer, RRSAgent, Zakim, wiecha, Steven, nick1, markbirbeck, kenneth, trackbot 14:05:18 Regrets: Uli 14:06:09 kenneth 14:06:27 Erik 14:07:21 ½ 14:07:44 ¶ 14:08:38 zakim, unmute me 14:08:38 nick1 should no longer be muted 14:08:57 Topic: Solutions for the Application Requirements Related to the External Model and Submodel Problems 14:09:35 Nick: I talked with Joern, and he agreed with what we were talking about yesterday 14:09:55 http://www.w3.org/MarkUp/Forms/wiki/ModelEnhancementRequirements 14:10:12 John: I documented our requirements from the last call 14:10:30 John: We got to basic use cases around encapsulation 14:10:41 ... next is a specialization model 14:10:50 ... model content that could be used as a base 14:11:07 ... and then further specialized 14:11:46 ... one of the later examples (fragment inclusion) could be solved with a specialization capability 14:12:07 ... the third case was the adapter concept 14:12:14 ... with two sub points 14:13:31 ... the second that I list (transforms) - is that a true adapter, or is it more of a specialization? 14:13:50 Charlie: The UI case needs extra instances, so it is different 14:14:30 Leigh: I thought you meant overriding binds with specialisation 14:14:39 ... you don't need anything more than XInclude 14:15:11 John: I think we ended with specialization not contradicting any binds in the base model 14:15:21 Leigh: We should make that explicit 14:15:55 Charlie: If something is read-only in te base, I would expect it not to be overrideable 14:16:04 s/ te / the / 14:16:10 zakim, mute me 14:16:10 nick1 should now be muted 14:16:58 Charlie: I think we should be able to collapse specialization and adapters 14:17:04 ... into one 14:19:14 John: I think fragment inclusion collpases into that too 14:19:24 ... which is really exciting 14:19:55 ... The specialization pattern is including once and adding stuff 14:20:08 ... the web services case is about multiple external inclusions 14:20:37 Charlie: The webservices includes new submission methods, but the others don't 14:21:03 John: Maybe 'adapter' is misnamed 14:21:59 Charlie: You don't need extra submissions when you are adapting the UI 14:22:46 John: Specialization treats the input like a pipe 14:23:11 Charlie: Prefilling pulldowns in a select 14:23:47 ... so there may be more needed in the UI ase than I thought 14:24:01 s/ase/case/ 14:24:28 John: What does live in the base moedl? 14:24:41 s/moed/mode/ 14:25:15 Charlie: The further we go, it sounds more and more like model to model binding 14:25:35 John: The backend data lives in the base moedl 14:25:44 s/moedl/model/ 14:26:38 John: The base model contains the submission for getting the data back to the service 14:26:44 Charlie: Let's assume that for now 14:27:22 John: On the specialization side, there would be a need for actions in the specialization to copy the data to and fro 14:28:36 ... what characterises the moving of data back to the backend? 14:28:44 ... what would trigger it? 14:28:58 Charlie: A submit? 14:29:50 John: A specialisation needs to include an action handler for xforms-submit that would be dispatched to the base models submission element. 14:30:01 ... That element knows how to move the back-end data to the server 14:30:33 ... So we've proven we need instances and actions in the specialization 14:31:18 Charlie: Structural calculations will help 14:31:41 John: Specialization is one means of achieving a UI transformation 14:31:56 ... but structural binds would be more declaratively 14:32:04 s/ly// 14:32:39 John: If we were to do structural binds, how do we get two-way communication? 14:32:46 Steven: We don't have two-way now 14:33:27 John: Do we mean 'binding' or structural synchronization 14:33:38 s/tion/tion?/ 14:35:49 you need to watch out for rounding errors 14:36:39 zakim, unmute me 14:36:39 nick1 should no longer be muted 14:36:43 Steven: I believe that you can get two-way now by using binds in both directions 14:36:44 Similar to simple data synchronization that Steven mentioned a few years back, e.g. Fahrenheit and Celsius conversion 14:37:02 If you type Fahrenheit, it calculates Celsius and vice versa 14:37:04 Steven: But you have to handle cycles yourself 14:37:21 zakim, mute me 14:37:21 nick1 should now be muted 14:37:55 Charlie: You can check for equality to stop cycles 14:38:17 Steven: It is still possible to flip-flop between two close values (for instance using multiply and divide) 14:38:45 Charlie: It could get even harder with structural synchronization 14:39:03 Steven: Not sure about that. The ways a structure can change are limited 14:39:51 John: We may be able to address the base cases, without having to deal with the general case of breaking cycles 14:40:13 John: Back to the adapter/webservice case 14:40:22 ... you might have a base model that does a lot of the work 14:40:41 ... containing the raw data, and knowing how to talk to the server 14:40:51 ... it's not doing a UI transformation of the core data 14:41:56 ... with webservices, the issue is multiple small services being invoked during interaction, in order to enhance the user experience 14:42:17 ... such as name expansion 14:43:13 ... or postal code lookup 14:44:01 ... if these are generic things that can be invoked in different frms 14:44:06 s/frms/forms/ 14:45:07 ... then that should be possible 14:46:42 Charlie: You can think of an adapted forms as a type 14:46:52 s/forms/form/ 14:47:32 ... the problem is gluing the parts together 14:47:44 ... Think of a library of components 14:49:38 The UI adapter could be viewed as another composable component just like Web service XForms markup for multiple services would be composable components 14:49:46 ... Maybe it's not worth going that far yet 14:50:27 Charlie: Treat the whole UI as a component 14:50:49 ... since it is a reusable artefact 14:51:00 ... that jump is a bigger step 14:51:18 ... maybe consider it later when we get to components 14:51:39 Leigh: We should pay attention to model when we consider WSDL 14:53:57 rrsagent, make minutes 14:53:57 I have made the request to generate http://www.w3.org/2009/06/25-forms-minutes.html Steven 14:58:28 John: If we had a way for models to communicate 14:58:48 Leigh: With events, then make it look like a webservice 14:59:34 Steven: I think the idea of in-form submits is a very interesting one 15:00:00 Charlie: Are simple controls just a simplified in-form submit? 15:01:49 ... allows lots of extension points 15:01:53 ebruchez has joined #forms 15:03:29 Topic: Hour 2: Focus on Submission Improvements 15:03:39 Scribe: Charlie 15:03:46 scribenick: wiecha 15:04:27 John: have broken up rest of day into a set of related discussions 15:05:22 +ebruchez 15:05:34 ...right now @method on submission is required 15:05:41 ...don't think we allow computing the method 15:06:03 http://www.w3.org/MarkUp/Forms/specs/XForms1.1/index-diff.html#submit-method 15:06:11 ...actually, we do have method element with @value 15:06:39 ...so @method is not required, but we don't have a default for the submission method however specified 15:06:48 ...so perhaps we should state some default 15:07:01 Leigh: used to have "get" as default but was removed 15:07:09 we use post most... 15:07:17 because we use XML 15:08:50 Steven: we were asked to deprecate get at one point 15:08:59 -ebruchez 15:09:24 Steven: XForms 1.0 states no default for @method 15:09:37 John: which edition? guess first edition starts out with that 15:10:01 +ebruchez 15:10:02 John: any objection to setting method="get" as default? 15:10:08 +1 15:10:13 +1 15:10:37 Erik: no objection 15:10:46 Steven: starts out from 1st edition in 1.0 15:11:07 John: if no objections then we need an action item for next edition for xforms 15:11:25 John: btw, need to discuss editor(s) for 1.2 15:11:29 ...nominations? 15:12:04 I can be an editor... 15:12:36 but now I have time, the problem is that it is hard to guarantee it for the future... 15:12:44 zakim, unmute me 15:12:45 nick1 should no longer be muted 15:13:12 zakim, mute Steven 15:13:12 Steven should now be muted 15:13:12 post was the default in January 2002, and there was no default in aug 2002 15:13:44 ack me 15:15:18 ACTION: nick to prepare update to 1.2 spec to reflect default for @method="get" 15:15:18 Created ACTION-558 - Prepare update to 1.2 spec to reflect default for @method="get" [on Nick Van Den Bleeken - due 2009-07-02]. 15:15:48 John: moving to more control around RRRR on submission completion and/or initialization 15:16:19 ...in particular to suppress them on sequences of submissions 15:16:52 ...authors have found performance problems with multiple sequential submits, e.g. to web services 15:17:43 ...in 1.1 have recently simplified things via sync submissions since UI refreshes are skipped, but still do rest of the cycle which is costly 15:18:55 zakim, unmute me 15:18:55 nick1 was not muted, nick1 15:19:20 Charlie: maybe could scope the RRRR over a specific instance 15:19:36 John: we do say the behavior must be "as if" the full rebuild takes place 15:20:04 Leigh: could lead to interop problems 15:21:53 If you do a setvalue followed by a send (submission), if the setvalue changes a bind nodeset predicate, then it matters whether the submisison does a full rebuild or an "optimized" rebuild that only accounts for the changes made by the submission instance replacement 15:22:11 Leigh made the above point 15:22:41 Erik: need to recall the original requirement for doing RRRR on submission 15:22:49 ...validation, also calculate, but primarily validation 15:23:18 ...perhaps there's a use case for turning off validation via attribute on submission 15:23:20 This suggests it would be better to have explicit control over whether a submission does rebuild-recalculate-revalidate on submission initialization and [R]RRR on completion 15:24:26 John: turning off validation doesn't necessarily suggest we can skip other stages, e.g. rebuild 15:24:36 Nick: is the use case multiple submissions at once? 15:24:46 John: that's the original goal, might be other reasons 15:25:14 Nick: if you do the first one of a multiple set, and the submit replaces some data an impl can decide what can be skipped in rebuild etc 15:25:21 ...before doing next submission 15:25:26 John: on completion? 15:25:39 Nick: yes, before doing next submit 15:26:31 ...e.g. can skip binds that refer to other instances than the one modified by returned values 15:27:05 John: though Leigh's point shows any intervening actions can in general cause problems 15:27:38 http://www.w3.org/MarkUp/Forms/specs/XForms1.1/index-diff.html#submit-evt-submit 15:28:27 John: on init it's only rebuild/recalc that are triggered by deferred update, revalidate in step 4 happens regardless of deferred update if flag is true 15:28:49 ...so authors have control over revalidate, could use similar for rebuild/recalculate 15:29:18 ...on completion instance replacement happens according to insert/delete operations, text replacement by setvalue semantics 15:29:57 ...so submission doesn't have direct control over those post-receipt behaviors...could have indirect control by claiming those operations are not outermost 15:30:47 ...in a sequence, if the first submit is async then when it completes you do setvalue/insert/delete then do 2nd submission...i.e. a sequence of submissions with other operations in between 15:30:56 ...doesn't really depend on async 15:31:27 ...could get better performance in general by suppressing these steps 15:32:00 Nick: just concerned if this is for performance then requiring the author to set a bunch of flags doesn't seem right...would be better for the impl to be able to optimize on its own 15:32:37 Erik: yes, also there's a diff w/recalculate and relevant attributes on submission now. these are not performance related 15:32:54 Nick: yes, these are processing steps that are functional issues for the author, not simply performance 15:33:07 ...would prefer impl do optimizations not author 15:33:22 John: problem is it's difficult for the impl to know whether the author wants to optimize or not 15:35:01 John: problem is worse when we try to start creating reusable components, e.g. for web service, and control optimization from the point of the invocation 15:35:12 ...not the internal defn 15:35:42 ...when using singly use normal behavior, when used in conjunction want to use optimized since intermediate results aren't needed 15:35:59 Nick: if someone else creates that service (model) how can they know what to do? 15:36:07 John: perhaps event context info 15:36:17 ...parameterize the submission when I call it 15:36:29 ...here's some extra info for this specific invocation 15:36:52 Nick: but this seems to imply the user knows the internal impl of the service's invoking model 15:37:00 s/model/component 15:37:58 John: author needs to understand how his changes will affect behavior of the form 15:38:03 ...and do regression testing 15:38:07 Charlie: violates encapsulation 15:38:24 John: don't think so...need to know what your binds are doing 15:39:29 Nick: should only depend on the "API" 15:40:05 John: the dynamic predicates are in the consuming model not the web service model 15:40:16 ...that's where the broken part is, not in how the web service is invoked 15:40:43 ...same problems exist for insert/delete actions in a single model app 15:41:20 ...any time we suppress standard behaviors we'll see the same problems 15:41:33 Nick: seems to me we're making it worse 15:43:19 John: so if we scope the web service updates to a separate model we can isolate the required updates 15:43:34 ...so perhaps we should take up this RRRR suppression in light of the general model composition issue 15:43:37 Charlie: +1 15:44:07 no, in favor of shooting it 15:44:21 John: moving along to JSON submissions 15:44:32 is kenneth here? 15:44:39 ...much more limited form of JSON support than discussed in the past 15:44:59 ...this is just import/export in JSON format leaving internal processing in XML 15:45:27 ...transform XML or profile of XML into JSON 15:45:35 ...and vice versa 15:45:45 Charlie: in general the problem of this transform is hard 15:45:53 q+ 15:46:11 John: separate issues around JS expression language etc etc 15:46:29 ...would it be useful simply to have two-way communication with external JSON services? 15:46:42 q+ 15:46:56 Steven: kenneth has an impl now 15:47:28 ...furthermore, the form of the data should be hidden, the structure 15:48:00 ...there are other useful representations in addition to JSON, but JSON itself is quite useful for input/output 15:48:07 ...would like kenneth to describe how he's doing it 15:48:24 Erik: so it's just JSON/XML conversion? 15:48:45 Steven: think they just read JSON and convert to XML internally 15:48:58 Nick: tried this some time ago didn't find std way to do the mapping 15:48:59 Is the conversion automatic only, or does the author have the ability to transform it? Seems automatic would be sufficient because we could write the transform ourselves once it's in XML 15:49:03 Charlie: yes, that's the question 15:50:36 John: might constrain the XML you can express in the instance that is transformable two-ways 15:50:41 klotz has joined #forms 15:50:43 http://code.google.com/p/xml2json-xslt/ 15:52:46 I think it's a great idea 15:52:58 http://www.json.org/example.html with XML but it isn't a standard mapping as I know 15:53:32 Although not all XML is translatable to JSON, it doesn't matter. If you're talking to a json service, you have to write the xml that will translate into something the service understands 15:53:49 exactly 15:53:51 No different from writing your xml to conform to a schema that a backend transaction processor will be able to proces 15:56:50 Leigh: we have only half of the general conversion problem...we're always starting with XML-> JSON and not vice versa 15:56:55 ...so this is easier 15:57:45 John: would be good to also allow script authors to use their trick to get around cross-domain issues 15:58:06 ...i.e. a script tag in the web page can talk to other services w/o security limitations 15:58:19 ...but XMLHTTPRequest is restricted 15:59:41 John: might say, for example, that a web service from domain A can talk to one in domain B 15:59:50 Leigh: we don't have to say anything here 15:59:54 http://www.xml.com/pub/a/2006/05/31/converting-between-xml-and-json.html 16:00:03 John: so what if two impls do different things here? 16:00:07 Leigh: not related to JSON 16:00:11 ...same issue for XML 16:01:01 -Leigh_Klotz 16:01:03 -Steven 16:01:03 -wiecha 16:01:04 -John_Boyer 16:01:04 -nick1 16:01:21 one hour break time 16:01:24 rrsagent, make minutes 16:01:24 I have made the request to generate http://www.w3.org/2009/06/25-forms-minutes.html John_Boyer 16:02:51 -ebruchez 16:02:52 Team_(forms)13:59Z has ended 16:02:54 Attendees were wiecha, Steven, John_Boyer, nick1, Leigh_Klotz, ebruchez 16:12:26 s/John: moving to more control around RRRR/Topic: More Control around RRRR/ 16:12:37 rrsagent, make minutes 16:12:37 I have made the request to generate http://www.w3.org/2009/06/25-forms-minutes.html John_Boyer 16:13:37 s/so perhaps we should take up this RRRR/so perhaps we should drop this RRRR/ 16:14:22 s/no, in favor of shooting it/yes, in favor of shooting it/ 16:14:33 rrsagent, make minutes 16:14:33 I have made the request to generate http://www.w3.org/2009/06/25-forms-minutes.html John_Boyer 16:18:50 s/Topic: More Control around RRRR/John: moving to more control around RRRR/ 16:18:59 rrsagent, make minutes 16:18:59 I have made the request to generate http://www.w3.org/2009/06/25-forms-minutes.html John_Boyer 17:00:32 Team_(forms)13:59Z has now started 17:00:39 +John_Boyer 17:00:42 +[IBM] 17:00:48 zakim, [IBM] is wiecha 17:00:48 +wiecha; got it 17:01:36 zakim, code? 17:01:36 the conference code is 26633 (tel:+1.617.761.6200 tel:+33.4.89.06.34.99 tel:+44.117.370.6152), klotz 17:02:01 +ebruchez 17:02:31 +Leigh_Klotz 17:02:44 +[IPcaller] 17:02:55 zakim, I am [IPcaller] 17:02:55 ok, nick1, I now associate you with [IPcaller] 17:04:45 http://www.w3.org/MarkUp/Forms/wiki/ModelEnhancementRequirements 17:05:11 scribe: nick 17:06:19 TOPIC: Enriched Text Content 17:06:56 John: We've been talking about mediatype="text/html" on textarea 17:07:19 ... maybe not required but an optional feature 17:07:59 John: We want user to edit rich text, but doesn't needs to be stored as XML encoded 17:09:06 John: Now we only have SNB for a textaere, you aren't able to bind to a subtree so the instance contains xml elements like bold and italic 17:09:37 ... and not < and > 17:09:43 application/xhtml+xml 17:11:09 Nick: we use XSL-FO as a format in our processor, binding to a subtree 17:11:42 John: John we should just give a list of possible formats 17:12:07 Leigh: It will be interesting to see how a voice system will do this 17:12:26 Leigh: editing ATOM will be a good use case 17:12:48 17:12:48 dive into mark 17:12:49 17:12:49 A <em>lot</em> of effort 17:12:49 went into making this effortless 17:12:49 17:13:17 John: text/html wouldn't ensure the content is well formed XML which we can't support 17:13:20 xml:base="http://diveintomark.org/"> 17:13:20
17:13:20

[Update: The Atom draft is finished.]

17:13:21
17:13:21
17:13:46 John: but drawing the line at XHTML should be good 17:14:38 So, XHTML means edit XML as XML without encoding, and text/html content would be encoded 17:14:42 Erik: Explain the ATOM markup he pasted in the IRC (first type text encoded, type xhtml not encoded) 17:15:16 Erik: Orbeon does what ATOM proposes 17:15:37 John: Where do we specify the format? 17:16:05 Erik: we could use the media-type attribute on textarea 17:16:07 Is it appropriate for the UI control to specify the format? It seems the examples above show that the data knows the format 17:17:06 Erik: ... we could make the media-type dynamic 17:18:21 Charlie: We should use content-type to drive the encoding and media-type drives the UI 17:18:51 zakim, mute me 17:18:51 [IPcaller] should now be muted 17:19:01 zakim, I am [IPcaller] 17:19:01 ok, nick1, I now associate you with [IPcaller] 17:20:37 John: If we support to edit an XML subtree we need a Rebuild after every edit 17:20:45 xf:copy: "as if an insert action had occurred" 17:20:51 because we are doing inserts and deletes 17:21:26 John: in case of copy we know what it always bind to a subtree 17:21:56 John: In textarea the ref would sometimes bind to the text and sometimes to subtree 17:22:41 Erik: You can see the ref binding to a node, and the control deciding what to update because it knows if it is editing a subtree or a text node 17:23:09 For reference, the Atom Syndication Format RFC: http://tools.ietf.org/html/rfc4287 17:23:35 Leigh: There is nothing different to the UI if we are editing an XML subtree or textnode 17:25:02 Charlie: I'm a bit scared of media-type driving how the data is represented in the instance. 17:25:56 Leigh: The xhtml has some deeper issues separate from the presentation 17:27:09 Leigh: I don't want to talk about xhtml, the problem is that we don't have anything to edit mixed content 17:28:58 ... discussion about serialisation 17:30:27 zakim, unmute me 17:30:27 [IPcaller] should no longer be muted 17:31:29 Zakim: mute me 17:32:26 leigh: We want to bind to a subtree 17:32:34 zakim, unmute me 17:32:34 [IPcaller] was not muted, nick 17:32:50 q+ 17:33:41 Leigh: You could see to XML as something special, that isn't in the intsance, because the XML could be big simular to uplaod 17:34:00 wiecha: it could be shadow tree 17:34:02 q+ 17:34:38 ebruchez: we have a address component that edits the address subtree 17:35:15 ack nick 17:35:39 ack IPcaller 17:35:46 ack [IPcaller] 17:36:52 nick: We have binds that go in the XML subtree to add additional constraints for example prevent bold 17:37:03 or limit the font sizes 17:37:21 Charlie: I'm just really confused about the idea of letting binds see the sub-structure of these complex mediatypes 17:37:36 nick: so the textarea binds to a subtree, but the rich text doesn't allows certain markup 17:37:57 Charlie: but maybe i shouldn't think about the element structure of the instance as being so different from the "data" of the app 17:38:00 nick: but I'm not sure if we want to support it by the spec 17:39:10 constraint="not(substring( whatever, '<b>'))" 17:39:27 John_Boyer: can't you do the same with escaped content 17:39:49 nick: are clients have xml and they want to add the xml subtrees easily 17:40:55 we're going to hit similar issues when we do components and let them manage subtrees 17:41:45 Leigh: We have to be careful that we don't allow malformed html that when rendered exploits are triggered by the javascript 17:42:50 John_Boyer: it is different in nick's case it is the author in leighs case it is the processors problem 17:44:36 Leigh: you can't use a regular expressions to protect it because it would be difficult to handle all edge cases, you need to use the real pipeline and then check it 17:45:05 -John_Boyer 17:45:40 John_Boyer: it doesn't seem to matter if the author or the processor and it both occures in HTML and XHTML 17:45:49 got dropped, redialing 17:46:19 +John_Boyer 17:46:20 Leigh: It is much easier in the DOM then it in the escaped string 17:46:42 Leigh: probably nearly impossible in the escaped string 17:47:55 Leigh: We could only insert the XML data when submitting like upload, but then we don't have the power of XForms constraints 17:48:56 Leigh: To choices are: outside the intsance, in a component, inside the instance, 17:50:12 ebruchez: gives example of an address component, and specialization to limit the valid addresses from the outside 17:50:57 wiecha: it is like an xhtml textarea a subtree comming back 17:51:05 s/comming/coming/ 17:52:23 Leigh: the separate tree could come back if we want to support hundred megabyte XML subtree 17:53:06 ebruchez: the xhtml case is a simple form of a component 17:54:06 John_Boyer: we also have the cross-implementation compatibility issues if we support the html rich content 17:55:05 ebruchez: we already have the problem today, because the components deliver different HTML if the run in FF and IE 17:55:10 zakim, dial steven-617 17:55:10 ok, Steven; the call is being made 17:55:12 +Steven 17:55:28 rrsagent, make minutes 17:55:28 I have made the request to generate http://www.w3.org/2009/06/25-forms-minutes.html Steven 17:55:51 s/Hour 2: // 17:55:58 John_Boyer: do we need to give access to serialization, but is that going to solve the compatibility 17:56:19 Leigh: I want to solve the cross site scripting 17:56:47 i/scribe: nick/scribenick: nick1/ 17:56:55 rrsagent, make minutes 17:56:55 I have made the request to generate http://www.w3.org/2009/06/25-forms-minutes.html Steven 17:58:37 Leigh: We maybe need to support transformations when the data comes in and when it is submitted 17:59:13 John_Boyer: We have need transformations on simple content too, (gives example about number formatting) 18:00:19 wiecha: having a general solution for all controls would be great to have 18:01:42 (leigh gives a good summary ) 18:04:11 Leigh: The control would be bound to a model that binds to another model by a sort of adaptor 18:06:00 ebruchez: not sure that a component binds using a ref, there is synchronization in both ways, there are updates to the component and the component can write data back 18:06:05 ref is not quite like submission because UI controls have lots of cases where the model projects data onto the UI without the UI initiating a "submission" to the model 18:06:10 This includes initialization and refresh 18:06:20 ebruchez: I don't really see the complete analogy with submit 18:07:04 wiecha: it is a bit like submission but there is more 18:08:02 ebruchez: we implement this with XBK, xf-enabled the data is fetched to the component, the component uses local data, and at certain times it commits its data back to the main document 18:08:55 wiecha: there is processing in common with submission but there are more things going on 18:09:36 wiecha: the component may update when the form is running not only when the control is initially showed 18:10:20 ebruchez: submission is really http centric, component communication doesn't needs the protocol stuff 18:10:52 John_Boyer: is mixed content low hanging fruit, or does it requires a lot of work 18:11:57 Leigh: There is a need for security which is hard with escaped content, but the mixed heavily changes our processing model 18:12:53 ebruchez: I don't know if it is that more difficult, if we only want to support xhtml mixed content we have the rebuild problem already with copy 18:13:40 s/scribenick/ScribeNick/ 18:13:47 rrsagent, make minutes 18:13:47 I have made the request to generate http://www.w3.org/2009/06/25-forms-minutes.html Steven 18:14:38 John_Boyer: maybe we can only for now support a text area to bind to text content, but also to a subtree and only do the normal RRR and not the RRRR the author can add a value change listener that does the rebuild 18:15:27 ebruchez: the same problems happen with xf:copy 18:16:00 John_Boyer: if your code knows that it writes a subtree, just do the rebuild in your code 18:16:21 ebruchez: agrees 18:16:22 klotz has joined #forms 18:16:25 http://json.org/module.html 18:19:20 John_Boyer: Some people want to sit in between the instance and the control to filter certain markup (script tags,...) but maybe we don't need to standardize that 18:20:07 John_Boyer: explains the cross implementation problem with using different rich text controls 18:20:39 nick: the problems also exists when you edit in a different browser 18:22:19 John_Boyer: explains problem with copy paste between MS Word and rich text area 18:23:03 if processor A has a better implementation of rich content than processor B, then the content is not interoperable across the two processors 18:23:33 ebruchez: there could be implementations in different languages not in Javascript on the browser 18:26:34 ebruchez: it isn't possible to rule out all compatibility problems 18:27:01 ebruchez: but I don't think that this should be a show stopper 18:27:54 John_Boyer: If we make it optional to implement, we could also add a note that states that there could be compatibility problem between implementations 18:28:27 John_Boyer: but the rendering/editing components just need to mature 18:30:27 nick: I don't think we need to say something about interoperability because it is either a bug in the html that is generated or parsed by the component 18:31:20 -Steven 18:32:02 leigh: I think it is out of scope of the XForms spec to specify something about html interoperability inside a text area component 18:32:41 leigh: We don't say anything about the alpha transparency of PNG, which is a pain for IE6 users 18:36:42 s/need to mature/need to mature and otherwise HTML compatibility is just noted as being out of scope. XForms is just saying how to wire up these components which will hopefully be more compatible over time. 18:36:48 rrsagent, make minutes 18:36:48 I have made the request to generate http://www.w3.org/2009/06/25-forms-minutes.html John_Boyer 18:38:55 here 18:39:09 zakim, dial steven-617 18:39:09 ok, Steven; the call is being made 18:39:10 +Steven 18:41:55 scribenick: klotz 18:42:32 +1 for mediatype 18:42:35 John: Should we pull off mediatype on textarea? 18:42:44 Charlie: I think we should open it up to the html case. 18:42:46 +1 18:43:07 If no one volunteers I could put it on my list 18:43:10 John: Eric, since you provided one of the examples, did you implement the xhtml case? 18:43:17 Steven: What's the difference? 18:43:33 John: In XHTML we edit the data without encoding, using structural changes. 18:43:36 Steven: So it's XML. 18:43:38 Charlie: Inline 18:43:59 Charlie: A @ref has a subtree of XML under it instead of a string leaf element. 18:44:03 Steven: That sounds like the XHTML case. 18:44:20 John: Do we know of any implementations of the XHTML case. 18:44:35 Steven: So the chunk of XML that represents HTML is the case we're considering. 18:44:44 John: A text/html case that's encoded. 18:44:49 Steven: Just a string, in other case. 18:44:59 John: THen a separate case of handling XHTML as XML. 18:45:28 Leigh: My point about the text/html case is that it's purely presentation. 18:45:46 John: So are we comfortable not handling the XML case at this time? 18:45:54 Steven: Is it that much more work? 18:46:16 John: It changes the way the control behaves. We have no other control that does that. 18:46:22 John: I'd like to see both. 18:46:50 Steven: Let's do both. 18:47:01 Leigh: It's our first real control that binds to a tree. 18:47:04 Erik: copy 18:47:07 Leigh: Copy isn't a control 18:47:16 Erik: But select does, with copy. 18:47:20 John: But it's a non-leaf element. 18:47:23 John: Exactly 18:47:57 Leigh: So Erik why haven't you implemented it? 18:48:10 Erik: We had no demand for it. But there is no technical restriction. 18:48:42 Erik: The minor processing model updates are there. We now have filtering on HTML. 18:49:09 John: So we already have a control that does tree manipulation. 18:49:34 Erik: The itemset does it, so it's the control 18:50:02 John: So it seems reasonable to do both. We can decide if we want it to go into FPWD. 18:50:23 Erik: Do we also support application/xhtml+xml encoded? 18:50:32 Erik: And another mechanism to trigger the subtree addition? 18:50:42 an encoding attribute on textarea 18:51:00 Leigh: The atom people didn't do that, but they use keywords. 18:51:04 zakim, unmute me 18:51:04 [IPcaller] was not muted, nick 18:51:10 John: We could have encoding separately from MIME type. 18:51:21 Erik: Since it can store HTML as text why can't it store XHTML as text. 18:51:51 Erik: It's not ridiculous to have encoded XHTML. Maybe namespaces. 18:52:33 mediatype="application/xhtml+xml; encode=true" 18:52:57 mediatype="application/xhtml+xml" transform="base64-encode" 18:53:25 Erik: I'm not sure anybody is in charge of certifying those parameters. 18:54:04 Leigh: If we're going to worry about this we should worry about the filtering. 18:54:48 John: So you think they are separable issues or not? 18:55:14 Leigh: If the default is to do & encoding and we then introduce application/xhtml then we'd need to introduce a way to say not to escape it. 18:56:11 Nick: Can't we default it based on mediatype and say you have to specify somethign extra if you want it the other way around? 18:56:55 John: I think Leigh is arguing that we want the default to be escaped. 18:57:06 Leigh: I think we can decide what we want but we have to discuss it first. 18:57:19 Charlie: We're confusing mediatype and contenttype. 18:58:12 Leigh: We have to decide what we want defaulted before we default. 18:58:43 John: Maybe type mip. I'm not sure how you'd do it for the empty starting case. Our type MIP only assigns simple content types. 18:58:46 Erik: Only datatypes. 18:58:50 John: It can't be a type MIP. 18:59:20 John: Or you could drag in the whole XHTML schema. 18:59:24 Leigh: Or just div, as ATOM did. 18:59:32 Charlie: If it's encoded, it's a string. 18:59:47 John: If the field starts empty how can you tell it's supposed to be XML subtree? 19:01:10 John: What do they say in atom for XHTML? 19:01:17 Leigh: in RNG, anything in the XHTML namespace. 19:01:21 Erik: ... 19:01:29 Erik: A type MIP implies validation. 19:01:35 John: Or a different MIP. 19:01:42 Erik: I'd rather this be at the level of the control. 19:01:54 -wiecha 19:02:17 Leigh: It's data and it's a node; the only way we have of saying it's a tree is XML Schema. 19:02:37 John: It's a tree root, not a leaf node. I'd like to get to that on UI bindings as a qualifier. 19:03:03 John: Simple content mutation or tree mutation, and that tells me whether to do a rebuild. 19:03:18 Erik: If the control updates the structure it should use insert and delete or some higher-level mechanism on the instance. 19:03:57 John: It can be a UI binding attribute to say whether it happens. the way the control interacts with the data is node replacement instead of content replacement. 19:04:07 Erik: That would be the only case. 19:04:16 John: We could have a tree control in the future. 19:04:24 Erik: It depends. The tree control might know. 19:04:43 John: We might have components in the future, custom controls that manipulate a whole tree. 19:04:56 Erik: An attribute specific to the controll. 19:05:47 Erik: An xforms content type for xhtml. 19:05:56 John: Or any content, a subtree, that is generic. 19:05:58 19:06:23 19:06:42 What about "any element"? 19:06:44 Erik: Do we have a generic case? 19:06:49 Leigh: Yes, drawing in SVG. 19:06:59 John: Isn't there an xsd:anyElement? 19:07:20 that's what we use for instance content surely 19:07:41 yes 19:08:36 It's complextype/sequence/xsd:any/@namespace="##any" but does that allow toplevel text? 19:09:02 Erik: We'd be looking at creating types. We could have a type for xhtml or a type for XHTML+XML. 19:09:03 actually looks like xs:any, not xsd:any 19:09:26 John: For any XML-based mediatype you would need an XML schema type. 19:09:41 John: The type MIP doesnt' do type validation of complex types. 19:09:54 John: So if we want a minimal exception. 19:10:37 John: How do you operate without an XML schema then? Is there an alternative? 19:10:51 Erik: If you said xforms:xhtml it wouldn't mean a schema is required; the XForms engine could do it. 19:11:15 John: It could be any element. 19:11:25 Erik: with a built-in type you don't need a schema. 19:11:59 John: So if you had xforms:html as a new data type, how do we define it? They're not just keywords. 19:12:42 markbirbeck has joined #forms 19:13:01 19:13:23 unfortunately I have to switch to listen-only mode now 19:13:39 zakim, mute me 19:13:39 [IPcaller] should now be muted 19:14:12 -ebruchez 19:14:43 zakim, who is here? 19:14:43 On the phone I see Leigh_Klotz, [IPcaller] (muted), John_Boyer, Steven 19:14:44 On IRC I see markbirbeck, klotz, John_Boyer, RRSAgent, Zakim, wiecha, Steven, nick, trackbot 19:14:45 Leigh: If we use a schema-based way of indicating whether to encode or not, must processors examine all schema type declarations to see if they permit mixed content? 19:16:29 John: It seems heavyweight. Erik said maybe some aspect of the control defines whether it is XML encoded or not. 19:16:39 Leigh: Maybe we need a type mip that says it's a subtree. 19:16:52 +ebruchez 19:16:53 Leigh: But we have that for select already. 19:17:04 really seems strange this should be set by the control 19:17:17 ...just judging from the IRC, sorry 19:17:47 true, though it is already set by the control in the select/copy case. Maybe, though, we don't want to further open that door 19:17:59 Leigh: We are taking Charlie's point that the encoding should be a data property, but it may be too hard to recover from a schema type declaration so perhaps we need a type MIP that says leafnode="true|false" or something. 19:18:08 everyone is also mulling a different kind of MIP than the type MIP 19:18:18 k, thx 19:18:32 Tried to do type MIP, but seems we would have to make an exception because type MIP does datatype (simple content) only 19:18:48 yup 19:19:22 John: not only leafnode="true|false" but also an xpath because it would be nice to associate leafness with the node based on some attribute of the node itself. 19:19:32 John: Because that covers the atom case. 19:19:45 Leigh: Maybe we should be looking at schematron. 19:19:46 but then we should put it on the control again... 19:20:10 John: But it's our mip, not a type declaration. 19:20:35 Leigh: Wherever we put it is should be availbable in the instance. 19:21:38 could be dynamic not should I think 19:21:56 zakim, unmute me 19:21:56 [IPcaller] should no longer be muted 19:24:52 Leigh: it should be possible to be data driven. 19:25:09 John: So an xpath expression, on mip or control. 19:25:11 Leigh: Yes. 19:25:20 zakim, unmute me 19:25:20 [IPcaller] was not muted, nick 19:25:25 zakim, mute me 19:25:25 [IPcaller] should now be muted 19:26:39 John: I'd like to get an action item on this. I recall Nick said he might be willing. 19:27:24 John: Just make a choice; an xpath-bearing attribute to a control. Then after the first draft we can modify. 19:27:33 Leigh: That's better than a new MIP. 19:27:47 John: Yes, a leafness mip seems drastic. 19:28:17 just put it on my list then 19:29:22 if the groups has a look at my e-mail of today ;) 19:29:33 s/groups/group/ 19:29:44 ACTION: Nick van den Bleeken to write up new binding on textarea for leafiness. 19:29:44 Created ACTION-559 - Van den Bleeken to write up new binding on textarea for leafiness. [on Nick Van Den Bleeken - due 2009-07-02]. 19:29:51 zakim, unmute me 19:29:51 [IPcaller] should no longer be muted 19:30:02 -Steven 19:30:03 -Leigh_Klotz 19:30:05 -John_Boyer 19:30:08 -[IPcaller] 19:30:09 -ebruchez 19:30:09 Team_(forms)13:59Z has ended 19:30:10 Attendees were John_Boyer, wiecha, ebruchez, Leigh_Klotz, [IPcaller], Steven 19:30:16 rrsagent, make minutes 19:30:16 I have made the request to generate http://www.w3.org/2009/06/25-forms-minutes.html John_Boyer 19:30:22 rrsagent, bye 19:30:22 I see 2 open action items saved in http://www.w3.org/2009/06/25-forms-actions.rdf : 19:30:22 ACTION: nick to prepare update to 1.2 spec to reflect default for @method="get" [1] 19:30:22 recorded in http://www.w3.org/2009/06/25-forms-irc#T15-15-18 19:30:22 ACTION: Nick van den Bleeken to write up new binding on textarea for leafiness. [2] 19:30:22 recorded in http://www.w3.org/2009/06/25-forms-irc#T19-29-44