Save-final xpl

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

Save-final xpl

twchiam
Hi,
Orbeon has an action called save-final.
I could find a property in property- form-runner.xml

<property as="xs:string" name="oxf.fr.detail.process.save-final.*.*">
require-uploads
then validate-all
then save
then success-mesaage("save-success')
recover error-message("database-error")
</property >

How does it relate to xpl?
Reply | Threaded
Open this post in threaded view
|

Re: Save-final xpl

Alessandro  Vernet
Administrator
Hi Ken,

I am not sure to fully understand your question: `save-final` is a process, and as such is defined through a property, which defines what sequence of actions to execute when the process runs. This isn't directly related to XPL. You can find more about buttons and processes on the page linked below. Does this help clarify the question you had in mind?

https://doc.orbeon.com/form-runner/advanced/buttons-and-processes/

Alex
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet
Reply | Threaded
Open this post in threaded view
|

Re: Save-final xpl

twchiam
This post was updated on .
Hi Vernet,

Thanks for the clarification. Actually, I would like to figure out the whole process cycle when form runner execute the save action defined in save-final process.

Is the execution involves XPL?
How form runner calls the server side code?
which server side code get executed?

Appreciate if you could elaborate or pin point any reading material for this process cycle.

Thanks,
Kenneth

Reply | Threaded
Open this post in threaded view
|

Re: Save-final xpl

Alessandro  Vernet
Administrator
Hi Kenneth,

The buttons at the bottom of the form are implemented in an XBL component (of which there are on your form as many instances as there are buttons there). The component is implemented in process-button.xbl, and calls the server-side code from XPath with fr:run-process-by-name(…), which is implemented in FormRunnerFunctionLibrary.scala, and calls the "real" code in SimpleProcess.scala. Does this help?

If you want to read the actual code, you can find it all on GitHub. But of course, the idea is that you shouldn't need to, and that the documentation should be enough. So, you'll let us know if there is anything that you think the documentation should cover, while it doesn't.

Alex
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet
Reply | Threaded
Open this post in threaded view
|

Re: Save-final xpl

twchiam
Noted. Thanks for the explanation. It really helpful especially for the new comers.
Reply | Threaded
Open this post in threaded view
|

Re: Save-final xpl

Alessandro  Vernet
Administrator
I'm glad it helped!
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet