{"id":56575,"date":"2023-02-01T10:00:02","date_gmt":"2023-02-01T04:30:02","guid":{"rendered":"https:\/\/www.tothenew.com\/blog\/?p=56575"},"modified":"2024-06-10T15:39:40","modified_gmt":"2024-06-10T10:09:40","slug":"simplifying-workflow-execution-in-adobe-experience-manager","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/simplifying-workflow-execution-in-adobe-experience-manager\/","title":{"rendered":"Simplifying Workflow Execution in Adobe Experience Manager"},"content":{"rendered":"<p><span class=\"c2\">Recently we encountered a use case while working with workflows in Adobe Experience Manager, where Content Authors needed to execute only certain workflows on the pages. The out of the box functionality, renders all the available workflows in the action list. From a user experience perspective, this wasn\u2019t desirable as the Author would need to scroll the entire list to pick the one that needed to be executed. \u00a0<\/span><\/p>\n<p class=\"c13\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-56572\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-23-at-9.14.14-PM-271x300.png\" alt=\"\" width=\"271\" height=\"300\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-23-at-9.14.14-PM-271x300.png 271w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-23-at-9.14.14-PM-624x691.png 624w, \/blog\/wp-ttn-blog\/uploads\/2023\/01\/Screenshot-2023-01-23-at-9.14.14-PM.png 636w\" sizes=\"(max-width: 271px) 100vw, 271px\" \/><\/p>\n<p class=\"c7\"><span class=\"c2\">In order to provide a better user experience where the Author doesn\u2019t need to scroll the entire list of the workflows, we tried identifying a solution which displays only the relevant list, instead of \u00a0the entire one.<\/span><\/p>\n<p class=\"c7\"><span class=\"c2\">We set the ACL for a specific group for which relevant members were allowed to execute the workflow. Here are the steps needed to set the ACL for a group for which members are allowed to run the workflow &#8211;<\/span><\/p>\n<p class=\"c7\"><span class=\"c3\">STEP 1:<\/span> Create a group for the users torun the workflow. <span class=\"c9 c3\">I.e. workflow-user-group<\/span><\/p>\n<p class=\"c7\"><span class=\"c3\">STEP 2:<\/span>\u00a0Set the Permissions under <span class=\"c3\">\/var\/workflow\/models\/<\/span>\u00a0folder to <span class=\"c3\">deny<\/span><span class=\"c2\">\u00a0the nodes which are not required for the workflow-user-group.<\/span><\/p>\n<p class=\"c7\"><span class=\"c2\">This was quite simple as giving the permissions to any user, isn\u2019t it? Now you may be wondering how it was specific to workflow, and what is the learning from this article. So the answer is &#8211; Wait, Still, the requirement is not completed. Still, we can see some of the non-required workflows in the Start Workflow list. Now we have below questions &#8211; <\/span><\/p>\n<ul class=\"c5 lst-kix_trpxtw50lok5-0 start\">\n<li class=\"c0 li-bullet-0\"><span class=\"c2\">If we have denied all the workflows to which the user\/group should not have access, why are some workflows still visible?<\/span><\/li>\n<li class=\"c0 li-bullet-0\"><span class=\"c2\">How to hide these workflows from the list.<\/span><\/li>\n<\/ul>\n<p class=\"c7\"><span class=\"c2\">So, here is the answer &#8211;<\/span><\/p>\n<p class=\"c6\"><span class=\"c2\">Inside the \/var\/workflow\/models folders some workflows are managed under a subfolder and a few are unmanaged directly under the models folder. The permissions we applied from the user admin is applicable only for the folders not for the unmanaged one. <\/span><\/p>\n<p class=\"c6\"><span class=\"c2\">Now, if we can\u2019t assign permissions to th<\/span>e unmanaged workflows, then how we should hide them from the list?<\/p>\n<p class=\"c6\">Actually, we can also assign permissions to unmanaged workflows, but not from the user admin<span class=\"c2\"> console. We need to do some extra work to assign permissions to unmanaged workflows, and below are the steps for the same:-<\/span><\/p>\n<p class=\"c6\"><span class=\"c3\">STEP 1:<\/span><span class=\"c2\">\u00a0Open Crx\/de.<\/span><\/p>\n<p class=\"c6\"><span class=\"c3\">STEP 2:<\/span><span class=\"c2\">\u00a0Go to the \/var\/workflow\/models folder.<\/span><\/p>\n<p class=\"c6\"><span class=\"c3\">STEP 3:<\/span><span class=\"c2\"> Select the models node and open the Access Control tab from the bottom right pane.<\/span><\/p>\n<p class=\"c6\"><span class=\"c3\">STEP 4:<\/span><span class=\"c2\"> Click on the green-colored + symbol.<\/span><\/p>\n<p class=\"c6\"><span class=\"c3\">STEP 5:<\/span><span class=\"c2\">\u00a0Select your group, and set permission as deny and select jcr:read.<\/span><\/p>\n<p class=\"c6\"><span style=\"overflow: hidden; margin: 0.00px 0.00px; border: 1.33px solid #000000; width: 481.50px; height: 320.23px;\"><img decoding=\"async\" style=\"width: 481.50px; height: 320.23px; margin-left: 0.00px; margin-top: 0.00px;\" title=\"\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/image1-300x199.png\" alt=\"\" \/><\/span><\/p>\n<p class=\"c6\">Are we done? Not yet &#8211; \u00a0if you click ok here, this will deny access to all the workflows. So we need to do some advance setting under the \u2018<span class=\"c3\">advance\u2019<\/span>\u00a0section and set value for the <span class=\"c3\">rep:glob<\/span> property. As a value, you need to give the <span class=\"c3\">workflow node name<\/span>\u00a0starting with <span class=\"c9 c3\">\u2018\/.\u2019<\/span><\/p>\n<p class=\"c6\"><span style=\"overflow: hidden; margin: 0.00px 0.00px; border: 0.00px solid #000000; width: 491.48px; height: 551.27px;\"><img decoding=\"async\" class=\"alignleft\" style=\"width: 491.48px; height: 551.27px; margin-left: 0.00px; margin-top: 0.00px;\" title=\"\" src=\"\/blog\/wp-ttn-blog\/uploads\/2023\/01\/image3-267x300.png\" alt=\"\" \/><\/span><\/p>\n<p class=\"c6\">\n<p>For example, if you want to set permission for the <span class=\"c3\">request_for_activation <\/span><span class=\"c2\">node, then you need to set <\/span><\/p>\n<p class=\"c13\"><span class=\"c3 c8\">rep:glob = \/request_for_activation <\/span><\/p>\n<p class=\"c6\">It supports wild card (*) as well and can be used to set permission for all the nodes started with <span class=\"c3\">request<\/span>\u00a0key world.<\/p>\n<p class=\"c13\"><span class=\"c8 c3\">rep:glob = \/request*<\/span><\/p>\n<p class=\"c7\">That\u2019s it; you can set multiple rules for multiple nodes if it can\u2019t be achieved using <span class=\"c3\">*<\/span>.<\/p>\n<div class=\"ap-custom-wrapper\"><\/div><!--ap-custom-wrapper-->","protected":false},"excerpt":{"rendered":"<p>Recently we encountered a use case while working with workflows in Adobe Experience Manager, where Content Authors needed to execute only certain workflows on the pages. The out of the box functionality, renders all the available workflows in the action list. From a user experience perspective, this wasn\u2019t desirable as the Author would need to [&hellip;]<\/p>\n","protected":false},"author":1212,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":49},"categories":[5868],"tags":[5096],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/56575"}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/1212"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=56575"}],"version-history":[{"count":2,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/56575\/revisions"}],"predecessor-version":[{"id":56605,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/56575\/revisions\/56605"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=56575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=56575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=56575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}