workflow-review reloads all services and resets changed fields

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

workflow-review reloads all services and resets changed fields

Arlo White
We have Form Runner setup so the user goes to the review screen
(workflow-review) and then sends the form.

When the review screen is loaded Orbeon reloads the entire XForm and
runs all the onload services. This causes a problem with fields we want
the user to be able to change.
For example:
1. My form loads a default value via a service onload.
2. The user changes the default.
3. User clicks review.
4. Orbeon reloads my service, setting the field to the default value and
erasing the user's change.

Also, this seems unnecessary and inefficient...why does Orbeon have to
re-process the entire XForm for the review screen. Can't it keep the
XForm state from the form edit screen?


-Arlo


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: workflow-review reloads all services and resets changed fields

Erik Bruchez
Administrator
Arlo,

The reason it's a different page is that controls are presented in a different (readonly) way.

Currently the XForms engine is not able to dynamically switch between, say, a native input and the "readonly" way as shown by the preview page. At least, not easily or efficiently. This could be improved in the future, maybe related to this project of ours:

Dynamic XBL bindings and representation of appearances and types

Also, some users actually like having a separate page.

Now about the services running: this is a good point, but it is a bit tricky. Possibly, some services should run, and some should not.

For example, a service loading a dynamic itemset might need to run anyway. But one populating data should not, as you point out.

You could, in the source of the form, add an "if" condition to allow the service to run only on the edit page. For example:

<xforms:action ev:event="..." if="xxforms:instance('fr-parameters-instance')/mode = ''edit">

I have entered an RFE:


-Erik

On Wed, Feb 2, 2011 at 9:44 PM, Arlo White <[hidden email]> wrote:
We have Form Runner setup so the user goes to the review screen (workflow-review) and then sends the form.

When the review screen is loaded Orbeon reloads the entire XForm and runs all the onload services. This causes a problem with fields we want the user to be able to change.
For example:
1. My form loads a default value via a service onload.
2. The user changes the default.
3. User clicks review.
4. Orbeon reloads my service, setting the field to the default value and erasing the user's change.

Also, this seems unnecessary and inefficient...why does Orbeon have to re-process the entire XForm for the review screen. Can't it keep the XForm state from the form edit screen?


-Arlo


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: workflow-review reloads all services and resets changed fields

Erik Bruchez
Administrator
All,

This feature has now been implemented using a new "Condition" choice
in the Actions Editor. and the documentation on actions has been
updated:

http://wiki.orbeon.com/forms/doc/user-guide/form-builder-user-guide/actions

For reference, the commit:
https://github.com/orbeon/orbeon-forms/commit/e7cd178e45c0583f0b37bc15bb8767c9be413e1d

At this point this is available in nightly builds.

-Erik

On Thu, Feb 3, 2011 at 8:44 PM, Erik Bruchez <[hidden email]> wrote:

> Arlo,
>
> The reason it's a different page is that controls are presented in a
> different (readonly) way.
>
> Currently the XForms engine is not able to dynamically switch between, say,
> a native input and the "readonly" way as shown by the preview page. At
> least, not easily or efficiently. This could be improved in the future,
> maybe related to this project of ours:
>
> Dynamic XBL bindings and representation of appearances and types
> http://wiki.orbeon.com/forms/projects/core-xforms-engine-improvements#TOC-Dynamic-XBL-bindings-and-representa
>
> Also, some users actually like having a separate page.
>
> Now about the services running: this is a good point, but it is a bit
> tricky. Possibly, some services should run, and some should not.
>
> For example, a service loading a dynamic itemset might need to run anyway.
> But one populating data should not, as you point out.
>
> You could, in the source of the form, add an "if" condition to allow the
> service to run only on the edit page. For example:
>
> <xforms:action ev:event="..."
> if="xxforms:instance('fr-parameters-instance')/mode = ''edit">
>
> I have entered an RFE:
>
> http://forge.ow2.org/tracker/index.php?func=detail&aid=315824&group_id=168&atid=350207
>
> -Erik
>
> On Wed, Feb 2, 2011 at 9:44 PM, Arlo White <[hidden email]> wrote:
>>
>> We have Form Runner setup so the user goes to the review screen
>> (workflow-review) and then sends the form.
>>
>> When the review screen is loaded Orbeon reloads the entire XForm and runs
>> all the onload services. This causes a problem with fields we want the user
>> to be able to change.
>> For example:
>> 1. My form loads a default value via a service onload.
>> 2. The user changes the default.
>> 3. User clicks review.
>> 4. Orbeon reloads my service, setting the field to the default value and
>> erasing the user's change.
>>
>> Also, this seems unnecessary and inefficient...why does Orbeon have to
>> re-process the entire XForm for the review screen. Can't it keep the XForm
>> state from the form edit screen?
>>
>>
>> -Arlo
>>
>>
>> --
>> You receive this message as a subscriber of the [hidden email] mailing
>> list.
>> To unsubscribe: mailto:[hidden email]
>> For general help: mailto:[hidden email]?subject=help
>> OW2 mailing lists service home page: http://www.ow2.org/wws
>>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws