Hi,
On Sat, Oct 30, 2004 at 05:13:57PM -0700, [EMAIL PROTECTED] wrote:
> On Sat, 30 Oct 2004 14:42:42 +0200, "Jos Vos" <[EMAIL PROTECTED]> said:
> > What I want to achieve, is to be able to specify a multi-step page
> > selection. For example, after a user has submitted a form (page1),
> > requesting to add an item to a shopping cart, these are the steps:
> >
> > - User input is validated. If invalid, show page1 again.
> >
> > - User input is processed (step1). If the item added is not
> > on stock, page2 ("not on stock - proceed or not?") is shown.
> >
> > - User input is processed (step2). The item is on stock and a
> > confirmation is given to the user (page3).
> >
> > I could give more complex examples, with even more choices, but
> > the above example shows the principle.
> OK, I I think maybe a more complex example is needed
> to demonstrate the problem you see. That is for this example it
> seems the pbm is really that you have extra pages. i.e. The user
> should remain on the order page until the order is confirmed or
> canceled. The view of this single page takes care of reporting
> invalid data, out of stock issues, and querying for confirmation.
Yes, I understand, but also in this simplified case multiple functions
have to be combined in one action pipeline: checking the input data,
checking the stock position, etc.
Another example of this particular problem: say you have a page (page1)
that lets the user specify a LDAP query:
- Custom input validation has to be done, to see if this is a
sensible request. If not, page1 is displayed again.
- If the request seems to be valid, the LDAP query is done:
- If the result is just one LDAP entry, page2 is displayed,
with all the details of this entry.
- If it results in multiple entries, a selection page (page3)
is displayed, where the user selects one entry to display
in detail.
In one action pipeline, we have to do validation *and* (optionally)
do the LDAP query. As the LDAP query action probably is used somewhere
else in the application, I guess the best way is to call a subpipeline
for this. A more natural way would seem this (currently impossible)
recipe:
<page id="page1" ...>
<action when="/button = 'query'" action="page1-validate.xpl">
<result when="/inputok = 'false'">
...
</result>
</action>
<action when="/button = 'query'" action="ldapquery.xpl">
<result page="page2" when="...">
...
</result>
<result page="page3" when="...">
...
</result>
</action>
</page>
That is, if no result with a valid condition is found in an executed
action, the next action (with a valid condition) is executed, etc.
But this is not the way it currently works.
I'm just trying to get "the right feeling" to design applications
using Orbeon.
--
-- Jos Vos <[EMAIL PROTECTED]>
-- X/OS Experts in Open Systems BV | Phone: +31 20 6938364
-- Amsterdam, The Netherlands | Fax: +31 20 6948204
-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
orbeon-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/orbeon-user