W3C Forms teleconference October 28, 2009

* Present

Erik Bruchez, Orbeon
John Boyer, IBM (chair)
Charlie Wiecha, IBM (left early)
Leigh Klotz, Xerox (minutes)
Steven Pemberton CWI/W3C

* Agenda


* Next FtF (Nov 2-3 and 5-6, Nov. 19 Virtual day)

* Topics for FtF Agenda

Steven Pemberton: We should have a list.
John Boyer: We can list the XForms 1.2 issues. We don't need time slots, right?
Steven Pemberton: Right.
Steven Pemberton: Hours are 9-5.
Leigh Klotz: We can do what we want for the Xerox-hosted meeting.
John Boyer: I'll put the XForms 1.2 features as the discussion topics, OK?
Steven Pemberton: Sounds perfect.

Resolution 2009-10-28.1: We will discuss XForms 1.2 features at the upcoming FtF.

Steven Pemberton: Shall we meet Sunday night?
John Boyer: I'm in a remote hotel.
Charlie Wiecha: I'm not attending.
John Boyer: Why don't we coordinate on the list?

* Press/Testimonials

John Boyer: What should we do with non-member testimonials? Put them on our web page?
Leigh Klotz: Can we just put them all on a wiki page?
Charlie Wiecha: Just on the wiki seems appropriate.
John Boyer: Yes, we're free to put it in our own news site.
Charlie Wiecha: [1/2 hour break]
John Boyer: Maybe in the dated group page.
Steven Pemberton: That works too.
John Boyer: Steven or I could do it.
Steven Pemberton: I'm happy to do it.
John Boyer: I'll send you the text file.
Steven Pemberton: I won't do it before Friday.
John Boyer: And update the Overview page for the news items.

Action 2009-10-28.1: Steven Pemberton to publishe all received testimonials on dated WG page and link from News items.

* normalizedString


Erik Bruchez: String normalization takes place before validation, so when you validate with normalized-string or token, there's no difference than validating with a xsd:string. You might be more restricted by using xsd:string in some scenarios, for example if you use a restriction with an enumeration. So we should validate the same way with bind/@type and normalize before validating with normalized-string or token. So we have a funny behavior, but that's what XML Schema validators do as well. That's what I understood from my exchange with Eric.
John Boyer: Deep in the schema spec you can decide which way to go, but they don't say which way to go. We've taken the default settings because we want to use COTS schema engines.
John Boyer: So we need to make a small test change to 5.1.b.
Erik Bruchez: Let's look at it.
John Boyer: I'll put it on the F2F agenda at the head of the list.

* XForms 1.1 Submission


John Boyer:

* Typo in XForms 1.1


Action 2009-10-28.2: John Boyer to fix small typo in http://lists.w3.org/Archives/Public/www-forms-editor/2009Oct/0006.html

* Test Suite Question


Leigh Klotz: This post claims we haven't released the 1.1 test suite.
John Boyer: We did incorporate the changes. I'm not sure what's up.
Leigh Klotz: Also they ask for a new version of the XForms Quick Reference. http://www.w3.org/MarkUp/Forms/2006/xforms-qr.html
Steven Pemberton: Good thinking.

Steven Pemberton: Steven Pemberton to update http://www.w3.org/MarkUp/Forms/2006/xforms-qr.html and XForms Guide for HTML Authors for XForms 1.1.

John Boyer: Here's the full test suite link: http://www.w3.org/MarkUp/Forms/Test/XForms1.1/Edition1/driverPages/html/
John Boyer: This test gives a compute-exception and it relies on the fact that nobody defines a function called "invalid" and should throw an error at start up.

Leigh Klotz: I responded on his blog:

Thanks for your comments. We will update the XForms guide documents. But we're not sure about your test suite comments. The full test suite is at http://www.w3.org/MarkUp/Forms/Test/XForms1.1/Edition1/driverPages/html/ The implementation report, which shows two implementations of each required feature and one of each optional feature is linked from the XForms 1.1 Recommendation: http://www.w3.org/TR/xforms11 http://www.w3.org/MarkUp/Forms/2008/XForms11ImplReports/results.htm The particular test you mention is a test of error handling for the extensions attribute. The test asks for an error to be signalled if the implementation does not provide an XPath function called "invalid." All implementations passed this test. Please write back, preferably to www-forms-editor, if you have any more comments about the test suite.

* XForms 1.2

* Finish external model discussion


John Boyer: We've talked about various solutions, including xinclude.
John Boyer: Have we talked about including fragments of multiple layers (binds, UI controls, instances). For example, a form which collects addresses.
Leigh Klotz: We talked about doing that with encapsulation.
John Boyer: Right, we talked about doing it using components. And this might not inject into multiple layers, because that would be a component, and you'd want to re-use it multiple times: ship-to, bill-to.
Leigh Klotz: I think it turns precisely into the components discussion.
John Boyer: OK, so that's out of bounds as a separate problem.
John Boyer: So we want to discuss this for a couple of hours.
Steven Pemberton: Sounds good.

* XForms 1.2 Requirements Document

John Boyer: We have another issue: we need a requirements document for XForms 1.2 possibly before FPWD. Or at least before last call.
Leigh Klotz: I'd prefer after FPWD.

* Rechartering

John Boyer: We need to get started. Steven?
Steven Pemberton: I don't have much time before the FtF.
John Boyer: It may be more important than the testimonials.

Action 2009-10-28.3: Steven Pemberton to provide draft charter document for FtF.

* Updates to Custom XPath Functions

http://www.w3.org/MarkUp/Forms/wiki/Custom_XPath_functions http://lists.w3.org/Archives/Public/public-forms/2009Aug/0012.html

Erik Bruchez: John sent out examples, in the Wiki page. I proposed some variations.
Erik Bruchez: One scenario was pure expression. We don't have problems with the processing model there. There's not much more needed. Variables or a local instance mechanism can implement complicated functions. You can do that in XSLT as well, accessing global variables, creating local variables. It would be a nice parallel with what XSLT supports already.
Erik Bruchez: If we agreed on the syntax for function and parameters, what would be missing would be (possibly) local instances and XForms Actions in functions.
Erik Bruchez: Then iterations. We might support actions with some exceptions.
John Boyer: The truly painful part about actions and local instances is that the actions must be restricted to local instances.
Erik Bruchez: XSLT2 has a "sequence constructor" which lets you create a variable with nested XML elements using XSLT (for-each) and other variables. So you have a whole syntax re-used other places in XSLT which lets you construct results in subtrees (actually, sequences which may be strings, elements, subtrees).
John Boyer: So if we went with a pared-down variable-return syntax we could expand it later.
Erik Bruchez: I think so. In XSLT you can say 'variable select="3"' or you can use th more complex syntax.
John Boyer: It would work with XPath 1.0 as well, which is appealing. If I had a function whose params and return value is defined by as="string" or as="nodeset" it looks like to me like there's no way to modify any of the nodes within these functions.
Erik Bruchez: Yes.
John Boyer: That's appealing.
Erik Bruchez: There are no standard XPath 1.0 or 2.0 functions which modify nodes. Even the node creation functions don't.
Erik Bruchez: I hope we can re-use this definition of variables to introduce variables in models and actions as well.
John Boyer: It would be useful to keep that as a separate "Category XForms1.2" wiki page so we can track it the issues there: variable lifetime, etc.
John Boyer: It would be nice to get this page pared to your functional version of the examples.

Action 2009-10-28.4: Erik Bruchez to change http://www.w3.org/MarkUp/Forms/wiki/Custom_XPath_functions to use params, variables, and returns for FtF review.

* submission to a "new" window (and/or an iframe?)

John Boyer: One of the issues we had was xforms-load, which I view as a shorthand for a send and a submission. But we don't have the attributes from xforms-load available on submission. We need someone to write up a page on this. Does this seem like a good idea?
Steven Pemberton: I'm not sure.
John Boyer: We don't have officially with load is ...
Erik Bruchez: In HTML, it's "_top" or an ID.
Steven Pemberton: And "_new" for unnamed new windows.
John Boyer: It seems we should have the same facility in the submission target attribute. We can do this in an hour or so at the Ftf.

* submission progress, cancellation

John Boyer: This may be a 2.0 feature. Obviously when you navigate away it will shut down. We don't have a way to find out what submissions are in progress or to stop them. Maybe it's a DOM event.
Steven Pemberton: We're DOM neutral so we'd need an event.
Leigh Klotz: XHR has progress events.
Steven Pemberton: We should be close to XHR if possible.
Leigh Klotz: Anne's document doesn't have it yet but it's implemented already. Here's Mozilla's documentation: https://developer.mozilla.org/En/Using_XMLHttpRequest#Monitoring_progress
John Boyer: Where's the event defined?
Leigh Klotz: This document is a couple of years old: http://www.w3.org/TR/2007/WD-progress-events-20071023/
John Boyer: How often is the event dispatched?
John Boyer: Should we model ours after this event?
Leigh Klotz: I think we should contact the XHR and progress-event spec comment lists and ask what the status is so we can coordinate.
John Boyer: We just want to reference it and may implement it separate from availability in browsers.
Leigh Klotz: It would be best if both XForms and XHR refer to the definition elsewhere and they access it through onprogress and we access it through XML Events.

* Instant upload submission to server

John Boyer: Some have asked for uploads to be done differently. Usually you hit upload and pick a file and it actually uploads the content at that point.
Leigh Klotz: That's done with a separate form as the HTML4 upload control does not do that.
John Boyer: Is there any interest in combining it with submission, so if you pick a resource locally and your upload is connected to a submission, it would take that file and upload it using the xforms submission and then some aspect of the submission, perhaps the returned result with a PUT or POST, would the URL location on the server where the file was uploaded to. It seems useful if we could make that upload refer to the server side resource where it was put by the submission.
Leigh Klotz: I'd say we see if we can implement this with what we have, and if so, decide whether to put syntactic sugar on it, and if it can't be then we analyze the gap.
John Boyer: If you have an anyURI upload, some local file:url is placed into the data node, so your submission can be multipart. If I tried to do that today I'd want to use upload, and when the user finishes using the upload, a URL appears in the data.
Leigh Klotz: It sounds like we need insert instead of replace on result of the upload.
John Boyer: If you have the base64binary it gives you the content in the instance data.
Leigh Klotz: I don't think the spec says you have to put the data in.
John Boyer: I think it does.
Leigh Klotz: I see. Well, if you have large data it gets loaded into memory.
John Boyer: If it were easy for the upload to say compress...
Leigh Klotz: Compression isn't the issue. If you want programmatic access to files that's a new requirement.
John Boyer: If you want a 64MB file you wouldn't bind it to base64binary or hexbinary. But you can't limit the size. There are some problems.

Leigh Klotz: Do you want to insert the resulting URL into the other instance?
John Boyer: It's not XML.
Leigh Klotz: If you use it multiple times you need it.
John Boyer: Yes, dealing with multiple files also seems important.

John Boyer: I'd like to have a submission with an upload with local resources sent.
Leigh Klotz: I understand the goal, but we need to decide if we need syntactic sugar or new features.
John Boyer: We don't guarantee what the resulting URL will be.

Action 2009-10-28.5: Leigh Klotz to write example of immediate upload using XForms 1.1 features.

* IRC Minutes


* Meeting Ends