2

We were trying to remove/archive an old dynamic CT, and for this we needed to un-publish it first. Unfortunately that CT had been published with so many components in the past, and un-publishing it took a very long time and eventually failed ("Deployment Prepare Commit Phase failed").

Is there a way to mark that dynamic CT as un-published, so that we can proceed archiving/removing that dynamic CT? Perhaps a (SDL-supported) SQL statement?

We uses Oracle and Tridion 2013 SP1.

1
  • Per SDL's suggestion, we increased the size of the timeout in the cd_storage_conf.xml file for the deployer (the default is: <Transaction Timeout="120000" MonitorInterval="5000"/>). This was working, the unpublishing's commit phase was finally successful. Feb 26, 2015 at 22:14

3 Answers 3

4

I would be surprised if there is a supported SQL script to mark this as unpublished, as there may be implications for keeping this information in your Broker database(s).

Rather than unpublishing the Component Template, you could unpublish all of the Components that use this Dynamic Component Template (as long as these Components aren't also used by another Dynamic Component Template).

You could do this, for example, using Advanced Search to find all of the Components based on a particular Schema. Alternatively, you could write a Core Service tool to unpublish these.

2
  • There is a supported API method to decommission a Publication Target but it's all-or-nothing (i.e.g you can't decommission just a template). Feb 14, 2015 at 19:35
  • Unfortunately unpublishing the components is not an option for us, as they are used (i.e. published) with other legitimate templates. Feb 26, 2015 at 22:09
0

There is the SetPublishedTo() method on the ComponentTemplate object in the TOM API. This will allow you to set the published state of an item without actually having to unpublish it.

Unfortunately you have to set the state per published component presentation meaning you have to get the list of component IDs that are published with this template and set call SetPublishedTo() once per component...

Of course if you have the list of components and the template you could just unpublish the DCPs one at a time which would also remove them from the published DCPs in the broker which I think should be the preferred option.

0

Per SDL's suggestion, we increased the size of the timeout in the cd_storage_conf.xml file for the deployer (the default is: <Transaction Timeout="120000" MonitorInterval="5000"/>. We increased it to 2.5 hours, and the unpublishing's commit phase was finally successful.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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