Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Skip Assets from Asset Translation Job

Shashi_Mulugu
Community Advisor
Community Advisor

Hello Team,

 

We are using AEM 6.4.2 and using Human Translation project to send pages/assets for translation.

 

I have configured my Translation rules to exclude/Include paths with /content/dam/ path allowed.

 

My DAM structure is "/content/dam/XYZ/global", "/content/dam/XYZ/us", "/content/dam/XYZ/uk" "/content/dam/XYZ/de" etc..

 

I have image component which will be used by authors in different sections of the page and browse images from the above paths. Here I want to exclude images from "/content/dam/XYZ/global" but take images from other locales for translation while they submit pages for translation.

 

I have debugged the OOTB code and logic was in "com.day.cq.dam.core.impl.process.CreateAssetLanguageCopyProcess" and "com.day.cq.dam.core.impl.process.UpdateAssetLanguageCopyProcess" Process steps, is not having any logic to bypass the certain folders on any criteria.

 

I can think of two options as of now:-

1. Setting a DAM property either manual or automatic to configure a "global" = "true" on Asset metadata for global assets and set filter in translation rules

2. Overlay OOTB Translation workflows, "dam-create-and-translate-language-copy", "dam-create-language-copy", "dam-update-and-translate-language-copy", "dam-update-language-copy" and write our own logic of excluding above "/content/dam/XYZ/global" in customized workflow process of "com.day.cq.dam.core.impl.process.CreateAssetLanguageCopyProcess" and "com.day.cq.dam.core.impl.process.UpdateAssetLanguageCopyProcess".

 

Please let me know if there is any easy/other ways to do the same.

 

@BrianKasingli @Theo_Pendle . @Arun_Patidar @Jörg_Hoh @vanegi @kautuk_sahni 

1 Accepted Solution
Jörg_Hoh
Correct answer by
Employee
Employee

Technically that's a feature request, and I would raise it as such with support. The question is the priorization of it.

You probably cannot wait for 6 months for that to happen, so I think that you go forward with a more hacky solution, which you can replace as soon as the feature is available.

 

Customizing the workflow sounds like the better idea, but decompiling product code and introducing a modified version of it into your application isn't a good idea either (omitting all the legal aspects of it), because this code can change with every SP/release/.....

Which means that more obvious workaround (maybe setting this global flag) might be safer.

 

But in the end there's no really good way to handle it, because you would need a small feature within a larger framework.

View solution in original post

7 Replies
Jörg_Hoh
Correct answer by
Employee
Employee

Technically that's a feature request, and I would raise it as such with support. The question is the priorization of it.

You probably cannot wait for 6 months for that to happen, so I think that you go forward with a more hacky solution, which you can replace as soon as the feature is available.

 

Customizing the workflow sounds like the better idea, but decompiling product code and introducing a modified version of it into your application isn't a good idea either (omitting all the legal aspects of it), because this code can change with every SP/release/.....

Which means that more obvious workaround (maybe setting this global flag) might be safer.

 

But in the end there's no really good way to handle it, because you would need a small feature within a larger framework.

View solution in original post

Shashi_Mulugu
Community Advisor
Community Advisor
Thanks @Jörg_Hoh. I would like this feature in future versions of AEM. Let me know if i have todo anything from my side for this feature request.
Jörg_Hoh
Employee
Employee
Yes, please raise a support ticket, describe your usecase and ask if such an addition could be considered for inclusion in the product.
ktm2308
Level 1
Level 1

It seems setting the DAM property will prevent from sending the Asset/content fragment for translation but it would not prevent from creating a localized copy. During our testing with Translation project, we noticed that if the content path contains 2 letter code folder name like "/zz" , it treats it as a locale value and not creating a copy of asset/Content fragment.Could not find details or logic for DamLanguageUtil.createLanguageCopyWithAssetRelations inside workflow code to confirm when it will create a copy vs not create a copy. Do you have any insight about it. Potentially, if we are able to use this 2 letter folder name , we can prevent it from creating locale copy and this could be potential solution. Need to find evidence for this behavior. We are on AEM 6.4.2. Also, in our case en_us is source language and target languages are de,fr,etc.

Alexander_Prikhodko
Level 2
Level 2

Hello @Jörg_Hoh

I can confirm the behavior described by ktm2308 about 2-letter folder names in AEM 6.5.8. Do you know if there are plans to change it?

As for the initial request, do you know if it has been raised as a feature request and if there are any plans about it?

Regards,

Alexander Prikhodko

Jörg_Hoh
Employee
Employee
Hi Alexander, I am not aware of such changes. I would recommend to stay away from 2-letter foldernames, as the folder name is the very last fallback solution when it comes to detect the proper locale. Except that you want to be it a real locale. Regarding the actual question I am not up-to-date, I am sorry.