April 25, 2014

Deployer Extension Secrets in SDL Tridion

While migrate from 5.3 to 2011, i found an issue in Deployer extension, My particular extension Module was  on top of  "deploy" action processor in  Tridion 5.3, but same did not work in 2011.

In 2011 Deployer works in transactions, so whatever i was updating initially it got updated in DB but it was  was not assumed as part of transaction and on final commit it was getting removed from database.

I get to know about an optional attribute "Phase" in Processor node. so i performed following steps to configure my extension

1) Copy paste existing Processor node with action deploy/undeploy  depending upon your requirement.

2) <Processor Action="Deploy" Class="com.tridion.deployer.Processor"  Phase="post-transaction"
>
            <!-- A Module is triggered by a Processor to process incoming instructions.
                    The 'Type' attribute needs to be unique within a Processor and serves
                    as a symbolic identifier. The 'Class' attribute defines the
                    implementation used for any type of Module. Replace or add modules to
                    implement custom Deployer behavior. -->
                                <Module Type="CustomDeploy" Class="com.tridion. portal. Deploy">
                       
                                                </Module>
        </Processor>
3) It would be activated only after the transaction has committed its results.

4) Now there would be 3 processor in cd_deployer.config file.

Possible values of Phase, I did not find  cd_deployer.schema to validate.
  • pre-processing
  • processing
  • post-processing
  • pre-transaction
  • post-transaction