how to manage 'next' and 'back' in the page-flow

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

how to manage 'next' and 'back' in the page-flow

julien.bittard
Hello

I have several page in my page-flow. I use the version 2.8 of OPS.

On the first page, i execute a webservice which initialize the xform instance. In this page, the user can update the data on my instance and pass to the second page. In the second page, he can go back on the first page. In this case, the webservice of the first page is execute and initialize the xform instance and i lost the user's modification on this data.

So i want to keep the user's modification. Do I have to make a special page in my page-flow which don't execute the webservice when the user go back the first page ?

my page-flow :

<page id="tryptique_page1" path-info="/tryptique-asso" xforms="xforms-model.xml" model="model_page1.xpl" view="view_page1.xsl">
<action when="/form/action = 'EtapeSuivante'" >
<result when="/success = 'true'" page="tryptique_page2">
  <xu:update select="/form">
     <xu:copy-of select="document('input:instance')/form/*"/>
  </xu:update>
  <xu:update select="/form/action"/>
</result>
</action>
</page>

<page id="tryptique_page2" path-info="/tryptique-asso/page2" xforms="xforms-model.xml"  view="view_page2.xsl">
<action when="/form/action = 'EtapePrecedente'" >
  <result page="tryptique_page1">
    <xu:update select="/form">
      <xu:copy-of select="document('input:instance')/form/*"/>
    </xu:update>
    <xu:update select="/form/action"/>
  </result>
</action>

in the model_page1.xpl i executed my webservice which initialize the xforms-model.xml.

thank you.



--
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
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: how to manage 'next' and 'back' in the page-flow

Alessandro  Vernet
Administrator
Julien,

If I understand you correctly, in model_page1.xpl you are calling a
web service and creating an instance, the resulting instance being
connected to the "instance" output of the pipeline. Now you don't want
to do this if you already have an instance coming from page2.

To avoid this, add an "instance" input to this pipeline
(model_page1.xpl). The document you receive is going to be either the
default instance (from your XForms model), or the instance you
received from page2. In the pipeline add a test (<p:choose>) on the
instance input and check if you have the original instance, or not. If
this is the original instance you run the web service, otherwise you
connect the instance input to the instance output with the identity
processor.

Alex

On 8/31/05, [hidden email] <[hidden email]> wrote:

> Hello
>
> I have several page in my page-flow. I use the version 2.8 of OPS.
>
> On the first page, i execute a webservice which initialize the xform instance. In this page, the user can update the data on my instance and pass to the second page. In the second page, he can go back on the first page. In this case, the webservice of the first page is execute and initialize the xform instance and i lost the user's modification on this data.
>
> So i want to keep the user's modification. Do I have to make a special page in my page-flow which don't execute the webservice when the user go back the first page ?
>
> my page-flow :
>
> <page id="tryptique_page1" path-info="/tryptique-asso" xforms="xforms-model.xml" model="model_page1.xpl" view="view_page1.xsl">
> <action when="/form/action = 'EtapeSuivante'" >
> <result when="/success = 'true'" page="tryptique_page2">
>   <xu:update select="/form">
>      <xu:copy-of select="document('input:instance')/form/*"/>
>   </xu:update>
>   <xu:update select="/form/action"/>
> </result>
> </action>
> </page>
>
> <page id="tryptique_page2" path-info="/tryptique-asso/page2" xforms="xforms-model.xml"  view="view_page2.xsl">
> <action when="/form/action = 'EtapePrecedente'" >
>   <result page="tryptique_page1">
>     <xu:update select="/form">
>       <xu:copy-of select="document('input:instance')/form/*"/>
>     </xu:update>
>     <xu:update select="/form/action"/>
>   </result>
> </action>
>
> in the model_page1.xpl i executed my webservice which initialize the xforms-model.xml.
>
> thank you.
>
>
>
>
> --
> 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
> ObjectWeb mailing lists service home page: http://www.objectweb.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
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet