In our SmartTarget/Fredhopper implementation we're using the pick-up directory approach not the direct deploy web service (configured via smarttarget_conf.xml). This allows us to enrich the XML prior to sending it to Fredhopper.

Any template using the Add to SmartTarget TBB causes the Deployer to follow our config and dump some FAS XML in a folder.

Everything works fine but we noticed that when we un-publish a DCP that does not use this TBB, the Deployer still drops an XML file in our pick-up directory with FAS XML for a "delete" operation!

Is this behaviour correct?

Its odd that the Deployer can distinguish what needs to go to Fredhopper and what doesn't when you publish, but not when you unpublish - we're wasting a message to Fredhopper that need not go.


  • Templates are not executed when you unpublish, so this trade-off (deleting always) seems reasonable to me.
    – Nuno Linhares
    Commented Dec 10, 2013 at 11:49

3 Answers 3


I don't see anything in the docs, you might have (cough) to have a 'closer' look at the com.tridion.smarttarget.deployer.FredhopperUndeployModule to see what's actually happening under the hood.

I think it's actually a good idea to have the item process for a delete, it could be that there's a ton of content published and the template uses the 'Add to SmartTarget' TBB, this could then be removed meaning the content would never be taken out of FH. If it's not causing you any grief, i'd recommend keeping it as is.

  • Marking this as the answer as I took a "closer" look at the undeploy module and - although I'm no Java developer - it appears that becuase the unpublish instruction in the package sent to the Deployer doesn't contain any rendering metadata like it does when you publish - the module has no way to determine if this is a SmartTarget DCP or not so it doesn't even try to. It simply generates the delete operation regardless. Guess I could roll my own unpublish module and maybe check for configured templates Ids or something if I really wanted to.
    – Neil
    Commented Dec 10, 2013 at 9:19

Although unpublishing a CT will create a delete operation for FH The CT contains no "Add To ST" TBB, so no DCP's with that template will be in FH, so nothing will be deleted.

Indeed this is by design because a) we want to keep content in the Broker and in FH synchronized. b) we do not have the "Add To ST" information on unpublish

I will however add it to our backlog to have a look if we can not remove this overhead :)


What process do you follow to unpublish this specific Dynamic Component Presentation (DCP)?

When unpublishing a Component, Tridion unpublishes all its DCPs, which means if a single Dynamic Component Template (CT) contains the "Add to SmartTarget" TBB, it will send the Delete operation to Fredhopper (FH).

If you unpublish a specific CT which does not contain the "Add to SmartTarget" TBB, then I would not expect the delete operation to go to FH.

  • Phillippe - This is exactly what is happening. We unpublish a specific CT which does not contain the "Add to SmartTarget" TBB and yet the Deployer still creates a delete operation.
    – Neil
    Commented Dec 10, 2013 at 9:03
  • Like I said we do not have that information in our deployer extension on unpublish, so we can't decide whether or not to create the delete operation, always creating it will get us to the correct situation, the other option being not able to unpublish components from FH at all Commented Dec 12, 2013 at 10:21

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.