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

How to update a lot of nodes in the content repository?

Avatar

Level 3

How do you go about updating a lot of nodes in the content repository? 

For example, I'd like to add another value to a page template's cq:allowedTemplates property without manually having to do this for every page based on this template. 

1 Accepted Solution

Avatar

Correct answer by
Employee

You would write a script to do this, simple way would be to write a JSP to get the nodes you need and update them. But is this a production system?

View solution in original post

8 Replies

Avatar

Level 10

Few points from this corner:
Sometime back we got a similar requirement to create 1500 pages dynamically, Our approach involved XML which was having all the 
data, implementing it with JAXB. It was very efficient and a useful approach. You can implement it as a scheduler as well.
JCR API is very helpful for these kind of implementations. Let me know if you need any more details on this approach

Avatar

Correct answer by
Employee

You would write a script to do this, simple way would be to write a JSP to get the nodes you need and update them. But is this a production system?

Avatar

Level 3

I was hoping that it would be as easy as writing a script in CRXDE, similar to when querying, but I guess not.

Do you have a sample of how to do this with JSP? I found http://cqblog.inside-solutions.ch/2014/12/10/update-cqallowedtemplates-property-on-existing-pages-in..., which is a separate module which sounds more complicated to what you're suggesting.

The change is to be done in production, but we're uncertain about how to go about it. Why are you asking? Anything we need to think of :-)

Avatar

Employee

Hi,

with JCR querying you can only read, their is no ability to modify/delete.

My JSP suggestion was simplistic, it would be more like the link you posted. 

The alternative, if you are handy with shell scripts, is to query the AEM instance using curl [1] and use that as input for using curl POST commands to modify the content [1][2].

If you haven't used fiddle it is really good for doing quick adhoc searches etc

Regards,

Opkar

[1] https://balawcm.wordpress.com/2013/02/13/curl-it-out-adobe-cq5-curl-commands-and-usage/

[2] https://forums.adobe.com/thread/1093660

Avatar

Level 10

If you use admin session - you can use JCR API to change node props. 

Avatar

Employee

Avoid using admin-sessions if you can, if the user's session has the right permissions you are good to go.