Documentation Center

Configuring publish undo in Content Deployer

If you want to make it possible to undo a publish action, modify the Content Deployer configuration (cd_deployer_conf.xml) and storage configuration (cd_storage_conf.xml) of your Content Deployer (HTTP or HTTPS) Server Role or of your Content Deployer (other protocols) Server Role.

Procedure

  1. Access the directory containing the Content Deployer configuration file, cd_deployer_conf.xml, of your Content Deployer (HTTP or HTTPS) Server Role, or of your Content Deployer (other protocols) Server Role.
  2. Open cd_deployer_conf.xml for editing.
  3. Find the Deployer > Processors element.
  4. Inside this element, ensure the presence of the following Processor element:
    <Processor Action="Undo" Class="com.tridion.deployer.Processor">
    	<Module Type="UndoModule" Class="com.tridion.deployer.UndoDeploy"/>
    </Processor>
  5. If you have one or more custom Content Deployer Modules running in the pre-transaction phase, also add the following:
    <Processor Action="Undo" Class="com.tridion.deployer.Processor" Phase="pre-transaction">
    	<Module Type="UndoModule" Class="com.tridion.deployer.UndoPreTransactionDeploy"/>
    </Processor>
  6. If you have one or more custom Content Deployer Modules running in the post-transaction phase, also add the following:
    <Processor Action="Undo" Class="com.tridion.deployer.Processor" Phase="post-transaction">
    	<Module Type="UndoModule" Class="com.tridion.deployer.UndoPostTransactionDeploy"/>
    </Processor>
  7. Furthermore, if your implementation of SDL Tridion adds custom items to the Transport Package, rendering instructions related to such content (if related to Pages or Component Presentations) is stored as a general content type 'extension data'. To ensure that a publish undo also undoes the publishing of this type of content, check the following:
    • In your Processor for deploying (that is, the one with the Action attribute set to Deploy), ensure the presence of the following Module:

      <Module Type="ExtensionDataDeploy" Class="com.tridion.deployer.modules.ExtensionDataDeploy"/>
    • In your Processor for deploying (that is, the one with the Action attribute set to Undeploy), ensure the presence of the following Module:

      <Module Type="ExtensionDataUndeploy" Class="com.tridion.deployer.modules.ExtensionDataUndeploy"/>
  8. Save and close cd_deployer_conf.xml.
  9. Access the directory containing the Storage Layer configuration file, cd_storage_conf.xml, of your Content Deployer (HTTP or HTTPS) Server Role, or of your Content Deployer (other protocols) Server Role.
  10. Open cd_storage_conf.xml for editing.
  11. Find the Configuration > Global > Storages > StorageBindings element.
  12. Inside this element, ensure the presence of the following Bundle element:
    <Bundle src="undo_dao_bundle.xml"/>
  13. Find the Configuration > Global > Storages > Wrappers element.
  14. Inside this element, ensure the presence of a Wrapper element with its Name attribute set to the value UndoWrapper.
  15. Inside the Wrapper element, ensure the presence of a Storage element that defines a new database for undo information. Configure this element as you would a Storage element in the Storages section.

    For example, here is a sample Wrapper element containing a Storage element for a SQL Server database

    <Wrapper Name="UndoWrapper">
    	<Storage Type="persistence" Id="undodb" dialect="MSSQL" Class="com.tridion.storage.persistence.JPADAOFactory">
    		<Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" CheckoutTimeout="120" />
    		<DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
    			<Property Name="serverName" Value="localhost" />
    			<Property Name="portNumber" Value="1433" />
    			<Property Name="databaseName" Value="Tridion_Broker_Undo" />
    			<Property Name="user" Value="sa" />
    			<Property Name="password" Value="tridion" />
    		</DataSource>
    	</Storage> 
    </Wrapper>

    If you are connecting to Oracle RAC, use the property name serviceName instead of databaseName.

    Note that if you the Content Deployer Server Role shares a Web application with the Experience Manager Web service Server Role (which also requires a Wrapper element to be added in cd_storage_conf.xml), this Undo functionality will not work. In this case, run the Content Deployer and the Experience Manager Web service separately.

  16. Save and close cd_storage_conf.xml.
  17. Stop and restart your Content Deployer Web application, Windows service or Java process.