portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sie, Yang" <yang....@fmr.com>
Subject Show or Hide portlets on a page dynamically
Date Sun, 22 Apr 2007 19:40:46 GMT
Hello all:

Please advise on what I am trying to achieve... 

On my psml, I have 5 portlets, one of them is the master one (portlet0),
which contains two image buttons. Depends on which button I am clicking,
I want to hide or show the first 2 portlets (i.e. Click button_1, I want
portletA and portletB to show, portletC and portletD are hidden from the
user. Click button_2, portletC and portletD are showing and portletA and
portletB disappear). The master portlet portlet0 is always on the page. 

What came to my mind was to customize the aggregator to selectively
render the portlets that I need. However, I hit some problems when doing
so:

>From JetspeedRequestContext, I can get the current page, then I try to
'remove' the unwanted portlets from the ContentFragment List depends on
which button I click. Then the all the portlets remained on the page go
to the render engine. 

What I wanted was that all five portlets should be available for
evaluation each time a request is sent to server. This is not the case.
The problem was that for those portlets been "removed", they were no
longer available for next time evaluation. They are wiped out from the
cache or persistent store (i.e. I clicked the second button, which was
supposed to evaluate all five portlets again to see which ones to keep,
but it did not happen (only portlets left from the first time click were
available in the ContentPage object)). Close and re-start browser didn't
make them come back. I am sure that no portlet was deleted from the psml
(when I started Tomcat again, all five portlets were available again)
and PSML page wasn't updated.

The problem is that I was unable to find a way to refresh the page
object to make it contain all five portlets each time I send a new
request to server (i.e. after I navigate from the other page or click
the second button).  I tried to use pageManager to get the page (psml)
again and re-assign the page to JetspeedRequestContext. Did not work.
The page that I got thru pageManager still didn't have all the portlets
on it. 

What is the best suggestion to this issue.  Please help...


Thank you.


---Yang

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


Mime
View raw message