I recently ran into a puzzling issue with WebSphere Portal 7.0.2 while I was trying to export a portal page using xmlaccess from one portal and import it into another. This page had some basic Web Content Management (WCM) rendering portlets on it. The problem was that when I imported the xml into my target environment, only some of the shared portlet preferences for the rendering portlet were imported. I tried deleting the page from the target and re-importing and it was to no avail. For example, one of the settings on the source portal was like this which prevents the portlet from receiving links from other rendering portlets.
Yet after the import, here is what I saw in the target environment.
So this lead me to believe that something wasn’t importing correctly or changing in my target environment. I took a closer look at my xml export and expected to see a preference on the portlet of WCM_LISTENS_TO=WCM_LINKING_NONE; however, I saw it wasn’t there. At this point I figured I was on to something. What dawned on me is that the preference isn’t being set from the XML so it must be inheriting the portlet’s config settings in the target environment. When I looked at the target environment, here is what I saw:
So since there was no WCM_LISTENS_TO parameter in the imported xml and there was a default value in the target rendering portlet, it automatically set WCM_LISTENS_TO=WCM_LINKING_OTHER. I deleted the portlet preference, deleted the page, re-imported and everything worked fine.
A lesson learned from this is to set desired portlet preferences on the local rendering portlet and export the web module and import it into all target environments to insure they are identical.
I hope this tip saves you the couple hours it took me to unravel this.