Shared quality indicators between image formats

Morten_Thuesen

27-11-2019

Hi guys,

I have a wish from my business stakeholders to be able to sort images based on quality. The reason being, that the quality determines, what the image is fit for. E.g. does it live up to the requirements for printing?

The quality parameters includes: DPI, resolution etc.

I've looked around in AEM on different images, and it seems like the different fileformats are storing these data in different attributes - and also in a different way - making it hard to use one attribute for getting the DPI, one for the resolution etc. Or is it just me?

The file formats in question for this service is PSD, TIFF, JPG and PNG.

Hope somebody in the forum is able to help 🙂

Regards,

Morten

Accepted Solutions (1)

Accepted Solutions (1)

berliant

Employee

27-11-2019

Asset metadata should be extracted and stored under /content/dam/folder/file.psd/jcr:content/metadata and hence you can query those properties.

If the value that you are looking for is backed into file's metadata AEM will extract it.

I uploaded some sample PSD files into a DAM and I did not find a DPI. Instead, I noticed tiff:XResolition and iff:YResolition. Might be you can evaluate those properties or you have to add a custom property for PSD files metadata to keep a DPI value.

Answers (2)

Answers (2)

Morten_Thuesen

27-11-2019

Hi Berliant,

Thank you for your answer. My own investigation also shows, that these data varies from Mimetype to Mimetype.

E.g. I believe in a Photoshop file a value of 300 DPI is written something like this in the metadata in AEM 3000000/10000.

As I understand you, I would need to create a query, that take al known attributes containing this data and the respective values from them into consideration? And if yes - can I do this, when a Photoshop files stores its DPI as mentioned above?

Regards,

Morten

berliant

Employee

27-11-2019

Keeping in mind that the quality indicators might vary per an asset mime type, you can identify those metadata property that fits into your business model and construct a join query to perform a search.

Example: /jcr:root/content/dam//element(*,dam:Asset)[jcr:content/@sindicator1="value1" and jcr:content/@sindicator2="value2"]