W3C Forms teleconference April 27, 2011

* Present

Alain Couthures, AgenceXML
Erik Bruchez, Orbeon
John Boyer, IBM
Leigh Klotz, Xerox (minutes)
Nick van den Bleeken, Inventive Designers
Philip Fennell, MarkLogic
Steven Pemberton, CWI/W3C (chair)
Dan McCreary, Dan McCreary Associates
Uli Lissé, DreamLabs

* Agenda


* Previous Minutes

http://lists.w3.org/Archives/Public/public-forms/2011Apr/0015.html http://www.w3.org/MarkUp/Forms/wiki/Minutes

* Request-Response IDs [was Submission Retries]

http://www.w3.org/MarkUp/Forms/wiki/Submission_Request-Response_IDs http://lists.w3.org/Archives/Public/public-forms/2011Mar/0017.html and http://lists.w3.org/Archives/Public/public-forms/2011Mar/0039.html http://lists.w3.org/Archives/Public/public-forms/2011Apr/0001.html and more

Leigh Klotz: John, did my answer satisfy you?
John Boyer: Yes.
Steven Pemberton: Which proposal.
Leigh Klotz: So one question is what about Cancel a Submission? It may be sensitive to cancel a purchase that's already gone forward, but if we have these IDs you can just ignore them yourself.
John Boyer: But you can cancel with a browser button now, and nobody thinks it gives back your money.
John Boyer: It seems useful to be able to cancel a submission that's on the way out still.

Steven Pemberton: OK, there are three proposal. In Proposal 1 where does the number come from? Does the user make it?
Leigh Klotz: That's propoasl 1.1.
John Boyer: So the number connects the xforms-submit to the xforms-submit-done or xform-submit-error.
Steven Pemberton: And you keep it?
John Boyer: Yes, you create a new piece of data and put the transaction ID into an attribute with an xforms-submit-done handler that uses an XPath predicate to put the answer in the predicate. I think that's the basic idea. There's a bit of an efficiency issue; the typical response we have a way of targeting where it goes. It almost like it has to go there and then you copy it somewhere else.
Leigh Klotz: You could have an XPath function that in targetref that gives you the target number.
John Boyer: So that would just be the event function.
Steven Pemberton: That sounds good.
John Boyer: We'd have to call it out in the spec that the evaluation of the targetref would have the event in the context. The problem is that the XPath event function is defined to work only when you process an event, whereas targetref is evaluated before the event happens. So it would have to be some other function. The targetref is evaluated, the data is replaced, and then the xpath-submit-done happens.
Leigh Klotz: Or you could have another event.
John Boyer: xforms-submit-nearly-done
Leigh Klotz: xforms-submit-replace-instance
John Boyer: A couple more events to do the same work.
Leigh Klotz: The advantage is you'd have the same function in both places.
John Boyer: That's in keeping with the roadmap for uploading, in-progress, etc.
Leigh Klotz: We should be consistent with XHR's lifecycle.

Steven Pemberton: We should perhaps code these out and see how they look.
Leigh Klotz: I'm not a big fan on 1.1.
John Boyer: There may be headaches with 1.0. We copy data from A to B.
Leigh Klotz: These are all additive proposals.
Steven Pemberton: We have a new proposal as well.
Leigh Klotz: That'a additive as well, adding a new event.
Steven Pemberton: So how about 1.2?
Leigh Klotz: Oh, right, it's built on 1.1 as well.
Steven Pemberton: What are the next steps? Flesh out proposal 1 and do example code.
John Boyer: I'm not pushing for this.
Steven Pemberton: What are the use cases?
Leigh Klotz: Multiple submissions for the same submission element. Multiple outstanding submissions.
Steven Pemberton: Who else does this?
Leigh Klotz: YUI. The predecessor to Android did this.
Steven Pemberton: Ok, you can fill in more.

ACTION-1794 Leigh Klotz to fill in http://www.w3.org/MarkUp/Forms/wiki/Submission_Request-Response_IDs Proposal 1, add the new xforms-submit-replace-instance event, and write sample code.

* C. M. Sperberg-McQueen observation on tabbed interfaces, focus, etc

http://lists.w3.org/Archives/Public/public-forms/2010Sep/0055.html Need someone to dis-entangle the issues and see what's 1.1/1.2/2.0

Leigh Klotz: There are some specific questions and some general questions.
Steven Pemberton: I think he's using Kurt Cagle's example http://xformstest.org/2010/07/kurt_cagle/index.xml
Steven Pemberton: He says "lose control of the tab."
Leigh Klotz: You can click below the tab and it loses focus. Also, setvalue. But John's switch/@ref would help with setvalue.
John Boyer: This isn't repeat: this is switch. Our switch is slightly underpowered because we say only one case is available and the others are not. Unfortunately the label for the case lives inside the case. So there's been confusion. To me that's just an appearance on switch, tabbed-appearance. The label inside the case is metadata. The switch can display it however it wants. Availability and relevance are about the form controls inside a case, not the metadata.
Leigh Klotz: How would you control whether a case is available or not?
John Boyer: The selected case is the only one available. People have the reaction to making it a trigger so they can run a toggle. That's where we run into trouble.
Leigh Klotz: You have a switch/@ref proposal. Can you use relevance to control which tabs are available?
John Boyer: You could use setvalue instead of toggle, but you still need an action or data to change which case you are on. That's a separate issue from describing which data are available. XForms switch can still display only the cases in the UI. We don't have that.
Leigh Klotz: You had switch/select1 earlier in your proposal.
John Boyer: The switch from select1 would populate the data.
Leigh Klotz: I meant the proposal of combining the two, not using them together. But we lost something when we went to switch/@ref.
John Boyer: Something like a tabbed interface would be outside the switch element or a group of triggers on top. What we lost was that the switch would be the rounded square, and the four tabs above it would be separate controls.
Leigh Klotz: That approach works well if we have a component system, but without it we're doing a lot of repetitive typing.
John Boyer: Absolutely. We'd like to make repeat smarter and provide tabbed interfaces, but haven't gotten around to it.
Steven Pemberton: Right, we haven't crystallized the changes we want to make to be able to fully describe it. So Michael's problem here is sort of at a presentation level. He can do the functional part, but he can't get the presentation he needs. The question is whether any of the proposals we have at hand would solve his problem.
Leigh Klotz: What presentation?
Steven Pemberton: The examples work but the color of the tabs change in http://www.w3.org/MarkUp/Forms/2010/xforms11-for-html-authors/tabs.xml
John Boyer: As you press the title the file description it turns grey.
Dan McCreary: Which one?
Steven Pemberton: http://tei2010.blackmesatech.com/exx/helloworld/cagle_tabs_mod.xhtml
Dan McCreary: When you click in the content area, the tab label goes gray.
Steven Pemberton: It uses CSS focus. CSS wasn't designed for this. So in a sense that's too bad, but the essential question is, can he do it in some other way, or are we planning something?
Dan McCreary: Don't the existing examples in the wikibook work?
Dan McCreary: http://xforms-examples.googlecode.com/svn/trunk/02-controls/10a-Horiz-Tab-Menu/XForms-Horizontal-Tab-Menu.xhtml
John Boyer: The markup example shows that he is able to do a tabbed interface for switch without switch/@ref. If this switch did use data referencing all that would be different is that when you toggle between cases, the active case would be stored. But this construct would work the same.
Dan McCreary: It uses the CSS target attribute.
John Boyer: Dan, does that do what Michael wants?
Dan McCreary: I use the target pseudo-element.
Steven Pemberton: Which one?
Dan McCreary: The example doesn't match the text. http://en.wikibooks.org/wiki/XForms/Horizontal_File_Tab_Menu
John Boyer: He wants the selected tab to be highlighted.
Dan McCreary: That's different; mine has a hard-coded tab color.
John Boyer: Yes, that's not the effect he wants.
Steven Pemberton: I see how the target property could work, but it messes up with the history. Every time you click, it goes back to the previous tab you are on.
Dan McCreary: That is perhaps an unwanted side effect.
Steven Pemberton: It's an interesting effect.
Leigh Klotz: The web-apis Javascript history functions may make this easier.
Steven Pemberton: Sounds like a big hammer.

Dan McCreary: We should have a best practice for tabs.
Steven Pemberton: The problem seems to be the unrolling. Normal toggles will do the rigth thing. Isn't the problem the technique.
John Boyer: I don't think so. Even when Dan's technique, you can't get the technique to work where all non-selected cases are the other color.
Nick van: I use AVT for this. It's easy. You can change the class of a div based on instance data.
Dan McCreary: Do you have a sample?
Nick van: It's quite easy; just an XPath if() function: {if(current-selected-tab=current-value, then selected else non-selected).
Dan McCreary: I'd like to write up examples.
Steven Pemberton: It's not official XForms yet.
John Boyer: Does this example use the @ref version of switch?
Nick van: No, it uses group and repeat. There is an element for every repeat item, same as Kurt Cagle's first example. Then using AVT on the div of the label you can inject the correct class on the div and style it in CSS.
Steven Pemberton: So what Michael's is asking for is the ability to style the last-pressed toggle.
Leigh Klotz: If we had switch/@ref then you wouldn't need the...
John Boyer: You wouldn't need the setvalue and toggle would write the data. You can then style the trigger based on which case you have.
Steven Pemberton: Yes.
John Boyer: People want to use data in presentation calculations.
Steven Pemberton: Yes, you want negative numbers to be red.
Steven Pemberton: Good discussion; no particular solution, but I think we can answer Michael.

ACTION-1795 Steven Pemberton to answer http://lists.w3.org/Archives/Public/public-forms/2010Sep/0055.html

* IRC Minutes


* Meeting Ends