IRC log of forms on 2009-06-11

Timestamps are in UTC.

13:52:45 [RRSAgent]
RRSAgent has joined #forms
13:52:45 [RRSAgent]
logging to
13:54:15 [John_Boyer]
John_Boyer has joined #forms
13:54:27 [John_Boyer]
zakim, code?
13:54:27 [Zakim]
sorry, John_Boyer, I don't know what conference this is
13:54:32 [John_Boyer]
zakim, this will be forms
13:54:32 [Zakim]
I do not see a conference matching that name scheduled within the next hour, John_Boyer
13:57:28 [John_Boyer]
zakim, room for 10 people for 360 mins?
13:57:29 [Zakim]
ok, John_Boyer; conference Team_(forms)13:57Z scheduled with code 26631 (CONF1) for 360 minutes until 1957Z
13:57:43 [John_Boyer]
zakim, this will be forms
13:57:43 [Zakim]
ok, John_Boyer; I see Team_(forms)13:57Z scheduled to start now
13:57:58 [John_Boyer]
zakim, room for 10 people for 400 mins?
13:57:58 [Zakim]
John_Boyer, an adhoc conference was scheduled here less than 2 minutes ago
13:58:26 [John_Boyer]
rrsagent, make log public
13:59:05 [John_Boyer]
Meeting: W3C Forms WG Virtual Face to Face Day, 11 June 2009
14:01:40 [unl]
unl has joined #forms
14:01:45 [Zakim]
Team_(forms)13:57Z has now started
14:01:53 [Zakim]
14:02:18 [John_Boyer]
14:02:31 [John_Boyer]
John_Boyer has changed the topic to: Agenda:
14:02:53 [Steven]
zakim, dial steven-617
14:02:53 [Zakim]
ok, Steven; the call is being made
14:02:54 [Zakim]
14:03:21 [nick]
zakim, code?
14:03:21 [Zakim]
the conference code is 26631 (tel:+1.617.761.6200 tel:+ tel:+44.117.370.6152), nick
14:03:45 [Zakim]
14:03:49 [wiecha]
wiecha has joined #forms
14:03:58 [wiecha]
zakim, code?
14:03:59 [Zakim]
the conference code is 26631 (tel:+1.617.761.6200 tel:+ tel:+44.117.370.6152), wiecha
14:04:04 [nick]
zakim, I am [IPCaller]
14:04:04 [Zakim]
ok, nick, I now associate you with [IPcaller]
14:04:25 [Zakim]
14:04:33 [wiecha]
zakim, [IBM] is wiecha
14:04:33 [Zakim]
+wiecha; got it
14:05:09 [Zakim]
14:05:39 [unl]
zakim, mute me
14:05:39 [Zakim]
unl should now be muted
14:06:06 [John_Boyer]
Chair: John
14:06:06 [Steven]
zakim, who is here?
14:06:06 [Zakim]
On the phone I see John_Boyer, Steven, [IPcaller], wiecha, unl (muted)
14:06:08 [Zakim]
On IRC I see wiecha, unl, John_Boyer, RRSAgent, Zakim, nick, Steven, kenneth_, markbirbeck, trackbot
14:06:42 [John_Boyer]
Scribe: Charlie
14:07:23 [Steven]
14:07:28 [wiecha]
scribe: wiecha
14:07:37 [John_Boyer]
Regrets: None
14:08:21 [wiecha]
Topic: Disposition of Comments on XForms 1.1 CR
14:09:01 [wiecha]
Steven: is the first issue on the list an actual issue?
14:09:07 [wiecha]
...before the date of CR draft
14:09:15 [wiecha]
John: thinking we could skip that one since it was also answered
14:09:21 [wiecha]
Steven: what's the answer?
14:09:42 [wiecha]
John: in December...
14:10:17 [wiecha]
...we've been pretty good about answering everything in this list...
14:10:42 [wiecha]
14:11:08 [wiecha]
John: issue disguised as question
14:11:17 [John_Boyer]
14:12:23 [wiecha]
...nature of events allows for the utility of iteration in cases that were questioned
14:12:34 [wiecha]
...even more so, we're trying to be modular
14:12:58 [wiecha]
...and not introduce exceptions where not needed
14:13:09 [wiecha]
...disposition is "answered"
14:13:32 [wiecha]
14:14:35 [wiecha]
rejected since the example cited is actually correct
14:14:52 [Zakim]
14:15:00 [wiecha]
Nick (author): I'm ok with that result
14:15:20 [wiecha]
14:15:38 [wiecha]
John: accepted and fixed in sped
14:15:41 [wiecha]
14:16:03 [wiecha]
14:16:59 [wiecha]
14:17:20 [wiecha]
...but not replied
14:17:33 [wiecha]
...changed in spec
14:17:48 [wiecha]
14:19:39 [John_Boyer]
14:19:45 [wiecha]
14:19:58 [wiecha]
modified and accepted
14:20:23 [wiecha]
14:21:16 [wiecha]
duplicate, replied directly
14:21:37 [wiecha]
14:21:54 [wiecha]
accepted and updated in spec
14:22:13 [wiecha]
14:22:55 [wiecha]
accepted and fixed
14:23:29 [unl]
Steven: s/Ficed/Fixed/
14:23:58 [Steven]
I had already ficed that one ;-)
14:25:26 [wiecha]
14:25:39 [wiecha]
14:25:57 [wiecha]
accepted and changed
14:26:15 [wiecha]
14:27:59 [wiecha]
editorial, rejected as cases are different
14:28:06 [wiecha]
originator accepts
14:28:22 [wiecha]
14:28:44 [wiecha]
accepted and changed
14:28:52 [wiecha]
author accepts
14:29:16 [wiecha]
14:29:29 [wiecha]
14:33:15 [Zakim]
14:33:18 [John_Boyer]
scribe: nick
14:34:48 [nick]
Fixed this and send direct response
14:35:47 [nick]
14:36:45 [nick]
accepted and fixed it replied on the other list
14:37:18 [nick]
is editorial
14:38:15 [nick]
14:38:20 [nick]
accept & fix
14:39:08 [nick]
14:46:29 [Steven]
rrsagent, pointer?
14:46:29 [RRSAgent]
14:47:13 [John_Boyer]
The person who raised this issue with me verbally caused me to write this email, but it is clear that their point is invalid since their method creates non well-formed XML, so I withdraw the comment asking for a clarification
14:47:30 [Steven]
This is about issues
14:47:38 [Steven]
14:47:44 [Steven]
14:49:41 [nick]
14:50:19 [nick]
accept and fixed, clarification
14:50:32 [nick]
14:50:42 [nick]
14:51:19 [nick]
Steven: We should ask Vlad to respond positive on it
14:53:51 [John_Boyer]
14:54:30 [nick]
14:55:23 [ebruchez]
ebruchez has joined #forms
15:04:05 [nick]
editorial issues accepted
15:04:40 [nick]
15:06:12 [nick]
editorial, fixed, replied to
15:06:30 [nick]
15:06:39 [ebruchez]
good morning, what's the call-in information?
15:06:49 [nick]
zakim, code?
15:06:49 [Zakim]
the conference code is 26631 (tel:+1.617.761.6200 tel:+ tel:+44.117.370.6152), nick
15:07:10 [ebruchez]
thanks Nick/Zakim ;)
15:07:44 [Zakim]
15:12:39 [nick]
editorial, modify and accept, replied too
15:12:46 [nick]
15:14:17 [nick]
15:14:23 [nick]
editorial, fixed, replied
15:14:31 [nick]
15:15:21 [nick]
the answer is already in the spec, no change necessary, replied
15:16:37 [unl]
zakim, unmute me
15:16:37 [Zakim]
unl should no longer be muted
15:20:48 [unl]
zakim, mute me
15:20:48 [Zakim]
unl should now be muted
15:25:44 [Steven]
15:26:08 [Steven]
15:26:17 [Steven]
Nick,. are you happy with that reply?
15:26:22 [Steven]
rrsagent, pointer?
15:26:22 [RRSAgent]
15:26:26 [nick]
I'm happy with the response for
15:27:10 [Steven]
rrsagent, pointer?
15:27:10 [RRSAgent]
15:27:17 [Steven]
I am happy with the reply at
15:29:19 [Steven]
15:37:25 [nick]
For me '11.2 The xforms-submit Event - concurrent submissions' is an accept not a Modify and Accept, we just reworded what he was proposing
15:40:15 [nick]
John: agree that '11.2 The xforms-submit Event - concurrent submissions' is just an Accept
15:44:29 [nick]
looks good
15:44:41 [nick]
John: yes
15:46:29 [nick]
Steven: Do we resolve to add a link to the DC in the current draft?
15:47:41 [nick]
John: OK
15:47:52 [John_Boyer]
15:48:37 [nick]
Steven: We can just change the status, the original resolution was about the content not the status
15:51:12 [nick]
TOPIC: Agenda and XForms 1.2
15:52:16 [nick]
I think these items are the ones which are most urgent and we prob. can get the most velocity on those
15:52:32 [nick]
s/I think/John: I think/
15:53:00 [nick]
John: Most of the items are just small diffs, there are only a few of multiple pages
15:53:55 [nick]
John: People can produce the spec ready text in the next week, and we can talk about it next week
15:54:06 [nick]
John: Is this a descent plan?
15:54:13 [nick]
group: aggrees
15:54:20 [unl]
15:55:40 [nick]
John: Next on the agenda are some items that need some more discussion... the Focus on Submission Improvements are probably not going to be completed in 1 hour
15:56:36 [nick]
John: The focus on UI improvements needs to be probably going to be discussed on the list first because we are an hour late
15:56:51 [nick]
15:56:53 [Zakim]
15:56:54 [Zakim]
15:56:54 [Zakim]
15:56:56 [Zakim]
15:56:57 [Zakim]
15:57:03 [Zakim]
15:57:04 [Zakim]
Team_(forms)13:57Z has ended
15:57:05 [Zakim]
Attendees were John_Boyer, Steven, [IPcaller], wiecha, unl, kenneth, ebruchez
15:57:34 [John_Boyer]
rrsagent, make minutes
15:57:34 [RRSAgent]
I have made the request to generate John_Boyer
16:59:27 [wiecha]
zakim, code?
16:59:27 [Zakim]
the conference code is 26631 (tel:+1.617.761.6200 tel:+ tel:+44.117.370.6152), wiecha
17:01:03 [Zakim]
Team_(forms)13:57Z has now started
17:01:06 [Zakim]
17:01:10 [Zakim]
17:01:15 [wiecha]
zakim, [IBM] is wiecha
17:01:15 [Zakim]
+wiecha; got it
17:01:53 [Zakim]
17:03:18 [John_Boyer]
zakim, who is here?
17:03:18 [Zakim]
On the phone I see wiecha, kenneth, John_Boyer
17:03:19 [Zakim]
On IRC I see ebruchez, wiecha, John_Boyer, RRSAgent, Zakim, nick, Steven, kenneth_, markbirbeck, trackbot
17:03:28 [Zakim]
17:03:46 [nick]
zakim, code?
17:03:46 [Zakim]
the conference code is 26631 (tel:+1.617.761.6200 tel:+ tel:+44.117.370.6152), nick
17:03:49 [John_Boyer]
scribe: wiecha
17:04:11 [Zakim]
17:04:19 [John_Boyer]
17:04:26 [nick]
zakim, I am ??P16
17:04:27 [Zakim]
+nick; got it
17:05:02 [wiecha]
Topic: Create Team Plan for PFWD of XForms 1.2
17:05:20 [wiecha]
PicoForms and Orbeon have lists of features already implemented and also high priority items
17:05:23 [wiecha]
linked above
17:05:31 [wiecha]
many are already on future-features list
17:05:41 [wiecha]
and some have been implemented as well by others in their own ways
17:05:53 [wiecha]
implying there's a good place to start wrt standardization
17:05:55 [unl]
unl has joined #forms
17:05:59 [nick]
zakim, who is here?
17:05:59 [Zakim]
On the phone I see wiecha, kenneth, John_Boyer, ebruchez, nick
17:06:00 [Zakim]
On IRC I see unl, ebruchez, wiecha, John_Boyer, RRSAgent, Zakim, nick, Steven, kenneth_, markbirbeck, trackbot
17:06:13 [wiecha]
John: tried to go through longer list on this link:
17:06:13 [John_Boyer]
17:06:34 [wiecha]
...and to delete things that weren't as important, urgent, big etc
17:06:43 [wiecha]
s/big/too big
17:06:56 [wiecha] have a list of things that are quickly doable
17:07:15 [Zakim]
17:07:20 [wiecha]
e.g. case() function
17:08:00 [wiecha]
...vs. something like dialogs will require more technical work...not so low-hanging fruit
17:08:42 [wiecha]
...will likely be other things going into 1.2 but wanted to have a list to start quickly on
17:08:53 [wiecha]
...for the june f2f (e2e) days
17:09:05 [wiecha]
...pls suggest others if you have them
17:09:49 [wiecha]
...let's go through sequentially and set some action items for first draft of spec-like text
17:10:05 [wiecha]
...first is context everywhere, context on bind elements
17:10:19 [wiecha] of the list due to thematic clustering not priority -- not a prioritized list
17:10:26 [wiecha]
...first two points are about xpath
17:10:50 [wiecha]
...issue with this item is there's already an action item, did work in binding attributes spec
17:11:03 [wiecha]
...talking about creating a delta spec as first working draft of xforms 1.2
17:11:16 [wiecha] some of the work is to take previous text and rework into paragraphs for delta spec
17:11:53 [wiecha]
ACTION: John_Boyer to write up first spec text for context everywhere, context on bind elements
17:11:53 [trackbot]
Sorry, couldn't find user - John_Boyer
17:12:15 [wiecha]
John: next topic is custom xpath functions, also from host language, e.g. js
17:12:33 [wiecha]
...understand there are implementers doing custom xpath functions in various ways
17:12:37 [wiecha]
e.g. ubiquity xforms
17:12:47 [wiecha]
...also in picoforms? (yes)
17:12:54 [wiecha]
...not yet in orbeon
17:13:10 [wiecha]
Erik: Kenneth, do you have examples of syntax to do this?
17:13:22 [wiecha]
Kenneth: yes, we support several scripting languages in addition to JS
17:13:31 [wiecha] this from API or markup level? guessing from markup
17:13:51 [wiecha]
Kenneth: ok, I can send something to the list
17:13:55 [Steven]
zakim, dial steven-617
17:13:55 [Zakim]
ok, Steven; the call is being made
17:13:57 [Zakim]
17:14:07 [John_Boyer]
<script src="format.js" type="text/javascript">/**/</script>
17:14:34 [John_Boyer]
function currency(value, digits) {
17:14:38 [John_Boyer]
17:15:05 [John_Boyer]
<xforms:output class="regular" value="javascript:currency(number())">
17:15:43 [John_Boyer]
17:15:49 [wiecha]
Nick: do you require an XML declaration?
17:16:34 [wiecha]
John: in the case of JS we just defined a namespace below xforms with #inline...could talk about what that looks like...
17:16:48 [wiecha]
...when looking for functions in that namespace, there's an implementation defined way to get to those inline functions
17:17:18 [wiecha]
there's no definition of how to resolve, just how to reference
17:17:36 [wiecha]
Nick: in some JS implementations need a declaration of arg list and types etc
17:17:49 [wiecha]
John: yup, makes sense
17:18:26 [wiecha] of the goals of the stds effort is to get things to interoperate
17:19:10 [wiecha]
...if each impl followed its own methods for resolving references, the markup itself would still interoperate
17:19:35 [wiecha]
Erik: thought the idea was to be able to define xpath functions using xforms itself...a combination of actions
17:20:01 [wiecha]
John: we should look at both
17:20:45 [wiecha] very interested in composing actions as well
17:21:09 [wiecha]
17:21:19 [wiecha]
s/as well//
17:21:56 [wiecha]
Eric: clearly use cases for both
17:22:16 [wiecha]
17:22:33 [wiecha]
Erik: seems like the work is fairly different for the two cases
17:23:26 [wiecha]
John: functions should not have side effects
17:23:49 [wiecha]
...if we run a set of actions that cause events which then take other "actions" can be problematic
17:24:07 [wiecha]
...e.g. during calculate start get insert and delete events which cause setvalue actions etc etc
17:24:12 [wiecha]
17:24:35 [wiecha] way to determine order if calculations have side effects with dependencies that are not visibile
17:24:45 [wiecha]
...same problem for custom JS which calls DOM API
17:25:03 [wiecha]
Charlie: forces complete rebuild
17:25:34 [wiecha]
Erik: good point but inevitable with general extensibiility through xpath
17:25:47 [wiecha]
...not fixable other than telling function implementors to be careful
17:26:11 [wiecha] vs. unsafe actions -- impossible to avoid the problem entirely
17:27:12 [wiecha]
...some use cases are ok, ... (lists couple of examples, missed details)
17:27:59 [wiecha]
Nick: what are the use cases of functions that change the DOM? maybe if we have fns that don't change anything vs those that do we can avoid the problem
17:28:34 [wiecha]
John: yes, by limiting the parameter stack...
17:28:37 [nick]
correction have custom actions, than can change the DOM
17:29:24 [wiecha]
Erik: or for example not show updates until after query completes to limit scope of changes
17:29:54 [wiecha]
...harder to handle in procedural languages than, for example, in xquery update
17:30:16 [wiecha]
...can contain potential scope of changes and do analysis more readily
17:30:38 [wiecha]
John: yes, but back to Nick's point if we create custom "actions" do we need xpath functions that also perform mutations?
17:30:59 [wiecha]
...reading xpath 1.0 there's no support for fns that do updates
17:31:03 [wiecha]
Nick: neither in xpath 2.0
17:31:24 [wiecha]
...and even in xquery update can only update a given subtree once during any given query
17:31:45 [wiecha]
Erik: proposal would be functions w/o side effects affecting the DOM and secondly reusable actions which can be easily called
17:32:24 [wiecha]
...we currently simulate reusable actions by dispatching events to approximate procedure calls
17:33:05 [wiecha]
John: when talking about custom xpath fns in terms of xforms actions we talked about limiting scope of what they could mutate to just local variables
17:33:39 [wiecha]
...a fn implementation would have local model, for local vars, produce return result...only mutate within this local scope
17:33:57 [wiecha]
...might contain the complexity
17:34:22 [wiecha]
...start with a somewhat limited functional scope like this and see if more is needed later
17:34:52 [wiecha]
John: is this a topic that anybody wants to drive? with first draft of spec-like text for 1.2???
17:35:14 [wiecha]
Erik: not sure if we should skip it but someone who has already implemented it would be great
17:35:24 [wiecha]
...don't know if anyone has yet done it...
17:35:47 [wiecha]
...might be good to have somebody experiment first
17:36:33 [wiecha]
John: not sure if there's much diff between javascript invocation with limited scope and xforms actions that operate over local model...
17:36:50 [Zakim]
17:37:24 [wiecha]
...typically have implementors who have multiple designs different from the "standard" one which usually happens during CR phase when they migrate to the spec mechanism
17:37:41 [wiecha]
Charlie: thought Erik was proposing doing that first
17:37:51 [wiecha]
John: not xforms actions version, no
17:38:05 [wiecha]
Erik: there are use cases that are much simpler...not necessarily with nested models etc
17:38:16 [wiecha]
...e.g. xpath expression reuse
17:38:31 [wiecha]
...over multiple lines, particularly in xpath 2.0 with conditions, for etc
17:38:44 [wiecha]
...happens in xpath 1.0 too
17:38:50 [nick]
nick has joined #forms
17:38:54 [nick]
zakim, code?
17:38:54 [Zakim]
the conference code is 26631 (tel:+1.617.761.6200 tel:+ tel:+44.117.370.6152), nick
17:38:57 [wiecha]
Erik: just having a short-cut form for longer xpath expressions would be useful
17:39:15 [wiecha]
...could be a simple templating mechanism
17:39:25 [Zakim]
17:39:36 [nick]
zakim, ??P13
17:39:37 [Zakim]
I don't understand '??P13', nick
17:39:46 [nick]
zakim, I am ??P13
17:39:46 [Zakim]
+nick; got it
17:40:34 [wiecha]
John: biggest problem with that kind of "function" (which could run an xpath that referenced instance data in the model rather than its parameters) is also a problem for recalculate engine
17:40:58 [wiecha]
John: unless input parms are the only things the reusable xpath can operate on then have problem seeing dependencies of a calculate containing that fn call
17:41:03 [wiecha]
Erik: yes, have that problem in general
17:41:53 [wiecha] per previous discussion have to run the xpath expressions any way to determine dependencies
17:42:34 [wiecha]
John: the problem is when we calculate nodes an expression is dependent on, with a fn call the only nodes we see are those that are used to form parms, return result
17:42:43 [wiecha]
Kenneth: usual for impl to look at the actual body
17:42:58 [wiecha]
...e.g. in JS, more complex but not always just the external signature
17:43:09 [wiecha]
Erik: not sure about the JS case but for xpath should be doable
17:43:41 [wiecha]
...looking at the expression tree -- supports both static and dynamic analysis
17:43:59 [wiecha]
...can contain fn calls to sub-xpath expressions as well
17:44:50 [wiecha]
John: need to see nested xpath expressions up at the dependency graph level
17:45:10 [wiecha]
Erik: you'd build a single expression tree in xpath
17:45:19 [wiecha] can optimize over entire tree
17:45:39 [wiecha] doesn't matter if expression is nested in custom fns or inlined
17:45:45 [wiecha]
John: more of macro substitution
17:45:49 [wiecha]
Erik: same effect
17:45:54 [wiecha]
...but smarter than macros
17:46:07 [wiecha]
...xslt already has fns, xquery too
17:46:29 [wiecha]
...except for scoping behavior is the same as in-lined code
17:47:08 [wiecha]
John: even in case of running actions, those are expressed in terms of xpath-based attributes (ref, origin, etc)
17:47:31 [wiecha]
...we could still possibly end up with a way to analyze a composite action-based fn to determine its dependencies
17:48:13 [wiecha]
Erik: yes, by building a unified tree of xpath and xforms actions
17:48:20 [nick]
What about :
17:48:20 [nick]
<xf:function name="my:greatFunc" result="xs:integer" expression="$param1 * $param1 div 2 + avg($param3/price)">
17:48:20 [nick]
<xf:param name="param1" as="number()"/>
17:48:20 [nick]
<xf:param name="param2"as="number()"/>
17:48:20 [nick]
<xf:param name="param2"as="node()"/>
17:48:21 [nick]
17:48:31 [nick]
or something like that
17:48:55 [wiecha]
John: coming back to question of anybody want to take this one?
17:49:40 [wiecha]
Erik: unless we have a proposal, maybe look at other stuff first
17:49:44 [wiecha]
...but this is interesting
17:50:53 [wiecha]
Erik: there is a set of missing xpath functions needed in xforms...not "custom" but more pre-defined that people need
17:51:11 [wiecha]
...extensions to xforms fn library
17:51:33 [wiecha]
...number, time, date formatting for example
17:51:47 [wiecha]
...we took xslt fns and exposed into our own namespace so we can use in xforms...are lots more
17:52:00 [wiecha]
...good candidates for xforms 1.2 update
17:52:08 [unl]
zakim, mute me
17:52:08 [Zakim]
unl should now be muted
17:52:11 [wiecha]
John: if there's some docs we could look at this would be helpful
17:52:18 [wiecha]
s/there's/there are
17:52:45 [wiecha]
John: good transition to bottom point, mechanism to adopt xpath 2.0 optionally
17:52:57 [wiecha]
...even if on model we say i'm xforms 1.2 and xpath is 2.0
17:53:44 [wiecha]
...will pick up some of the fns just described
17:54:25 [wiecha]
Erik: better to just implement xpath 2.0, yes
17:54:37 [wiecha]
..rather than adding lots of stuff by copy to xforms
17:55:00 [wiecha]
Nick: some fns in xforms have same names as xpath 2.0 but have slightly different results
17:55:09 [ebruchez]
For reference, the XProc spec's take on XPath 1/2
17:55:20 [wiecha]
John: to do in "dot" release would have to declare at model level which version of xpath you're using
17:55:37 [wiecha] backlevel forms will be compatible
17:56:51 [wiecha]
Erik: XProc has xpath-version to control this
17:57:12 [wiecha]
...with exception if content asks for xpath 2.0 and it's not available
17:57:31 [wiecha]
John: this is a good pattern to look at, continues the path toward xpath 2.0
17:57:46 [wiecha]
...makes it optionally available, then maybe in xforms 2.0 it's the only version
17:57:54 [wiecha]
...becomes just available in dot release
17:58:14 [wiecha]
Nick: in xproc is it at top-level only or can switch within the doc?
17:58:26 [wiecha]
Erik: yes, seems possible in narrower scopes --
17:58:35 [wiecha]'s different in xproc since the steps are fairly isolated
17:58:50 [wiecha]
...not sure if this still makes sense in xforms
17:58:57 [wiecha]
John: don't do this in model with @version
17:59:18 [wiecha]
...@version on default model governs all models on the page...coarse grained and this is ok
17:59:39 [wiecha]
Nick: that's ok but in xslt can do finer grained...stuff you're importing can be different
17:59:59 [wiecha]
John: might be helpful to say on a model-by-model basis what engine is used
18:00:12 [wiecha]
Nick: might be a bit confusing since at the UI layer can switch between models
18:00:18 [wiecha]
John: right
18:00:25 [wiecha]
...let's walk first
18:01:10 [wiecha]
Erik: actions outside of model, and switch in UI, ... what's the default? could be come messy
18:02:07 [wiecha]
Erik: can also put xpath 2.0 impl in 1.0 mode...close but not exact. would allow not having two impls of xpath
18:05:03 [wiecha]
ACTION: nick to work up xpath 2.0 as optional for dot release of XForms
18:05:03 [trackbot]
Created ACTION-549 - Work up xpath 2.0 as optional for dot release of XForms [on Nick Van Den Bleeken - due 2009-06-18].
18:05:19 [wiecha]
John: should also include discussion of xpath version attr
18:05:32 [wiecha]
Nick: yes, will also look at list of fns that might conflict with xpath 2.0
18:05:51 [wiecha]
John: would be very helpful to include in spec writeup
18:06:21 [Zakim]
18:06:28 [Zakim]
18:12:40 [ebruchez]
18:12:55 [Steven]
zakim, dial steven-617
18:12:55 [Zakim]
ok, Steven; the call is being made
18:12:57 [Zakim]
18:13:25 [Steven]
scribe: Steven
18:13:33 [Steven]
John: Alright
18:14:53 [nick]
TOPIC: XML Events 2
18:15:44 [nick]
John: In XHTML 2 XForms was adopted, is XML Events 2 is also in XHTML 2
18:15:50 [nick]
Steven: Yes
18:18:17 [nick]
Nick: I had a look at integrating XML Events 2 in XForms and we had a meeting about it at the previous Tech Plan
18:19:00 [Zakim]
18:19:08 [nick]
Steven: I think everything has been ironed out
18:19:39 [nick]
John: We need a delta spec for using XML Events 2
18:21:47 [nick]
Nick: For example dispatch is now dispatchEvent nd targetid is now destid
18:22:04 [nick]
18:22:49 [nick]
ACTION : Steven to write spec ready text for adopting XML Events 2 in XForms 1.2
18:22:49 [trackbot]
Created ACTION-550 - Write spec ready text for adopting XML Events 2 in XForms 1.2 [on Steven Pemberton - due 2009-06-18].
18:23:10 [Steven]
XML Events 2 has the same namespace
18:23:23 [nick]
TOPIC: Node "create" action
18:25:32 [nick]
Nick: Do you want an action to create a node, or is xpath function that creates a node sufficient, and use our insert action to insert the node
18:26:21 [nick]
John: That sounds good then we can use the standard insert action and eventing
18:26:31 [John_Boyer]
zakim, who is here?
18:26:31 [Zakim]
On the phone I see wiecha, kenneth, John_Boyer, ebruchez, Steven, nick, unl
18:26:33 [Zakim]
On IRC I see nick, unl, ebruchez, wiecha, John_Boyer, RRSAgent, Zakim, Steven, kenneth_, markbirbeck, trackbot
18:27:41 [nick]
ACTION: Nick to write spec ready text for an xpath function that creates nodes (elements, attributes)
18:27:41 [trackbot]
Created ACTION-551 - Write spec ready text for an xpath function that creates nodes (elements, attributes) [on Nick Van Den Bleeken - due 2009-06-18].
18:28:37 [nick]
TOPIC: Dispatch event with contextinfo
18:29:02 [nick]
John: There is no way to set context info for the events you send
18:29:14 [nick]
Steven: What context info you want
18:29:41 [nick]
John: For example all the context info we specify for our xforms events
18:30:20 [nick]
Erik: Orbeon has an extension to set the context information of events that are dispatched by dispatch
18:30:39 [nick]
... the use case is for context information for custom events
18:31:01 [ebruchez]
<xforms:dispatch name="fb-prepare-span-grid" target="fr-form-model">
18:31:01 [ebruchez]
<xxforms:context name="grid" select="$grid"/>
18:31:01 [ebruchez]
18:31:43 [Steven]
Looks like an instance
18:32:16 [John_Boyer]
you could also use nodeset or value
18:32:20 [nick]
<xforms:dispatch name="rename-control" target="my-model">
18:32:21 [nick]
<xxforms:context name="my:control" select="my/control"/>
18:32:21 [nick]
<xxforms:context name="my:control-name" select="'beverage-selection'"/></xforms:dispatch>
18:32:47 [klotz]
klotz has joined #forms
18:33:13 [nick]
Keneth: Some context information is not data
18:33:29 [ebruchez]
18:33:34 [nick]
... example mouse information
18:35:35 [nick]
John: You could use the property function to return that data
18:35:58 [nick]
Nick: You could create a processor specific function
18:37:25 [klotz]
wiecha, code?
18:37:31 [nick]
Erik: There is also the use case to add some context info to an event that is already dispatched
18:38:07 [nick]
Erik: In some cases you don't want to copy the event
18:38:25 [Zakim]
18:39:08 [nick]
John: Not a lot of xforms events have context info
18:39:30 [nick]
Erik: In our implementation we have a lot more context info
18:39:56 [nick]
John: Has XMLEvents 2 has support for adding context info
18:40:02 [nick]
Steven: No
18:40:29 [nick]
Steven: You could either add it or even better send a comment to the XML Events 2 WG
18:41:03 [nick]
18:42:09 [nick]
John: We have to say something about the evaluation context for if and while
18:43:08 [nick]
Steven: Isn't the context like an instance
18:44:15 [nick]
Erik: You want more information about the entries in the context definitely in XPath 2.0 where you have sequences, dates, times, ....
18:44:43 [nick]
John: What is the status of XML Events 2
18:45:03 [nick]
Steven: You can always comment
18:46:10 [nick]
Kenneth: Could everybody consume the context info not only XForms?
18:47:11 [nick]
Charlie: That is what I want it to do, I want to access it from for example Javascript
18:49:30 [nick]
Keneth: We have not all types in XForms for example a node from a host document
18:50:47 [nick]
Charlie: I wasn't worried about dispatching existing events, I just want to dispatch custom events with context info and catch it in Javascript
18:51:56 [nick]
John: I agree with erik there are 2 problems:
18:51:56 [nick]
- How do we define the context info
18:51:56 [nick]
- How do we access the information that needs to be put in the context info
18:52:26 [nick]
... but those are two separate actions that should be done
18:53:36 [nick]
Erik: I still don't see what the problem is with issue 2
18:54:50 [nick]
John: You can't always access all information that needs to set in the context information, for example the host document element where the dispatch is coming from, which is a DOMNode from the host document
18:55:36 [nick]
Erik: The answer is an extra XPath function to access the host document
18:56:20 [nick]
Kenneth: We such just note this somewhere that we won't be able to dispatch all standard DOMEvents
18:56:35 [nick]
18:56:50 [kenneth_]
example of standard event using a host document node: mouseover
18:56:52 [kenneth_]
The mouseover event occurs when the pointing device is moved onto an element. This event is valid for most elements.
18:56:54 [kenneth_]
Bubbles: Yes
18:56:55 [kenneth_]
Cancelable: Yes
18:56:57 [kenneth_]
Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, relatedTarget indicates the EventTarget the pointing device is exiting.
18:57:28 [nick]
John: Any volunteers to write this down?
18:58:20 [nick]
18:59:48 [nick]
ACTION Erik to write spec ready text for passing context info on the dispatch action
18:59:48 [trackbot]
Created ACTION-552 - Write spec ready text for passing context info on the dispatch action [on Erik Bruchez - due 2009-06-18].
19:00:12 [nick]
TOPIC: Focus on External Model and Submodel Problem
19:01:01 [nick]
John: Put them together because if they are done independently they just don't do enough
19:01:41 [Zakim]
19:01:54 [Zakim]
19:01:55 [John_Boyer]
take 5
19:07:41 [Steven]
zakim, dial steven-617
19:07:41 [Zakim]
ok, Steven; the call is being made
19:07:42 [Zakim]
19:08:04 [Steven]
What message do you get Nick?
19:08:55 [Zakim]
19:09:30 [unl]
nick: try login ;-)
19:10:11 [ebruchez]
FYI I will be on the call for another 1/2 hour only
19:10:27 [John_Boyer]
scribe: klotz
19:10:42 [klotz]
John: External Model
19:11:01 [klotz]
John: src attribute? sharing models across pages is the goal? Steven?
19:11:23 [klotz]
Steven: That was my major reason. Several forms with the same model. The model encapsulate the data and constraints.
19:11:41 [klotz]
Steven: It's better to say "here's the model" than "here's the instance."
19:12:09 [klotz]
John: Consider two web pages, operating over the same XForms model.
19:12:31 [klotz]
John: Constraints for complete data. Then we have to get from page 1 to page 2.
19:13:00 [klotz]
John: Use a submission to do that;
19:13:39 [klotz]
John: On submission from p1 to p2, you've only filled out some of the information, and you won't satisfy all the constraints for the whole model.
19:13:56 [klotz]
John: So turn off validation entirely, or you need some way to subset constraints.
19:14:16 [klotz]
John: This is how I concluded that we needed sub-model capability.
19:14:30 [klotz]
John: So, "Here's a portion of the model."
19:14:57 [nick]
XInclude supports this by using XPointer
19:15:11 [klotz]
Steven: I'm not sure yet. What's the interface between p1 and p2?
19:15:18 [klotz]
John: Both operating on the same model.
19:15:39 [klotz]
Steven: I wanted different things with the same data: one form for adding new people, another for changing password.
19:16:35 [klotz]
Leigh: I'm hearing states: states for submission transitions, states for admin-vs-regular user.
19:16:44 [klotz]
Charlie: I think there is more than one use cas.
19:16:47 [klotz]
19:17:05 [klotz]
John: How to two different web pages use the same model?
19:17:19 [klotz]
Charlie: Update, View, Delete. Different pages, different roles, different access.
19:17:32 [klotz]
Charlie: Instance data shared only?
19:17:42 [klotz]
John: We already have source on instance.
19:17:52 [klotz]
Steven: A model can use bind to hide the structure of the instance.
19:18:14 [klotz]
John: The set of binds may vary. Or a model with just binding sites.
19:18:57 [klotz]
John: But with constraint or required you can't use this mechanism because you need required mips for each subset of data.
19:19:23 [klotz]
Steven: If I say that dob<yod that doesn't change according to which form.
19:19:36 [klotz]
John:If you open the form that doesn't allow yob then the year data node may be empty.
19:20:01 [klotz]
Steven: How's that different from the situation now?
19:20:31 [klotz]
John: Right now we assume one model; a constraint on data and no edit for the data, then it's a broken form.
19:20:39 [klotz]
Steven: How's that different from the situation now?
19:21:15 [klotz]
John: Now we say the form is broken. If you want an external model...create a model with node a and node b with constraints and two forms, one editing a and one editing b.
19:21:35 [klotz]
John: Common model has constraints, but you can edit only one node, so you fail if the node.
19:22:06 [klotz]
Steven: If I import the tax law readonly instance and constrain values you can't change the tax law; you have to change your value.
19:22:48 [klotz]
John: Your user can edit their value. A common model shared between two forms, one form edits subtree a and the other subtree b
19:23:10 [klotz]
John: When you use form a you only want subtree a constraints active because you don't allow them to modify data in subtree b.
19:24:18 [John_Boyer]
Form A.html
19:24:33 [John_Boyer]
<model src="model.xml"/>
19:24:46 [John_Boyer]
<xf:input bind="A"> ... </xf:input>
19:24:52 [John_Boyer]
Form B.html
19:25:00 [John_Boyer]
<model src="model.xml"/>
19:25:15 [John_Boyer]
<xf:input bind="B">...</xf:input>
19:25:19 [klotz]
Erik: One page has A and model.xml, another page as B and model.xml.
19:25:23 [klotz]
Erik: You want to navigate.
19:25:28 [klotz]
Steven: No, that's John's situation.
19:25:38 [John_Boyer]
19:25:48 [klotz]
Steven: I have a complicated model with datatypes and want to put it in one place.
19:25:57 [John_Boyer]
<model> <instance><data> <a/> <b/></data
19:25:59 [klotz]
Steven: Like a stylesheet.
19:26:40 [John_Boyer]
19:26:46 [klotz]
19:27:06 [John_Boyer]
19:27:09 [klotz]
John: Suppose I have a form A with a model and a form B with a model, and XForms input in each binds to the model
19:27:09 [John_Boyer]
19:27:21 [klotz]
John: If both bind to the model:
19:27:23 [John_Boyer]
<data> <a/> <b/> </data>
19:27:29 [John_Boyer]
19:27:49 [John_Boyer]
<bind id="A" nodeset="a" required="true()"/>
19:28:13 [John_Boyer]
<bind id="B" nodeset="b" required="true()"/>
19:28:14 [klotz]
John: When in form a you want the user to enter value a; when in form b you want the user to enter a value for b.
19:28:17 [John_Boyer]
19:28:30 [John_Boyer]
Now try to add a submission?!?
19:28:36 [klotz]
Uli: Re-use is fine but sometimes you need parameters.
19:28:42 [klotz]
19:28:50 [klotz]
Erik: You can put it in the request parameter.
19:30:13 [John_Boyer]
How do you get page A to only respect the required MIP on node A?
19:30:27 [klotz]
Leigh: Use REST and it's a resource, not a file.
19:30:28 [John_Boyer]
How do you get page B to only respect the required MIP on node B?
19:30:46 [klotz]
<model src="/get/me/page?john=a" />
19:30:48 [klotz]
<model src="/get/me/page?john=a" />
19:30:53 [klotz]
<model src="/get/me/page?john=b" />
19:32:59 [klotz]
John: So your model generated has a subset of binds.
19:33:19 [Zakim]
+ +1.650.919.aaaa
19:33:45 [Zakim]
19:33:46 [ebruchez]
zakim, +1.650.919.aaaa is ebruchez
19:33:46 [Zakim]
+ebruchez; got it
19:34:30 [Steven]
<model src="m.mdl"> <bind bind="b" required="false()" /> </model>
19:34:46 [klotz]
Leigh: Steven wants to write <model src="..."/> and you want to provide different models in different situations.
19:34:57 [klotz]
Leigh: You both win.
19:35:05 [klotz]
John: So this is a different model.
19:35:14 [klotz]
s/model/idea for subsetting models/
19:35:36 [klotz]
John: So Leigh is saying model subsetting is done by server-side code.
19:36:04 [klotz]
Leigh: I think it's orthogonal.
19:36:04 [ebruchez]
it can be also done by parametrization of the model
19:36:09 [klotz]
Leigh: It doesn't override, does it?
19:36:14 [klotz]
Steven: It overrides it.
19:36:21 [ebruchez]
the XForms loads the same model, sees the same markup
19:36:30 [klotz]
Leigh: That's a while different an of words.
19:36:34 [klotz]
19:36:56 [ebruchez]
but the model can parametrize itself, or be parametrized by the user of the model dispatching events to it, or setting instance values
19:37:33 [klotz]
John: You suggested assuming a rest process at the other end.
19:37:38 [klotz]
Leigh: We have no control over it.
19:38:25 [klotz]
John: That's not the solution to the problem, it's a problem.
19:38:27 [kenneth_]
19:40:45 [klotz]
John: Web content can get published as a bucket of bits, so if you publish static content for re-use in multiple pages, you can't.
19:42:10 [klotz]
19:42:12 [Steven]
19:42:15 [Steven]
ack k
19:42:39 [klotz]
Leigh: You may need something more expressive in the model, but the example you gave doesn't motivate anything other than HTTP GET.
19:42:44 [klotz]
Kenneth: Isn't relevance enough?
19:42:56 [klotz]
John: The model still needs to know the page it was invoked from.
19:43:05 [kenneth_]
19:43:07 [kenneth_]
<setvalue ev:observer="m1" ev:event="xforms-ready" ref="i">1</setvalue>
19:43:08 [klotz]
Kenneth: It can know that with a single line of code.
19:43:09 [kenneth_]
19:43:10 [kenneth_]
19:43:12 [kenneth_]
<setvalue ev:observer="m1" ev:event="xforms-ready" ref="i">2</setvalue>
19:43:35 [klotz]
19:43:53 [klotz]
John: Then you write your model to case the constraints with relevance rules.
19:44:23 [klotz]
Kenneth: I agree, but no matter what construct for expressive power we come up with we need something to make sure it's not evaluated for validation. It would do more or less the same thing.
19:44:29 [klotz]
John: This is good.
19:44:44 [klotz]
John: So you're saying the sub-model is already there.
19:44:50 [klotz]
Kenneth: Not everything about sub-models.
19:44:58 [klotz]
John: But enough to solve the problem I posed.
19:45:13 [klotz]
Kenneth: It's not beautiful but possible; I'm doubtful that we can have a better way to express it.
19:45:15 [klotz]
19:45:33 [klotz]
<bind if="foo"><bind ...> <bind ...> <bind ...> </bind>
19:45:46 [klotz]
19:46:06 [klotz]
Kenneth: Nested bind.
19:46:10 [klotz]
John: src on bind helps.
19:46:49 [klotz]
<bind ref="/*[/foo=3]">
19:47:01 [klotz]
<bind if="/foo=3" />
19:47:03 [John_Boyer]
19:47:25 [klotz]
<bind nodeset="/a/b/c[/foo=3]" >
19:47:46 [klotz]
John: We can do it with predicates, model src, bind src, and model-construct-done cleverness.
19:47:59 [klotz]
Leigh: Now that we know how we're doing it, what is it that we're doing?
19:48:12 [klotz]
Charlie: There's a broader class of problems to attack.
19:48:27 [klotz]
John: Identifying the broader class and creating machiner.
19:48:47 [John_Boyer]
takes more time
19:48:48 [klotz]
Leigh: Maybe we can do some simple syntax that turns into these tools that we've found and added.
19:49:03 [klotz]
Charlie: It's functional but doesn't capture the intent.
19:49:25 [klotz]
19:49:46 [klotz]
John: We don't have the pattern yet.
19:49:52 [klotz]
Charlie: We have one example.
19:50:03 [klotz]
19:50:31 [klotz]
John: We have ideas for more complex applications, so let people have this and creating more patterns.
19:50:48 [klotz]
Charlie: One use for external model is definition of service.
19:51:11 [klotz]
Charlie: Interfaces, operations, etc. As in Raleigh. Maybe even embed multiple copies of the same instance.
19:51:33 [klotz]
Charlie: A searching service with instance, binds. Model id a goes against one search site, model b another.
19:51:47 [klotz]
Charlie: Import as external references with their own complex internal IDs.
19:52:12 [klotz]
Charlie: Deal with them separately; it's a different use case than Steven's code consolidation and John's variant constraints.
19:53:38 [klotz]
Charlie: Does the use case make sense?
19:54:14 [Steven]
Maybe we need to associate binds with instances rather than models
19:56:11 [klotz]
Steven: We are a little bit allergic to cross-model relationships. We like models to contains all the details of a form. A model collections binds and instances.
19:57:24 [klotz]
John: A model including models would be a sweet spot.
19:57:36 [klotz]
John: The model could be as simple as
19:57:41 [klotz]
Steven: textual inclusion
19:57:58 [klotz]
John: You could create a model that has instance bind submission for a particular web service endpoint WSDL
19:59:48 [klotz]
Charlie: What if we refocused on the instance instead of the model?
20:01:01 [klotz]
Charlie: What if we wanted to construct something that looks like one with type info and it's what's currently called a model.
20:01:08 [klotz]
John: I don't understand "construct"
20:01:50 [John_Boyer]
we only construct once
20:01:59 [klotz]
<xyz if="pred" /> --> <xyz ref="abc[pred]" /> for all elements except model, value, label, submission, mediatype, filename
20:02:02 [John_Boyer]
so it's really just "associate"
20:02:57 [klotz]
Leigh: Let's discuss Charlie's idea of use cases next time.
20:03:06 [klotz]
Charlie: In terms of Steven's "sheets"
20:03:12 [Steven]
It's not a metaphor, it's an analogy! :-)
20:03:21 [wiecha]
20:03:31 [klotz]
synedoche or metonymy
20:03:32 [Zakim]
20:03:36 [Zakim]
20:03:37 [Zakim]
20:03:37 [Zakim]
20:03:38 [Zakim]
20:03:39 [Zakim]
20:03:41 [Zakim]
20:03:43 [Zakim]
20:03:44 [Zakim]
Team_(forms)13:57Z has ended
20:03:45 [Zakim]
Attendees were kenneth, wiecha, John_Boyer, ebruchez, nick, unl, Steven, Leigh_Klotz
20:03:50 [John_Boyer]
rrsagent, make minutes
20:03:50 [RRSAgent]
I have made the request to generate John_Boyer
20:03:57 [John_Boyer]
rrsagent, bye
20:03:57 [RRSAgent]
I see 4 open action items saved in :
20:03:57 [RRSAgent]
ACTION: John_Boyer to write up first spec text for context everywhere, context on bind elements [1]
20:03:57 [RRSAgent]
recorded in
20:03:57 [RRSAgent]
ACTION: nick to work up xpath 2.0 as optional for dot release of XForms [2]
20:03:57 [RRSAgent]
recorded in
20:03:57 [RRSAgent]
ACTION: Steven to write spec ready text for adopting XML Events 2 in XForms 1.2 [3]
20:03:57 [RRSAgent]
recorded in
20:03:57 [RRSAgent]
ACTION: Nick to write spec ready text for an xpath function that creates nodes (elements, attributes) [4]
20:03:57 [RRSAgent]
recorded in