【问题标题】:CQ: Activate button won't publish the page but will rather invoke "custom workflow" and NOT "Request for Activation" CQ default workflowCQ:激活按钮不会发布页面,而是调用“自定义工作流程”而不是“请求激活”CQ 默认工作流程
【发布时间】:2015-04-02 16:03:28
【问题描述】:

当作者尝试在没有权限的情况下激活页面时,它会自动启动默认的 CQ“请求激活工作流程”。我创建了一个自定义工作流程,是否可以将其设为默认工作流程,以便当没有复制权限的用户尝试激活页面时,我的“自定义工作流程”会被触发。

将一些侦听器应用于我的工作流,以便在页面激活时触发,而不使用复制预处理器。

摘要

激活按钮不会发布页面,而是调用“自定义工作流程”,而不是默认的“请求激活工作流程”。 我使用的是 CQ 版本 5.6.1

请帮助:)

【问题讨论】:

    标签: java aem


    【解决方案1】:

    如果是页面,请尝试将站点管理员带到 /apps 并在激活操作菜单(条件属性)上编写一个 ext 函数来检查权限。根据权限,您可以禁用或启用激活操作。

    也可以对资产应用相同的步骤,除了通过 damadmin 而不是来自 libs 的 siteadmin 节点 示例 ext 函数:

    /*
        * This for enable/disable the activate on damadmin
        */
        CQ.wcm.DAMAdminExtn.checkConditions = function() {
            var paths = [];
    
            var admin = CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
            if (admin) {
                var selections = admin.getSelectedPages();  
                for (var i=0; i<selections.length; i++) {
                    try {
                      paths.push(selections[i].id);
                    } catch (e) {}
                }     
            }var returnVar = false;
             $.ajax({// check the permission from servlet call
                  url:"/apps/activateCheck",
                 data:{"paths":paths}, 
                 type:'POST',
                  success:function(result){
                      var resultRes = result.status;
                      //var resultRes = result;
                      if(resultRes == "enable"){
                        returnVar = true;
                      }
                  }, 
                  async: false
              }); return returnVar;};
    

    【讨论】:

    • 非常感谢,您的回答很有见地! @user27011990.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多