In the sample deployer-conf.xml of the Experience Optimization the following is stated:

Add the following pipelines after the existing "PostCommit" pipelines

Xml fragment below for reference:

<!-- Add the following pipelines after the existing "PostCommit" pipelines -->
<Pipeline Id="Tridion-Process-PostCommit" Action="Deploy" Verb="Process">
        <Step Id="SmartTargetDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.tridion.smarttarget.deployer.FredhopperDeployerModule" Type="SmartTargetDeploy">
                <Transformer Class="com.tridion.deployer.TCDLTransformer"/>
<Pipeline Id="Tridion-Undeploy-PostCommit" Action="Undeploy" Verb="Process">
        <Step Id="SmartTargetUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
            <Module Class="com.tridion.smarttarget.deployer.FredhopperUndeployModule" Type="SmartTargetUndeploy"/>

On the other hand, the official documentation HERE states to "add it to the end of the pipelines" which is different from the instructions from the sample xml:

Add the following Pipeline section for deployment below the last Pipeline section in the file:

So my questions would be:

  1. What exaclty defines a pipeline as "post-commit", its Verb, because in a vanilla Deployer they are none with "post-commit", only PreCommit and Commit? Some Pipelines also have (pre)commit in their Ids but I doubt that this is meant by the instructions.
  2. Based on the instructions form the sample config, am I right to assume that this needs to be added after the following fragment, or is the instruction from the official docs the correct place?

Pipelines fragment:

<Pipeline Id="Tridion-Commit-TX" Action="Deploy,Undeploy" Verb="Commit">
        <Step Id="TridionCommitStep">
            <RetryPoint PipelineId="Tridion-PreCommit-TX" StepId="TridionPreCommitStep"/>

1 Answer 1


First, my apologies for the confusion. The comment was probably written at a time where there was a Post-Commit step but that is no longer the case -- so the comment should be updated or removed. In other words, you won't go wrong following the documentation :)

The pipelines will be read in document order, but also accessed using both the Action and Verb attributes in a predefined order (e.g. Pre-Commit always comes before Commit).

So if two pipelines have the same Action and Verb, they will be executed in the order they appear in the file (top to bottom).

The Experience Optimization steps should be executed after the default deployer steps have been executed -- meaning the content has been successfully added to the database, so now it should be added to XO as well. That way, if the content was not published correctly to the database, it won't be returned by Promotions either.

Seeing as the XO steps have the same Actions (Deploy and Undeploy) and Verb (Process) as some of the default steps (Tridion-Process-Deploy and Tridion-Process-Undeploy), it is important that they are added after those steps. But it is not too important exactly where in the document -- just as long as it is after the default ones.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.