Expand my Community achievements bar.

SOLVED

CQ Site Admin Cutsomization question

Avatar

Level 4

Hi ,

We have requirement to "Disable" some  webpages-nodes from the CQ-Siteadmin (Navigation on left side)based on the some condition's.Could you please let me know how i can do that. 

Thanks

K Chaitanya

1 Accepted Solution

Avatar

Correct answer by
Level 10

You do not have to write any event, just change the logic how you get the response from servlet.  The servlet you wrote just send json response with sorted data like [1] and then call that servlet as attached.

[img]CallServlet.png[/img]

[1]

[
    {
        "name":"contacts",
    "text":"Contact",
    "type":"cq:Page",
    "cls":"file",
    "isLiveCopy":false,
    "leaf":true,
    "replication":{}
    }
]

View solution in original post

7 Replies

Avatar

Level 10

overlay [1] & for respective action set the condition by calling custom function. Example look at [2] for property condition and will be enabled only when there is selection of page.

[1]  /libs/wcm/core/content/siteadmin/

[2]  /libs/wcm/core/content/siteadmin/actions/activate/menu/activateNow

Avatar

Level 4

Hi Sham,

Thank you very much for info.  My actual requirement is , in "SiteAdmin  left hand side"  website site nodes displayed not in ascending order.  We have around 400+ main- web pages in our Website . These webpages again contain more child-pages. When we click on "+" icon of Main website page child node displayed ,but NOT in ascending order. Since we have around 400+ page it become very difficult point a particular page/node . Could you please let me know how can i display child nodes in ascending order after clicking icon "+". Any help/pointers to solve above requirement is really appreciated.

 

Thanks

K Chaitanya

Avatar

Employee Advisor

if you have 400 top-level sites, you should start to create more structure. I wouldn't want to use my browser's search function to find my site before I click the "+". And you could think of leveraging ACLs to restrict the visibility of sites to certain users. If you just want to sort them differently, an overlay could be a solution.

Jörg

Avatar

Level 10

* Overlay /libs/wcm/core/content/siteadmin
* Create a servlet that handles requests from the SiteAdmin tree widget & return the json output based on your need.
* At /apps/wcm/core/content/siteadmin/grid configure dataUrl property to call your servlet.

Avatar

Level 4

Hi Sham,

Thank very much.

1) How can I create a servlet that handles requests from "SideAdmin" tree. Means, I know how to create servlet ...etc. But i do not know what configuration i should do to call this servlet when we click on "+" icon?

2) I verified all child nodes under "/libs/wcm/core/content/siteadmin" but did not found the NODE which handles "+" click event from siteadmin. Could you please let me know NODE which handles this event.

Thanks

k Chaitanya

Avatar

Level 4

Hi Sham,

Thank you very much.I will implement the solution you suggested.

Thanks

K Chaitanya

Avatar

Correct answer by
Level 10

You do not have to write any event, just change the logic how you get the response from servlet.  The servlet you wrote just send json response with sorted data like [1] and then call that servlet as attached.

[img]CallServlet.png[/img]

[1]

[
    {
        "name":"contacts",
    "text":"Contact",
    "type":"cq:Page",
    "cls":"file",
    "isLiveCopy":false,
    "leaf":true,
    "replication":{}
    }
]