Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Deactivate and delete expired assets

Avatar

Level 3

Hi,

Is there a way to deactivate and delete the asset as soon as its expired i.e. the assets reaches the expiry date set for the asset?

Thanks,

Sagar

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Digital Rights Management in Assets

Have you tried setting up the "Adobe CQ DAM Expiry Notification".

As per official documentation, if the configuration is set, the scheduler runs a check and deactivate the expired assets. However, it doesn't delete the assets and I don't think it does delete OOTB. For that you'll have to write custom code.

https://www.katrinaprieto.com/projects/adobe-aem/

View solution in original post

3 Replies

Avatar

Level 10

Hi,

An expired asset is deactivated when is passes it's expiry date: "[...] ensures that the published asset is unpublished when it expires" (Digital Rights Management in Assets).

To delete the assets, you will have to create a workflow that finds all expired assets using a query, and deletes those nodes. Here is a query to find all assets expired at a given date (JCR SQL-2 does not have a DATE() function to get the current date, you will have to supply this date in Java):

SELECT asset.* FROM [dam:Asset] AS asset

INNER JOIN [dam:AssetContent] AS jcrContent ON ISCHILDNODE(jcrContent, asset)

INNER JOIN [nt:unstructured] as metadata ON ISCHILDNODE(metadata, jcrContent)

WHERE ISDESCENDANTNODE(asset, '/content/dam')

AND NAME(metadata) = 'metadata'

AND metadata.[prism:expirationDate] <= CAST('2019-08-28T23:59:59.999Z' AS DATE)

You can run this query now by going to CRXDE > Tools > Query, selecting SQL2, pasting the query in the text area and clicking execute:

Peek 2019-08-28 22-48.gif

Avatar

Level 3

Thanks for the query.

But for me when asset is expired, the it doesn't deactivates. Any configuration that i am missing?

Thanks

Avatar

Correct answer by
Community Advisor

Digital Rights Management in Assets

Have you tried setting up the "Adobe CQ DAM Expiry Notification".

As per official documentation, if the configuration is set, the scheduler runs a check and deactivate the expired assets. However, it doesn't delete the assets and I don't think it does delete OOTB. For that you'll have to write custom code.

https://www.katrinaprieto.com/projects/adobe-aem/