Expand my Community achievements bar.

SOLVED

AEM i18n nodes -- Activate only modified nodes

Avatar

Level 3

Hi,

We are using more i18n values in our project. 

Since the node type(jcr:primaryType) is nt:folder and jcr:mixinTypes is "sling:Message" while updating the values (locale wise)in /libs/cq/i18n/translator.html and while replicating using /libs/replication/treeactivation.html (from parent path), its taking much long time to complete replication of all nodes (of type nt:folder) under i18n since there is no lastModified property created (eventhough we check only modified option while replicating)

sundarig9086821_0-1593804172297.png

 

I tried to add jcr:mixinTypes -- mix:lastModified to the nt:folder type node and when i change the value and save in translator.html, lastModified node is created for first time then if i again change the value and save it lastModified value is not updated.

 

Can anyone kindly help on how to activate only the changed/modified i18n values?

arunpatidar26, Ratna Kumar, smacdonald2008

JaideepBrar

Thanks in advance!!

Regards,

Sundari.

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

@sundarig9086821 

Another Approach. You can implement a custom workflow process, which will be utilised by a custom workflow model. The custom workflow process will activate nodes based on your criteria. Once when the custom workflow model is identified, you can navigate to the workflow Touch UI console, http://localhost:4502/libs/cq/workflow/admin/console/content/models.html, and start a workflow, using the translation dictionary as the payload. Make sure you have a strategy in place for invalidating the cache. Also, permissions to allow specific users to use the workflow model can be granted via, the ACL rules.

Screenshot 2020-07-04 at 15.54.17.png

I hope this helps,

Brian.

View solution in original post

5 Replies

Avatar

Community Advisor

Hi @sundarig9086821 , 

You can publish the modified pages alone using manage publication action. 

Mange publication has option to publish the page immediately or later(workflow will be schedule for this). 

You can check the options required depends on requirement. 

IMG_20200704_175020.jpg

Please check the below article which explains in detail. 

https://helpx.adobe.com/experience-manager/6-3/sites/authoring/using/publishing-pages.html

Or

You can go for custom implementation if any additional requirement has to be met. 

Avatar

Level 3

Hi @Vaibhavi_J,

Thanks for you reply !!!
Manage publication is not working for nt:folder type.

Yes i can able to use manage publication for cq:pageContent type. 

But in my case, all the i18n labels are stored in folder type.

Avatar

Correct answer by
Community Advisor

@sundarig9086821 

Another Approach. You can implement a custom workflow process, which will be utilised by a custom workflow model. The custom workflow process will activate nodes based on your criteria. Once when the custom workflow model is identified, you can navigate to the workflow Touch UI console, http://localhost:4502/libs/cq/workflow/admin/console/content/models.html, and start a workflow, using the translation dictionary as the payload. Make sure you have a strategy in place for invalidating the cache. Also, permissions to allow specific users to use the workflow model can be granted via, the ACL rules.

Screenshot 2020-07-04 at 15.54.17.png

I hope this helps,

Brian.

Avatar

Level 3

Hi @briank,

Thanks for you reply!!!

Creating a workflow and again passing the translation dictionary path as payload, will again result in replication of all nodes which in turn will take more time. 

Is there any way to identify only last modified in sling:Message mixin type folders hence while replicating we can choose only modified content to be replicated.

(For ex: my path is /content/project/i18n/en(locale) -- > en has around 3000 child nodes of type nt:folder (translation labels of type sling:Message), and if i am going to /libs/cq/i18n/translator.html and changing a label while saving how to create a lastmodified property for the node hence while replicating only modified nodes can be pushed via tree activation.)

sundarig9086821_0-1593968999852.png

 

Avatar

Community Advisor
Instead of targeting the root node, you need to target the specific dictionary node itself, example: /etc/designs/my-project/dictionaries/errors/i18n/messages