Thursday, 13 May 2010

IBM WebSphere Portal Content Templates Catalog

Following my previous posting regarding the IBM WebSphere Portal Content Templates Catalog, I had been trying, and failing, to deploy the Catalog into my clustered WP/WCM 6.1.5 environment.

I had, as far as I could tell, modified the install.sh and wkplc.properties appropriately, but the installation script still completed within 10 seconds, and nothing got deployed.

After some excellent help from Ronan and Esmond in the IBM Dublin labs, I realised where I was going wrong.

Esmond suggested that I check the ConfigEngine registry - /opt/IBM/WebSphere/wp_profile/ConfigEngine/registry.xml - to see whether the Templates had been registered.

Looking at this file, I couldn't see any reference to: -

assemblyName="IBM.WebSphere.Portal.Content.Templates.Catalog"

which suggested that the first step in install.sh was failing, albeit without an error message.

Therefore, I looked again at install.sh and, quelle surprise, I was being a complete and utter muppet - the install script is written assuming that the user is running against localhost on 10033: -

hostName=localhost
soapPort=10033

whereas I am running against a cluster, with an external deployment manager.

Therefore, I ran the two commands, from install.sh, manually: -

cd /opt/IBM/WebSphere/wp_profile/ConfigEngine

./ConfigEngine.sh -install -assemblyRoot /opt/IBM/WebSphere/PortalServer/IBM.WebSphere.Portal.Content.Templates.Catalog/ -installPath /opt/IBM/WebSphere/PortalServer/ -user wasadmin -<PASSWORD> -hostname dm.uk.ibm.com -port 8879 -offeringName PortalServer -assemblyName IBM.WebSphere.Portal.Content.Templates.Catalog -expandBinaries false

( so replacing localhost/10033 with the hostname of the Deployment Manager - dm.uk.ibm.com - on port 8879 )

which updated the registry.xml as follows: -

<assembly assemblyName="IBM.WebSphere.Portal.Content.Templates.Catalog" installLocation="/opt/IBM/WebSphere/PortalServer//IBM.WebSphere.Portal.Content.Templates.Catalog" lastModified="05/13/2010" version="6.1.0.0">
      <component compName="components/sample.ctc.content" installLocation="/opt/IBM/WebSphere/PortalServer//IBM.WebSphere.Portal.Content.Templates.Catalog/components/sample.ctc.content" version="6.1.0.0">
        <task taskName="deploy-portlets" failOnError="true" status="FAIL"/>
        <task taskName="remove-portlets" failOnError="true" status="FAIL"/>
      </component>
    </assembly>

I then ran the deploy-portlets script: -

./ConfigEngine.sh deploy-portlets -DComponentList=components/sample.ctc.content -propertyfile /opt/IBM/WebSphere/PortalServer/IBM.WebSphere.Portal.Content.Templates.Catalog/wcm.properties 

and, quelle surprise, it worked. The deploy-portlets task took 15 minutes, and I now have lots of lovely content to look at :-)

Simple :-)

No comments: