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
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

searching for pages that have never been published

key-key
Level 4
Level 4

we want to search for pages that have not been published that were created before 1 year ago and delete them but there is not the option in the search console.  

AEM 6.1.  Does anyone have a solution? 

 

key-key_0-1589801326878.png

 

Topics

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

1 Accepted Solution
Ankur_Khare
Correct answer by
Community Advisor
Community Advisor

Use groovy script to achieve this-

Refer this link-

https://hashimkhan.in/aem-adobecq5-code-templates/groovy-script/

 

You need to write a query to achive this.

 

View solution in original post

3 Replies
Ankur_Khare
Correct answer by
Community Advisor
Community Advisor

Use groovy script to achieve this-

Refer this link-

https://hashimkhan.in/aem-adobecq5-code-templates/groovy-script/

 

You need to write a query to achive this.

 

View solution in original post

Theo_Pendle
Community Advisor
Community Advisor

Hi @key-key,

If you don't mind deleting the pages by hand (if there aren't many) you can use the following SQL-2 query in CRX (by going to Tools.. > Query and changing the language to JCR SQL 2) and just click and delete each result (you'll have to adapt the date in the query):

select * from[cq:Page] as page
inner join [cq:PageContent] as content on ischildnode(content, page)
where content.[cq:lastReplicated] is null
and page.[jcr:created] < CAST('2020-05-18T00:00:00.000Z' AS DATE)

If you need to delete the pages programmatically, I suggest creating a workflow. This sounds like the sort of thing you might do every year? Or more often even, if you wanted to. With a workflow, you can develop it once and then just launch it any time you want 🙂

You can create a workflow using the techniques in this tutorial. The workflow should:

  1. Programatically find the date n - 1 year
  2. Run the query
  3. Delete each resource that is returned

Hope that helps 🙂

Arun_Patidar
Community Advisor
Community Advisor

As @Theo_Pendle  and @Ankur_Khare already shared a solution with you.

 

Just sharing QueryBuilder code as well in case you want to use it or get a result as json 

 

path=/content/AEM63App
type=cq:Page
orderby=@jcr:score
orderby.sort=desc
property=jcr:content/cq:lastReplicationAction
property.operation=exists
property.value=false
daterange.property=jcr:content/cq:lastModified
daterange.upperBound=2019-05-19
orderby=@jcr:content/cq:lastModified
orderby.sort=desc
p.hits=selective
p.properties=jcr:path jcr:content/cq:lastModified