How can we use the versioning for the images without updating its reference but still don't face browser cache issues

Avatar

Avatar

NaziyaP

Avatar

NaziyaP

NaziyaP

01-01-2021

Dear All,

How can we update image in DAM so that its versioned file can automatically be referenced in the html.

 

Suppose I have uploaded an Image XYZ.jpg and have given path in html as

<img alt="XYZ image" tabindex="1" class="XYZImage" src=“path_to/XYZ.jpg“/>.
 
Now I want to update this Image with another and I want that I only update the image in the DAM like XYZ.jpg-v-2 and my html automatically refers to the new version without any code change so that no browser cache issue come.


Please note, browser cache cannot be disabled at server, its necessary to keep that

DAM Assets image versioning

Answers (5)

Answers (5)

Avatar

Avatar

Umesh_Thakur

MVP

Avatar

Umesh_Thakur

MVP

Umesh_Thakur
MVP

03-01-2021

Hi @NaziyaP,

we have One option available OOB, "Move" you can achieve this.

With Move option you can rename the image and it will update the reference as well without any issue but it will ask you to update the location of image, that might not be the case in your scenario.

This will help you to handle the scenario without any code change.

One more ooption you have that is ACS Named Transformed Image Servlet.

 

Hope this will help.

Umesh Thakur

 

Avatar

Avatar

Vaibhavi

MVP

Avatar

Vaibhavi

MVP

Vaibhavi
MVP

03-01-2021

Hi @NaziyaP , 

In this scenario, you need to go for customised solution. 

This cannot be achieved straight forward since image name differs aem stores the copy of image and doesn't replace the same. 

<img src=" ${dynamic path}" />

So steps would be, 

  • Write a service to fetch the image under /content/dam/path to image. 
  • Get the latest image by created/lastmodified date. Or you can sort using version numbers too. 
  • Update the image src with dynamic path

Avatar

Avatar

Ankur_Khare

MVP

Avatar

Ankur_Khare

MVP

Ankur_Khare
MVP

03-01-2021

You need to write a custom workflow which will update the node where image is authored whenever there is update in dam.

Avatar

Avatar

kunal23

MVP

Avatar

kunal23

MVP

kunal23
MVP

03-01-2021

You can set caching headers appropriately in apache to invalidate the browser cache after the time to live (max-age) value expires. However, It is not good for page performance to set low TTL values for browser cache. 

 

<LocationMatch "^\.*.(jpeg|jpg)$">
     Header set Cache-Control "max-age=222"
     Header set Age 0
 </LocationMatch>

 

Avatar

Avatar

praveenjain

Avatar

praveenjain

praveenjain

01-01-2021

I dont think this scenario is possible.

Referred Image name should match the name of Image present in DAM.

- Praveen