4

I have a Component with many large images in it. Sometimes we change 1 image, and need to re-publish the Component resulting in all images being published again, with the PublishBinary API call.

I would like to see how to not re-publish all images. One idea would be to check the page last publish time and compare it with the image last modified time in a custom resolver, and remove images that are older than the last publish time.

Is this a crazy idea or has it already been done before?

Is there a better way?

6
  • 1
    I'd go one step further and add the CD Web Service to a box connected to your CD database, and check against that for the version of the binary published - then decide if it needs updating...
    – Nuno Linhares
    Commented May 7, 2014 at 13:43
  • And is a custom resolver the best (or only) place to remove the images to not publish?
    – robrtc
    Commented May 7, 2014 at 13:46
  • 1
    Custom resolver is the best place, in my opinion.
    – Nuno Linhares
    Commented May 7, 2014 at 14:23
  • 2
    One thing I'm wondering about is the used counter of the images, when you remove the AddBinary() call for certain image, the Delivery side might decrease the usage counter for that image, and if it is null, it might delete the image from the delivery side... Please note I'm saying 'might', you would have to check it. Commented May 7, 2014 at 14:28
  • 1
    Do customer resolvers change the behavior of AddBinary()? I thought items added to the package by templates aren't seen in "items to publish" (and are separate from the resolving rules). Commented May 8, 2014 at 2:12

1 Answer 1

5

Your idea makes perfect sense to me. you can use it for sure.

I have one more:

  1. publish the Images dynamically one by one, when needed.
  2. stop publishing the dependent images while publishing the page/Component using Custom Resolver

I understand this could have impact of your solution design, but still an option.

1
  • 1
    We have done a similar solution but resolving the Image URL in the Template instead. It does require the user to publish the images first, but saves a lot of time during publishing.
    – robrtc
    Commented Nov 21, 2014 at 6:09

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.