Hello,
In my portal there's a MyPreferences tab which lets
the user select things like what skin they'd like to
use for the portal. When this is changed, the
settings are stored in two files on an exist database.
One file is a custom profiles/layout/portal.xml file
for the user, which has "layout-renderer-name"
attributes set to the skin the user selected. The
other file contains the name of the skin, which is
loaded into the authentication context when the user
logs in, and is used for calling the proper XSL and
CSS files for the skin.
The problem is that after the user makes a change to
their preferences, they need to logout then login to
see the change. I need the change to be visible
immediately afterwards, and I think this involves
invalidating or clearing the cache where information
such as the profiles/layout/portal.xml file is cached.
I've tried using the "clear-cache" action that comes
with Cocoon, but it doesn't make a difference. When I
use "generate type=status" to see the status of the
cache I notice that
"org.apache.cocoon.components.store.impl.JCSDefaultStore"
is empty, however, there is also
"org.apache.cocoon.components.store.impl.DefaultTransientStore"
which still contains items. Do I have to clear this
cache as well? And if so, how would that be
accomplished? Would I need to reload the user's
profiles/layout/portal.xml file as well? If so, how
would I do that without having to log them out and
back in?
Here's the code I'm using to clear the cache:
<map:act type="clear-cache">
<map:generate src="status" type="status"/>
<map:transform
src="context://stylesheets/system/status2html.xslt">
<map:parameter name="contextPath"
value="{request:contextPath}"/>
</map:transform>
<map:serialize type="html"/>
</map:act>
Thanks in advance for any help,
Andrew MacDonald
_______________________________
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]