Ability to suppress rebuild-recalculate-revalidate-refresh on submission completion

We are hitting increasingly many cases where the mandatory 
rebuild-recalculate-revalidate-refresh at the end of a submission is 
proving detrimentally inefficient.

The cases involve scenarios in which authors are performing more than one 
web service invocation in sequence in reasonably large forms. 

We cannot simply say that submission should set the deferred update flags 
because submissions are usually asynchronous, so their results are 
processed only after the completion of the outermost action handler that 
initiated the request.

The desired markup pattern is that each service is invoked from the 
xforms-submit-done handler of the preceding service, except of course for 
the first service in the sequence. 

In this pattern, we would like to have an attribute like "suppressupdate" 
that would simply turn off the automatic 
rebuild-recalculate-revalidate-refresh. 

An author would then place suppressupdate="true" in all service requests 
except the last one in the sequence.

For best results, authors would be advised to put 
rebuild-recalculate-revalidate-refresh actions into the 
xforms-submit-error handlers of the second through second to last service, 
so that the results of any preceding successful submissions would be 
reflected to the UI.

The form author could also suppress updating but then invoke some of the 
operations in xforms-submit-done, such as just rebuild and recalculate, if 
the results of a service are expected to affect later services based on a 
calculate.  Since following services are more likely to be affected by 
their use of value attributes, this capability will not be needed often, 
but it is available and still saves the costly UI refresh in any case.

A feature like this seems a useful addition to XForms 1.2.

John M. Boyer, Ph.D.
STSM, Interactive Documents and Web 2.0 Applications
Chair, W3C Forms Working Group
Workplace, Portal and Collaboration Software
IBM Victoria Software Lab
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

Received on Wednesday, 25 February 2009 17:53:07 UTC