i-fix Name: PK31957 Problem Summary: ContentService.getDraft() throws NullPointerException if Draft Workspace doesn't exist Detailed Problem Description: The following exception occurs on the syndicator machine during syndication and the subscriber does not receive the update, instead a 500 response is reported: [9/21/06 6:23:40:653 CDT] 0000003c ModuleManager E IWKCT1383X: Unexpected error from Module. Details of cause to follow: [9/21/06 6:23:40:657 CDT] 0000003c ModuleManager E java.lang.NullPointerException: p_workspace cannot be null. at com.aptrix.util.CodeIntegrityUtils.checkNotNull(CodeIntegrityUtils.java(Inlined Compiled Code)) at com.ibm.workplace.wcm.services.repository.RepositoryServiceImpl.get(RepositoryServiceImpl.java(Compiled Code)) at com.ibm.workplace.wcm.services.content.ContentServiceImpl.getImpl(ContentServiceImpl.java(Compiled Code)) at com.ibm.workplace.wcm.services.content.ContentServiceImpl.getImpl(ContentServiceImpl.java(Compiled Code)) at com.ibm.workplace.wcm.services.content.ContentServiceImpl.getDraft(ContentServiceImpl.java:1317) at com.ibm.workplace.wcm.services.versioning.VersioningServiceUtils.getDeletedForSyndication(VersioningServiceUtils.java:838) at com.aptrix.deployment.syndicator.ItemDispatcher.fetchItemVersion(ItemDispatcher.java(Compiled Code)) at com.aptrix.deployment.syndicator.ItemDispatcher.fetchItem(ItemDispatcher.java(Compiled Code)) at com.aptrix.deployment.syndicator.ItemDispatcher.dispatchItem(ItemDispatcher.java(Compiled Code)) at com.aptrix.deployment.syndicator.ItemDispatcher.process(ItemDispatcher.java(Compiled Code)) Problem Analysis: We were checking if a draft item existed by attempting to retrieve it from the repository. Draft items have a dynamic workspace and the workspace does not exist if the draft item does not exist, hence we were receiving null before we could check for the item. Failing Module: WCM - Web Content Management (General) Problem Solution: We now check for the existence of the workspace before retrieving the draft item. Affected Users: All Users Requisites: pre-requisite Portal Component: WCM 6.0.0.0 GA build 298.0 pre-requisite interim fixes: PK30057 Platform Specific: No Fix pack: This fix will be integrated into WP v6.0.1 Installation Steps: NOTE: YOU MUST FIRST DOWNLOAD THE UPDATE INSTALLER TOOL IN ORDER TO INSTALL A FIX. The Portal Update Installer can be downloaded from the following link: http://www.ibm.com/software/genservers/portal/support - Create a temporary "fix" directory to store the jar file. - Copy jar file to this directory. - Shutdown WebSphere Portal. - Ensure the pre-requisite fix(es) are installed. - Follow the fix installation instructions that are packaged with the Portal Update Installer on how to install a fix. NOTE: If a pre-requisite fix is not installed, the Portal Update Installer will fail and will list the missing pre-requisite fix(es). - Restart WebSphere Portal. - Update the deployed remote rendering portlet: - Log in to Portal as the Portal Administrator - Navigate to: Administration / Portlet Management / Web Modules - Find and select the remote rendering portlet web module - Click the Update Portlet Icon to the right of the selected portlet - Select the updated portlet WAR file located in: [PortalServer]\installableApps - Click Next and Finish - Log out of Portal for the changes to take effect. Refer to the "Maintaining the cluster" section of the Portal Information Center for information on installing fixes in clustered environments while maintaining continuous availability of your Portal. Note: If you are tryng to deploy the ifix on a horizontal cluster, Before you run the portal update installer, please take note of the cell name of your deployment manager. You can get the cell nameby going to the deployment manager machine, open /profiles//config/cell//cell.xml and there will be a field indicating the cellname. (by default its called servernameCell01) For each node you are applying the ifix too, you need to: - Go into /config/ - Open up wpconfig.properties - Search for the properties Field "CellName=" - Change it to point to the deployment manager's cellname. i.e. "CellName=DeploymentManagerCell" Un-Installation Steps: NOTE: FIXES MUST BE REMOVED IN THE ORDER THEY WERE APPLIED. DO NOT REMOVE A FIX UNLESS ALL FIXES APPLIED AFTER IT HAVE FIRST BEEN REMOVED. YOU MAY REAPPLY ANY REMOVED FIX. - Shutdown WebSphere Portal. - Follow the instructions that are packaged with the Portal Update Installer on how to uninstall a fix. - Restart WebSphere Portal. - Update the deployed remote rendering portlet: - Log in to Portal as the Portal Administrator - Navigate to: Administration / Portlet Management / Web Modules - Find and select the remote rendering portlet web module - Click the Update Portlet Icon to the right of the selected portlet - Select the portlet WAR file located in: [PortalServer]\installableApps - Click Next and Finish - Log out of Portal for the changes to take effect. Refer to the "Maintaining the cluster" section of the Portal Information Center for information on installing fixes in clustered environments while maintaining continuous availability of your Portal. Note: If you are tryng to deploy the ifix on a horizontal cluster, Before you run the portal update installer, please take note of the cell name of your deployment manager. You can get the cell nameby going to the deployment manager machine, open /profiles//config/cell//cell.xml and there will be a field indicating the cellname. (by default its called servernameCell01) For each node you are applying the ifix too, you need to: - Go into /config/ - Open up wpconfig.properties - Search for the properties Field "CellName=" - Change it to point to the deployment manager's cellname. i.e. "CellName=DeploymentManagerCell" DISCLAIMER: This fix has received limited testing only and has not undergone IBM's complete quality assurance process. It is therefore recommended that it be tested in a testing environment before applying it to a working (authoring, production/live) system. You should always backup your data before installing a fix or fixpack.