简体   繁体   English

关闭/从“自定义”文件夹禁用继承权限

[英]Off / Disable Inheritance Permission from Custom folder

I am trying to create a custom folder in Create menu of Document Library called 'Confidential Folder' in Alfresco. 我试图在Alfresco的文档库的“创建”菜单中创建一个名为“机密文件夹”的自定义文件夹。 I've attempted the following procedure, 我尝试了以下过程,

  1. I have used the Alfresco Maven SDK to create a project that will package up my customizations in two AMPs (Alfresco Module Packages). 我已经使用Alfresco Maven SDK创建了一个项目,该项目会将我的自定义内容打包在两个AMP(Alfresco模块包)中。 One AMP is for the Alfresco web application (the "repo" tier) and the other is for the Alfresco Share web application (the "Share" tier). 一个AMP用于Alfresco Web应用程序(“ repo”层),另一个用于Alfresco Share Web应用程序(“ Share”层)。

  2. I have added the following code in share-config-custom.xml : 我在share-config-custom.xml添加了以下代码:

XML: XML:

<config evaluator="string-compare" condition="DocumentLibrary">
    <create-content>
    <content id="confidentialFolder" mimetype="text/plain"
    label="Confidential Folder" itemid="cm:folder" icon="finalize">
            <param name="action">confidential-folder</param>
    </content>
   </create-content>
</config>
  1. In service-context.xml I registered the bean: service-context.xml我注册了bean:

XML: XML:

 <bean id="confidential-folder" class="com.finalize.action.executer.ConfidentialFolder"
        parent="action-executer">
    <property name="nodeService">
        <ref bean="NodeService" />
    </property>
</bean>
  1. And wrote the Java class for execute the action which will Off the Inheritance Permission. 并编写了Java类来执行将关闭继承权限的操作。

Action Executer: 动作执行者:

package com.finalize.action.executer;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.alfresco.repo.action.ParameterDefinitionImpl;
import org.alfresco.repo.action.executer.ActionExecuterAbstractBase;
import org.alfresco.service.cmr.action.Action;
import org.alfresco.service.cmr.action.ParameterDefinition;
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;

import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.alfresco.repo.security.permissions;
import org.alfresco.repo.policy.ClassPolicy;

//import org.alfresco.repo.events.EventsService;
public class ConfidentialFolder extends ActionExecuterAbstractBase {
    public static final QName DISABLE = QName.createQName(NamespaceService.ALFRESCO_URI, "onInheritPermissionsDisabled");

    //  protected EventsService eventsService;
    protected NodeService nodeService;

    /* public void setEventsService(EventsService eventsService)
    {
        this.eventsService = eventsService;
    }*/

    public void setNodeService(NodeService nodeService)
    {
        this.nodeService = nodeService;
    }

    /*public void onInheritPermissionsDisabled(NodeRef nodeRef, boolean async)
    {
        inheritPermissionsDisabled(nodeRef, async);
    }*/

    @Override
    protected void executeImpl(Action action, NodeRef actionedUponNodeRef) {

        onInheritPermissionsDisabled(actionedUponNodeRef,false);

        //      private static final QName POLICY_ON_INHERIT_PERMISSIONS_DISABLED = QName.createQName(NamespaceService.ALFRESCO_URI, "onInheritPermissionsDisabled");
        //          nodeService.addAspect(actionedUponNodeRef, QName.createQName(FinalizeModel.NAMESPACE_FINALIZE_CONTENT_MODEL, FinalizeModel.ASPECT_FIN_WEBABLE), properties);

    }

    @Override
    protected void addParameterDefinitions(List<ParameterDefinition> paramList) {
        paramList.add(
                new ParameterDefinitionImpl(               // Create a new parameter definition to add to the list
                        "active",                           // The name used to identify the parameter
                        DataTypeDefinition.BOOLEAN,             // The parameter value type
                        false,                                  // Indicates whether the parameter is mandatory
                        getParamDisplayLabel("active")));   // The parameters display label
    }
}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

I wanted to Off or Disable the Inheritance Permission from Confidential folder menu but I am not able to achieve. 我想从机密文件夹菜单中关闭或禁用继承权限,但无法实现。

这是交叉发布在Alfresco论坛上的此处: https : //community.alfresco.com/thread/238511-off-disable-inableit-permission-from-custom-folder ,正在讨论中,因此无需在此处重复。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM