8

On a 2009 system, I have the following scenario:

  1. Create two multimedia components with the same binary filename
  2. Publish a page where the templating calls AddBinary on both (using the filename)
  3. The publish fails because the second binary can't be deployed to the same location as the first
  4. However... the first binary remains deployed, as does the binarymeta
  5. Delete the page

From here on, there is no unpublish action available to you which will trigger an undeploy of the binary, so you can't ever publish a binary to that location even if you delete the file: the binarymeta will still prevent it.

I have heard that some level of transactional deployment was introduced in 2011, and that this became better still in 2013, however the details are unclear.

What are the features/capabilities of transactional deployment in 2013, and how do they differ from previous versions?

1

In further tests, I repeated the same scenario on a 2013 system and got the following error message on attempting to publish:

Committing Deployment Failed Phase: Deployment prepare commit phase failed Unable to prepare transaction tcm:0-136965-66560. Attempting to deploy a binary 194867 to a location where a different binary is already stored. Existing binary: 194868

From this it is clear that Tridion first checks whether the commit will succeed before actually committing. This ensures that if part of the deployment can't succeed, none of the assets will be deployed.

| improve this answer | |
  • Obviously, this is only a partial answer, as there may be more improvements, but I think it's useful nonetheless - hence my "self answer". I'd still like to see better answers from people with more knowledge, but for now this is better than nothing. – Dominic Cronin Feb 23 '15 at 19:28
0

In general, in modern versions of Content Delivery the deployment phase can indeed be transactional (using ACID DB transactions), so that you won't get partial deployments in case an error occurs in the deployment phase.

However, since this relies on DB transactions, I don't think it will help in case of file system deployment.

| improve this answer | |

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.