1

I have a situation here:

-Multimedia component(let's say pdf abc.pdf)
-All Multimedia items tied to a Dynamic Component Template used to publish binaries using TBB.
-This Multimedia used in other component(Test component)
-Test component used on a test page with Component Template set to publish as embedded.

After making changes to multimedia and clicking "show items to Publish" both items to be published are shown correctly.

--Multimedia component.
--Test Page.

After publishing, the package that is sent to deployer has:

-Updated binary(abc.pdf) in the binary\image directory as expected  
-component.xml having the details of only the test component  
-pages.xml having details of the test page 
-Instructions.xml missing the instructions for the binary. 

And hence my updated binary is not being taken up for re-publishing/deploying.

Changing Test CT to be published as Dynamic makes binary instructions to appear in instructions.xml and the binary is updated after publishing as expected.

-Is it the expected behaviour or am i missing something from configuration perspective?

-Suggestions to fix the problem? (Let's say i don't want to change my CT to Dynamic and still want to publish the updated Multimedia in this scenario)

  • What's missing in the binary update when instructions.xml is missing? Is custom metadata not being updated or the binary itself doesn't get updated? Note there is a difference between Publishing binaries directly with a Dynamic Component Template and having them included in the Package as described in Frank van Puffelen's Binary Event Tracker article. You can actually (implicitly) publish binaries without having a template for it, but only through linking Components or pages. – Alvin Reyes Oct 27 '15 at 16:51
  • Hi Alvin, I have checked that binary itself is not getting updated . The article though is very useful and provides clarity on how we are trying to publish the binary implicitly in our case which is by using it on a component. – Ashutosh Nov 3 '15 at 6:33
  • Items that use your item are typically resolved (as seen in show items to Publish). Publishing the page or Component that uses the Multimedia Component should (implicitly) publish it again. If not, see Saurabh's answer. Other issues might be a variant, where the CT is actually updating the image in a different location, or maybe caching. – Alvin Reyes Nov 5 '15 at 11:34
  • OK, can you also confirm if the instructions.xml should have instruction for Binary in both the scenarios(implicitly published by Dynamic/Embedded CT's) ? The reason i am focusing on the instructions.xml in the package that is sent to deployer is because we have customized the deployer for some pre/post processing of the package, though i have not encountered anything weird with our deployer yet but don't want to go to that level where i should check the database for the publishing updates. – Ashutosh Nov 5 '15 at 15:59
  • I'm not sure if instructions.xml always references binaries. Debug or try without the deployer? – Alvin Reyes Nov 6 '15 at 1:41
2

I am not clear about your Dynamic Component Templates, So I am trying to answer the question generally.

So to publish a binary from a CT, we need to ensure two things in templating:

  1. The binary is being added to the package.
  2. Publish the binary from the package.

To add a binary to the package, we use AddBinary() methods. Which are described quite well here.

To publish the binaries from the package, use OOB TBB “Publish binaries in package” which is usually a part of “Default Finish Actions” TBB out of the box from Tridion.

Now in your CT, please ensure that you are covering above points.

Also, you can have a look at a nice blog about “Publishing binary assets from SDL Tridion

Hope this helps.

  • 1
    Thanks for inputs,i could follow what you said however there are few things to add here, as mentioned previously the actual binary is published to the binary\image directory in package so definitely the first point works. About the second point- i am using custom TBB's for publishing binary & stuff(for both dynamic & embedded templates) and i did not see any difference in execution of those TBB's while debugging for the two cases yet. Just wanted to know if there is anything specific that takes care of putting binary instructions to instructions.xml except the second point you mentioned. – Ashutosh Oct 27 '15 at 15:16
  • Could understand from your inputs & Alvin's comments that for embedded template publishing instructions.xml may not reference binary & it's one of the above two steps that takes care of deploying. – Ashutosh Nov 16 '15 at 4:43

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.