Diese Konversation wurde aufgrund von Inaktivität geschlossen. Bitte erstellen Sie einen neuen Post.
Level 1
Level 2
Melden Sie sich an, um alle Badges zu sehen
Diese Konversation wurde aufgrund von Inaktivität geschlossen. Bitte erstellen Sie einen neuen Post.
Hi
I am using Query builder as below to get the list of distinct pages which uses the component (component name will passed as a parameter) in property. I need to pass two parameters, cq:lastReplicationAction=Activate and sling:resourceType=component path. I tried above JSON query but no result and it is failing since the component may be used at any level of page node. E.g, /jcr:content/par/component or /jcr:content/par/mainpar/component
Thanks in advance
Saran
Zugriffe
Antworten
Likes gesamt
"failing since the component may be used at any level of page
"I am not sure this is possible with these out of the box JSON queries without knowing the exact path of the components. In all of the examples - the exact paths are given. See:
https://docs.adobe.com/docs/en/cq/5-6-1/dam/customizing_and_extendingcq5dam/query_builder.html
You may need to look at building a more advanced tool that uses the JCR API and then use JCR SQL to get pages and search them looking for the components. This will allow you to build a tool that can perform a more detailed search of the AEM JCR.
Zugriffe
Antworten
Likes gesamt
You mean say, none of the queries will for this (XPATH, SQL2 and query builder). There should be a way as many would have addressed this issue.
If we do the same using JAVA API, then the performance is the challenge.
Zugriffe
Antworten
Likes gesamt
You do not get the same level of query functionality as you do using the Java API.
Zugriffe
Antworten
Likes gesamt
If you want to try this with SQL 2 then the following query should work-
SELECT * FROM [cq:PageContent] AS parent INNER JOIN [nt:unstructured] AS child ON ISDESCENDANTNODE(child,parent) WHERE ISDESCENDANTNODE(parent,[FROM_WHICH_CONTENT_PATH]) AND child.[sling:resourceType]='COMPONENTPATH' AND parent.[cq:lastReplicationAction] = 'Activate'
Zugriffe
Antworten
Likes gesamt
Often getting "Query execution resulted in an error!", when I try to execute the query using either in CRXDE LITE or through api. But if the result set is less or minimal I am getting the result. SWITCH "ISDESCENDANTNODE" with "ISCHILDNODE" either wise.
Sample query used:
SELECT parent.* FROM [cq:Page] AS parent INNER JOIN [nt:base] AS child ON ISCHILDNODE(child,parent) WHERE ISDESCENDANTNODE(parent, 'CONTENT_PATH_FROM_WHERE_TO_START') AND (child.[sling:resourceType] = 'COMPONENT_NAME' AND child.[cq:lastReplicationAction] = 'Activate')
and
SELECT parent.* FROM [cq:Page] AS parent INNER JOIN [nt:base] AS child ON ISDESCENDANTNODE(child,parent) WHERE ISDESCENDANTNODE(parent, 'CONTENT_PATH_FROM_WHERE_TO_START') AND (child.[sling:resourceType] = 'COMPONENT_NAME' AND child.[cq:lastReplicationAction] = 'Activate')
There should be answer for this, definitely as many would have faced this issue for reporting purpose when their website pages are more in number,
Zugriffe
Antworten
Likes gesamt
Why don't you use the component report for this use case ?You can customize this report to show only the page activation date which be added as a new column and may be show page path instead of the page link.
http://localhost:4502/etc/reports/compreport.html
http://localhost:4502/crx/de/libs/cq/reporting/components/compreport/lastmodcol/definitions/queryBuilder
https://docs.adobe.com/docs/en/aem/6-1/develop/operations/dev-reports.html
Zugriffe
Antworten
Likes gesamt
Hi Kunal
Thanks for your reply.
Does it work for large volume as I have 3000 pages in my root parent page path "/content/project/rootpath/"
Zugriffe
Antworten
Likes gesamt
I think it will work as the reporting query framework does post processing/filtering on the result set returned by just doing a simple query rather than adding the predicate conditions to the query itself for filtering. You can check the out of the box page audit report for checking the performance as the number audit nodes in the repository are even bigger than the number of page nodes themselves. For 3000 pages the component report should work fine. Have you checked it by just accessing the report on your AEM instance ?
Zugriffe
Antworten
Likes gesamt
I always get an error in console as "Query execution resulted in an error!"
I am using "http://localhost:4502/crx/de/index.jsp" --> Tools --> Query
Zugriffe
Antworten
Likes gesamt
Since you have too many nodes being returned in the resultset, is it good to consider limiting the results ? Or else, Instead of running the query on root node why not run it on subpaths separately for limiting the results.
http://stackoverflow.com/questions/31030159/jsp-query-getresult-getnodes-time-consuming
Zugriffe
Antworten
Likes gesamt
Zugriffe
Likes
Antworten
Zugriffe
Like
Antworten
Zugriffe
Likes
Antworten
Zugriffe
Likes
Antworten