Hi all,

I try there since i get no answer on the user-list. My question is also
the same as this old mail
http://www.mail-archive.com/[email protected]/msg12028.html.

I'm looking for some idea/solution to refresh a cachingURI coplet
content after a form in portal has been submitted. Then a user going to
other tabs and going back would not see the "success" page again.
This may explain better my need:

function show(form) {
 populate(form);
 form.showForm("display-pipeline");
 saveToDB(form);
 cocoon.sendPage("success-pipeline");
 resetCoplet("instance_name");
}

function resetCoplet() {
 // this is pseudo code remember!
 thisCoplet.resetTemporaryURI();
 thisCoplet.invalidateCache();
 // Now next time this coplet will be generated from scratch
}


This is what i have written at the moment. I see no exceptions, but with
no effect at all:

function resetCoplet(instanceName) {
   var service = null;
   try {
          // get portal service
          service =
cocoon.getComponent(org.apache.cocoon.portal.PortalService.ROLE);
          service.setPortalName("portal");
          // get profile manager
          var componentManager = service.getComponentManager();
          var profileManager = componentManager.getProfileManager();
           var cid = profileManager.getCopletInstanceData(instanceName);
       var event = null;
       var path = "temporaryAttributes/application-uri";
       var value = "cocoon://portal/coplets/profiler/profile";
       if ( cid != null ) {
           // create event
           event = new
Packages.org.apache.cocoon.portal.event.impl.CopletJXPathEvent(cid,
path, value);
           // subscribe it

service.getComponentManager().getEventManager().getPublisher().publish(event);
           // invalidate cache
              var cachingURICopletAdapter = new
Packages.org.apache.cocoon.portal.coplet.adapter.impl.CachingURICopletAdapter();
           cachingURICopletAdapter.setCacheInvalid(cid);
       }
   } catch ( e ) {
      cocoon.log.info("Error", e);
   }
   finally {
      cocoon.releaseComponent( service );
   }
}

Somebody can help?

PHIL


Reply via email to