Hi,
I've been thinking about a navigation problem that I would like to know if
there are any nice ways to solve. This is a navigation problem that I may
have to come up with a solution to on a "possible" future project.

I would like to have a "generic" search page to which I can go to from many
different pages in order to search and retrieve a value, lets say a product
id.
The search page would perform a query(ies), return a list of items in a
table from which I'd pick my product. Or let me perform a new refined
search, and then pick a product.
When the product has been picked from the table, I would be sent back to the
original page with the value.

The "many different pages could be":
- Favourites page, where I would have a list of favorites and a link to go
to the search page and get a product to add to favourites.
- Detailed information page
- Quick information page

Example:

Page1 -> SearchPage -> SearchPage (pick from list) -> Page1
Page1 -> SearchPage -> SearchPage (pick from list) - > SearchPage (refine
query) -> Page1
.
.
PageN -> SearchPage -> SearchPage (pick from list) -> PageN

My initial thoughts (which I'm not happy with) are :
- Pass the return Navigation Action String as a request parameter (f:param),
and then
- Use Shale View controller to perform work on initialisation of the Search
Page ( get next Navigation Action string, which would be saved via saveState
)
- Have a session managed ResultObject (or would request scope work?)
- Perform search and display result
- Use the injected ResultObject together with Shale View controller to use
the ResultObject and perform some logic (add to action, fetch detailed
information etc.)

Haven't looked much into Shale Dialog, could it be of help?

My feeling is that there must be a simpler way of doing this.

Any comments would be greatly appreciated.

Cheers,
Mike

Reply via email to