We have a pair of portlets that use events and display BIRT reports with in Jetspeed that allow the end-user to select date ranges and drill-through to detailed reports. All the state is maintained correctly so a drill through from one level to another works fine. After the end-user has manipulated the reports (drill-throughs, date range selection, etc.) we would like to make it so the end-user can click on the menu that initially launched the page with the pair of portlets and have state be just like when the portlet was first launched. By default all of the request parameters and attributes that control the state are maintained so clicking on the menu justs puts the user back where they were rather than in the initial state. I have tried using the PortletPreferences, setting up a preference in the psml that has a name of "fromMenu" and a value of "true" and then checking and resetting the preference in one of the portlets to another value. Unfortunately clicking on the menu item for the psml page does NOT set the preference back to a state of "true" so this method of detecting a menu click doesn't work. Since the initial request from the menu seems to start the portlet in the render phase (doView) I have made all the urls within the two portlets action urls and in the code to handle an action I set a flag there which the render phase finds and knows that state should be maintained. If the flag is not set the code assumes that request is from a menu click and thus state needs to be reset to the initial state. This seems to work fine except for one problem, a browser refresh goes directly to the render phase so hitting refresh causes the same reset of state that a menu request does. I have also investigated looking at the referrer but that doesn't seem to be of any help.

Essentially I would like a menu request to either reset the portlets or for the portlets to be able to detect the request was from a menu click so they can do the reset of state. Is there anyway to do this?

thanks,
Chris Marshall
Avenue100 Media Solutions

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to