Expand my Community achievements bar.

Update missing property

Avatar

Level 3

Hello Community,

 

We're using AEM cloud infrastructure and we see some issues with some missing property (e.g., customproperty) in Production content store. The value for the property is different for each page. It's not possible to update the property in lower environment and install the content package in Prod. I know we can write some groovy script to update the property but in our case, we don't have any groovy package installed in Prod. Since this is a one time activity so can someone tell me how can we handle this scenario without introducing any additional code(i.e servlet) as part of the project and run some script in Prod to update the missing property?

6 Replies

Avatar

Level 10

Hi @test1234567 ,

If you need to update a missing property in AEM without introducing any additional code or installing any packages, you can use the AEM Query Builder and CRXDE Lite to update the property values directly in the repository. Here are the steps you can follow:

1. Identify the pages that are missing the custom property: Use the AEM Query Builder to search for pages that are missing the custom property. You can use a query like the following to find pages that do not have the customproperty set:

```
type=cq:PageContent
-customproperty=*
```

This query will return all pages of type `cq:PageContent` that do not have the `customproperty` set.

2. Open CRXDE Lite: Once you have identified the pages that are missing the custom property, open CRXDE Lite in your AEM instance.

3. Navigate to the pages: Use CRXDE Lite to navigate to the pages that are missing the custom property.

4. Update the property value: Once you have navigated to the page, locate the `jcr:content` node and update the `customproperty` property with the desired value.

5. Save the changes: Save the changes to the repository.

6. Repeat for all pages: Repeat steps 3-5 for all pages that are missing the custom property.

By using the AEM Query Builder and CRXDE Lite, you can update the missing property values directly in the repository without introducing any additional code or packages. However, please note that modifying the repository directly can be risky and should be done with caution. It is recommended to take a backup of the repository before making any changes.

Avatar

Level 3

Thanks for your reply. This solution is not feasible as we don't have access to crxde in Prod. Moreover we want to update via some script to update the missing properties rather than going to individual pages. I'm not sure if Adobe agrees to run the script in Prod. Have you faced these kind of scenario?

Avatar

Community Advisor

@test1234567 Your options will be very limited i am afraid in that case. You can try using postman/curl to send a post request to update this property.

The access might be a challenge but you can try using the temporary access bearer token from the developer console.

Avatar

Community Advisor

Hi @test1234567 

Do you have the ACS Commons package installed in your production environment? If so, I recommend trying the MCP tool it provides. This tool includes a bulk property update feature using an XLS file, which should assist you in achieving the specified requirement.

Data Importer (adobe-consulting-services.github.io)

Avatar

Level 9

Hi @test1234567 , you can create a servlet(try using as path based servlet in this case) for updating the property once the code deployed to PROD you can execute the servlet later it can be removed from code base.

Avatar

Administrator

@test1234567 Did you find the suggestions from users helpful? Please let us know if you require more information. Otherwise, please mark the answer as correct for posterity. If you have found out solution yourself, please share it with the community.



Kautuk Sahni