W3C home > Mailing lists > Public > public-forms@w3.org > November 2010

Re: Non-eventable and other thoughts

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

This archive was generated by hypermail 2.3.1 : Tuesday, 1 October 2013 22:06:54 UTC