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
- 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.
- Open cd_deployer_conf.xml for editing.
- Find the Deployer > Processors element.
- Inside this element, ensure the presence of the following
Processorelement:<Processor Action="Undo" Class="com.tridion.deployer.Processor"> <Module Type="UndoModule" Class="com.tridion.deployer.UndoDeploy"/> </Processor> - 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> - 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> - 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
Processorfor deploying (that is, the one with theActionattribute set toDeploy), ensure the presence of the following Module:<Module Type="ExtensionDataDeploy" Class="com.tridion.deployer.modules.ExtensionDataDeploy"/>In your
Processorfor deploying (that is, the one with theActionattribute set toUndeploy), ensure the presence of the following Module:<Module Type="ExtensionDataUndeploy" Class="com.tridion.deployer.modules.ExtensionDataUndeploy"/>
- Save and close cd_deployer_conf.xml.
- 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.
- Open cd_storage_conf.xml for editing.
- Find the Configuration > Global > Storages > StorageBindings element.
- Inside this element, ensure the presence of the following
Bundleelement:<Bundle src="undo_dao_bundle.xml"/> - Find the Configuration > Global > Storages > Wrappers element.
- Inside this element, ensure the presence of a
Wrapperelement with itsNameattribute set to the valueUndoWrapper. - Inside the
Wrapperelement, ensure the presence of aStorageelement that defines a new database for undo information. Configure this element as you would aStorageelement in theStoragessection.For example, here is a sample
Wrapperelement containing aStorageelement 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
serviceNameinstead ofdatabaseName.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
Wrapperelement 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. - Save and close cd_storage_conf.xml.
- Stop and restart your Content Deployer Web application, Windows service or Java process.