Permissions Alfresco为引导中的节点设置权限

Permissions Alfresco为引导中的节点设置权限,permissions,alfresco,bootstrapping,Permissions,Alfresco,Bootstrapping,我在设置现有nodeSites文件夹的权限时遇到问题。我有一个组,我需要给她对站点文件夹的完全控制权限。我使用了下一个xml <cm:folder view:childName="cm:Sites"> <view:acl> <view:ace view:access="ALLOWED"> <view:authority>GROUP_NOTEBOOK_PROJECT_CREATOR_GROUP</

我在设置现有nodeSites文件夹的权限时遇到问题。我有一个组,我需要给她对站点文件夹的完全控制权限。我使用了下一个xml

<cm:folder view:childName="cm:Sites">
    <view:acl>
        <view:ace view:access="ALLOWED">
            <view:authority>GROUP_NOTEBOOK_PROJECT_CREATOR_GROUP</view:authority>
            <view:permission>FullControl</view:permission>
        </view:ace>
    </view:acl>
    <view:properties>
        <cm:name>Sites</cm:name>
        <sys:node-uuid>1e6f0610-a018-4966-ab37-c71e809dc6ed</sys:node-uuid>
    </view:properties>
</cm:folder>
和下一个配置上下文

<bean id="com.agilent.datastore.notebook.server.systemBootstrap" class="org.alfresco.repo.module.ImporterModuleComponent"
parent="module.baseComponent">
<property name="moduleId" value="${artifactId}" />
<property name="name" value="${name}" />
<property name="description" value="${description}" />
<property name="sinceVersion" value="${noSnapshotVersion}.${buildNumber}" />
<property name="appliesFromVersion" value="${noSnapshotVersion}.${buildNumber}" />
<!-- Uncomment next line if you want to execute bootstrap again -->
<!-- property name="executeOnceOnly" value="false" / -->
<property name="importer" ref="spacesBootstrap" />
<property name="bootstrapViews">
  <list>
    <props>
      <prop key="uuidBinding">UPDATE_EXISTING</prop>
      <prop key="path">/${spaces.company_home.childname}</prop>
      <prop key="location">alfresco/extension/agilent/sites.acp</prop>

但当我引导这个文件夹时,我遇到了一个异常:无法在对象“dbo.alf_child_assoc”中插入具有唯一索引“parent_node_id”的重复键行。;嵌套异常是java.sql.SQLException:无法在对象“dbo.alf\u child\u assoc”中插入具有唯一索引“parent\u node\u id”的重复键行。

实现所需功能的最佳方法是编写修补程序,即扩展alfresco AbstractPatch.java类的java类

在applyInternal方法中,首先通过xpath搜索获得sites文件夹,因为它在后台使用nodeService。Solr在执行此代码期间不可用,因为修补程序是在引导过程中运行的

在spring上下文文件中声明修补程序,如下所示:

<bean id="patch.setPermissionsOnSitesFolderPatch"     class="org.yourdomain.alfresco.patch.SetPermissionOnSitesFolderPatch" parent="basePatch">
<property name="id">
  <value>patch.patch.setPermissionsOnSitesFolderPatch</value>
</property>
<property name="description">
  <value>patch.setPermissionsOnSitesFolderPatch.description</value>
</property>
<property name="fixesFromSchema">
  <value>0</value>
</property>
<property name="fixesToSchema">
  <value>${version.schema}</value>
</property>
 <property name="targetSchema">
   <value>10000</value>
  </property>
  <property name="force" value="true" />

  <property name="repository" ref="repositoryHelper"/>
</bean>

该异常可能是因为您正在尝试第二次添加sites文件夹!一旦进入主引导,一旦进入自定义引导…在引导过程中,您要做的就是在节点上授予额外权限吗?或者您正在尝试对内置引导中创建的节点进行自定义?是的,我正在尝试在引导过程中授予节点的额外权限。与其添加节点,不如查找节点并设置perms?你不能在引导中这样做吗?是的,我不知道如何在引导中向现有节点添加权限。