How to update a lot of nodes in the content repository? | Community
Skip to main content
AEMing
Level 2
October 16, 2015
Solved

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

  • October 16, 2015
  • 8 replies
  • 4113 views

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. 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by ogill

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?

8 replies

edubey
Level 10
October 16, 2015

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

ogillAdobe EmployeeAccepted solution
Adobe Employee
October 16, 2015

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?

Kunal_Gaba_
October 16, 2015

You can also try using the Bulk Editor https://docs.adobe.com/docs/en/aem/6-1/administer/operations/bulk-editor.html for this use case. 

AEMing
AEMingAuthor
Level 2
October 16, 2015

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-content, 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 :-)

Adobe Employee
October 16, 2015

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

Feike_Visser1
Adobe Employee
Adobe Employee
October 16, 2015
smacdonald2008
Level 10
October 16, 2015

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

Feike_Visser1
Adobe Employee
Adobe Employee
October 16, 2015

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