We have an application which has menus generated dynamically through the publishing of a dynamic component presentation.A menu.xml is written out by a component template based on the Structure groups and this component template is triggered through event system to be published whenever a structure group is published.

This setup was working fine until the upgrade of Tridion 2011 from Tridion 2009. But ever since the upgrade, the menus are not dynamically published and are requiring a re-publish of the menu component template every time there is a change in the structure group. We checked the event system and everything is fine there. Moreover, this republish of menu component template triggers problems in some other page menus.

On doing some debugging (we made the component template write out the pageURI it is working on at any instant), we find that the page URI that is being written out is wrong.

Below are the steps taken and conclusions arrived:

  • All erring pages have been checked; the DCP tag has correct attributes set in the JSP code

  • Additional TRACE statements were added to the Tridion tag library, this confirmed the following:

  • The XSLT was correctly retrieved from the filesystem
  • The cached menu was retrieved correctly from the cache
  • The XSLT was correctly transformed with the variables provided

  • By writing out the XSLT attributes to the HTML we see that the XSLT processor is being provided wrong parameters.

So can I safely conclude that the issue has been isolated to the following event; the XSL processor is being called with an incorrect page id. Most likely cause is due to concurrency issues in the dynamic component presentation (DCP) java code where the DCP gets swarmed and starts confusing which page is using the current object.

And if this is the case, what can be done to rectify it.

Any information would help.

Edit
Report