- From: John Boyer <boyerj@ca.ibm.com>
- Date: Fri, 5 Nov 2010 11:51:53 -0700
- To: Erik Bruchez <ebruchez@orbeon.com>
- Cc: Forms WG <public-forms@w3.org>
- Message-ID: <OFCD226AE0.2075B082-ON882577D2.00656C14-882577D2.0067A1F8@ca.ibm.com>
Hi Erik,
It's the documented behavior of non-relevance that the entire group spent
a *long* time defining and ultimately issued as a W3C recommendation.
The intent was to *support*
1) the early use cases around simple xforms-invalid handlers would work as
expected
2) the technical requirement that the user interface reflects the data
model, including when the user styles non-relevant controls as disabled
rather than invisible or not displayed
3) implementors having the freedom of action to decide whether the events
were dispatched (so we *clearly* stated what would happen to the form
author's eventing markup, rather than what implementations would do, when
a control became non-relevant).
Some form authors may want to create actions that attempt to implement
parallel data mutations, and we have *clearly* told them that the
operation of those actions is *not* expected when the control is
non-relevant, so I don't think that the forms you are describing exist in
the wild right now. However, we do have no small number of forms deployed
that *do* depend on the above capabilities supported by the
Recommendation.
So, now, in the post-1.1 timeframe, we have exhaustively considered all
additional use cases and found that there are two other technical
requirements we would like to be able to meet:
1) completely shut off non-relevant controls so that they cannot be styled
and are otherwise unavailable to the render/presentation layer. Thus,
implementers could handle them as if they did not exist.
2) do not shut off the eventing of non-relevant controls, so that
assessments of status such as validity could be determined based on
analysis of the "full" user interface that could possibly be accessed by a
user.
I really like both of these alternatives, and even wouldn't mind if one of
them, such as #1, became the default. However, I would find it
unacceptable to address these new use cases in a way that discontinues
support of use cases that are already in use and supported by the
recommendation. Like everyone in the standards community, I count on
features that have become standardized and have released products that
offer the features and customers who now use the features.
For these reasons, I feel it would be better for us to continue focus on
the progress made at the face to face meeting to add the new, desired
features by the simplest syntactic means such as were discussed earlier
today.
John M. Boyer, Ph.D.
IBM Distinguished Engineer, Interactive Web Applications and Documents
IBM Lotus Forms Architect
Workplace, Portal and Collaboration Software
IBM Canada Software Lab, Victoria
E-Mail: boyerj@ca.ibm.com
Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer
Blog RSS feed:
http://www.ibm.com/developerworks/blogs/rss/JohnBoyer?flavor=rssdw
From:
Erik Bruchez <ebruchez@orbeon.com>
To:
Forms WG <public-forms@w3.org>
Date:
11/05/2010 11:25 AM
Subject:
Re: Non-eventable and other thoughts
All,
After today's talks, I am still wondering whether besides the backward
compatibility requirements, we need that no-events mode.
I think one of the arguments that was mentioned for the initial
rationale of this feature was that as a form author having event
listeners say on a group around something that is not relevant, you
might not expect events to be dispatched purely based on the fact that
there is some kind of expectation that something non-relevant is kind
of disabled.
Which would be fine, except for the other requirement which is that
the user interface updates values. But if you don't have events, that
requirements of the UI updating properly fails in many cases. Consider
for example the following scenario:
<xf:group ref="node-which-can-be-non-relevant">
<xf:input ref="amount">
<xf:setvalue ev:event="xforms-value-changed" ref="../tax"
value=". * 0.1"/>
</xf:input>
<xf:output ref="tax"/>
</xf:group>
Basically, any user interface that uses events to update other aspects
of the user interface would fail when non-relevant. So the no–events
mode would only make sense situations where the UI is not defined this
way, which is a big restriction.
The bottom line is that we might have to discourage form authors from
using this mode or things might not work as expected, and that makes
it an unsatisfying feature.
I think, again besides the backward compatibility requirements, that a
stronger case must be made for the no–events option.
-Erik
Received on Friday, 5 November 2010 18:52:35 UTC