Expand my Community achievements bar.

SOLVED

Do not show QuickPublish button to a some groups but publish access should not be removed.

Avatar

Level 3

Hello Developers, I need to hide quickpublish button from aem site toolbar and show another button to all approvers. I tried acls but they are not working . 

Note : I don't want to remove replicate access just replace button with another button so I can make a  new api call to another end point to all approvers for custom workflow to be trigerred.

 

additonal question:

Is it possible to change workflow payload in a step inside workflow?

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Please check this:

you can hide those button using ACL if you remove replication permission from /content part

Another way is to use sling merger https://helpx.adobe.com/experience-manager/6-3/sites/developing/using/sling-resource-merger.html where you can override existing navigation nodes(/libs/wcm/core/content/sites/jcr:content/actions/selection) and use sling:hideResource (Boolean) - Indicates whether the resources should be completely hidden, including its children.

 

 

https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/how-to-hide-quickpublish-a...

 

 

View solution in original post

3 Replies

Avatar

Correct answer by
Community Advisor

Please check this:

you can hide those button using ACL if you remove replication permission from /content part

Another way is to use sling merger https://helpx.adobe.com/experience-manager/6-3/sites/developing/using/sling-resource-merger.html where you can override existing navigation nodes(/libs/wcm/core/content/sites/jcr:content/actions/selection) and use sling:hideResource (Boolean) - Indicates whether the resources should be completely hidden, including its children.

 

 

https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/how-to-hide-quickpublish-a...

 

 

Avatar

Community Advisor

Hi, 

You can achieve this with granite:renderconditions. You can create your own condition that displays the button only if the user is logged in with the specified user that the render condition accepts. Please check this link for a great example of how to do this: https://joao.ws/aem-granite-render-conditions/ . Once you have the render condition, you need to overlay the button to apply the render condition you created here: /libs/wcm/core/content/sites/jcr:content/actions/selection/quickpublish, make sure you don't apply your changes in that path but in the overlay.

 

Hope this helps



Esteban Bustamante

Avatar

Level 5

Hello @AliSyed1
this is the exact requirement we had, We need to overlay the required node. In our case its quickPublish button, so we need to overlay it first and we need to add the  granite:rendercondition ndoe here. And in it we need to add the required property which will specify the allowed or denied groups.
Below is the sample code,

<quickpublish
jcr:primaryType="nt:unstructured">
<granite:rendercondition
jcr:primaryType="nt:unstructured"
sling:resourceType="your render condition comp."
allowedGroups="[specify your group where we want to allow]"/>
</quickpublish>

Also, not that first we need to deny all operation to all to all of the group and then we need to allow each of the operations/features.
Let us know if you have any doubt.