使用UUID导出文件夹Alfresco

使用UUID导出文件夹Alfresco,alfresco,alfresco-share,alfresco-webscripts,Alfresco,Alfresco Share,Alfresco Webscripts,我想导出几个文件,绝对保存它们的UUID,以便将它们导入另一个GED Alfresco 我使用Alfresco 4.2.f,如何才能做到这一点?您必须使用Alfresco Explorer应用程序中的导出工具创建自己的Alfresco内容包(ACP)。通过这种方式,您将在一个acp(zip)文件中导出所有内容,同时保留UUID、属性、关联、权限和角色 然后,为了在Alfresco目标实例中导入内容,保留UUID,您必须在扩展类路径中或在扩展Alfresco导入器模块组件的AMP Spring上下

我想导出几个文件,绝对保存它们的UUID,以便将它们导入另一个GED Alfresco


我使用Alfresco 4.2.f,如何才能做到这一点?

您必须使用Alfresco Explorer应用程序中的导出工具创建自己的Alfresco内容包(ACP)。通过这种方式,您将在一个acp(zip)文件中导出所有内容,同时保留UUID、属性、关联、权限和角色

然后,为了在Alfresco目标实例中导入内容,保留UUID,您必须在扩展类路径中或在扩展Alfresco导入器模块组件的AMP Spring上下文中定义一个新的Spring bean,如下代码段所示:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
    <bean id="yourModule.bootstrapSpaces" class="org.alfresco.repo.module.ImporterModuleComponent" parent="module.baseComponent">
      <property name="moduleId" value="yourModule" />
      <property name="name" value="yourModule.bootstrapSpaces" />
      <property name="description" value="Initial data requirements" />
      <property name="sinceVersion" value="1.0" />
      <property name="appliesFromVersion" value="1.0" />

        <!-- Data properties -->
        <property name="importer" ref="spacesBootstrap" />
        <property name="bootstrapViews">
            <list>
                <props>
                    **<prop key="uuidBinding">REPLACE_EXISTING</prop>**
                    <prop key="path">/${spaces.company_home.childname}</prop>
                    <prop key="location">alfresco/extension/bootstrap/yourExportedContents.acp</prop>
                </props>
            </list>
        </property>
    </bean>
</beans>

希望这有帮助:)

除了Piergiorgio Lucidi的答案外,下面是另一个在Alfresco 4.2.f中测试的逐步方法:

  • 使用节点资源管理器查找要将文件导入到的节点。您可以得到如下路径:
    /{http://www.alfresco.org/model/application/1.0}家公司/{http://www.alfresco.org/model/site/1.0}地点/{http://www.alfresco.org/model/content/1.0}myportal/{http://www.alfresco.org/model/content/1.0}文档库/{http://www.alfresco.org/model/content/1.0}生产

  • 根据此转换路径并用前缀替换名称空间。路径应如下所示:
    /app:company\u home/st:sites/cm:myportal/cm:documentLibrary/cm:production

  • 编辑文件
    tomcat/webapps/alfresco/WEB-INF/classes/alfresco/bootstrap context.xml
    ,并在关闭
    之前将其添加到底部。将路径替换为步骤2中的url和实际acp文件的路径:

    <bean id="yourModule.bootstrapSpaces" class="org.alfresco.repo.module.ImporterModuleComponent" parent="module.baseComponent">
      <property name="moduleId" value="org.alfresco.integrations.google.docs" />
      <property name="name" value="yourModule.bootstrapSpaces" />
      <property name="description" value="Initial data requirements" />
      <property name="sinceVersion" value="1.0" />
      <property name="appliesFromVersion" value="1.0" />
    
      <property name="importer" ref="spacesBootstrap" />
      <property name="bootstrapViews">
          <list>
              <props>
                  <prop key="uuidBinding">REPLACE_EXISTING</prop>
                  <prop key="path">/app:company_home/st:sites/cm:myportal/cm:documentLibrary/cm:production</prop>
                  <prop key="location">/home/ec2-user/alfresco-top-export-20201209.acp</prop>
              </props>
          </list>
      </property>
    </bean>
    
    
    替换现有的
    /应用程序:公司主页/st:sites/cm:myportal/cm:documentLibrary/cm:production
    /home/ec2用户/alfresco-top-export-20201209.acp
    
  • 重新启动alfresco,等待导入

  • 再次删除bean定义


  • 它通过扩展现有模块来工作,因此您不需要自己定义模块。

    alfresco 4.2中有一个acp导出/导入功能:@Akah会保留UUID吗?别这么认为。谢谢你的回答。我以前尝试过这个,但是UUID没有被保留。导出为ACP,包括UUID,然后使用
    UPDATE\u EXISTING
    <bean id="yourModule.bootstrapSpaces" class="org.alfresco.repo.module.ImporterModuleComponent" parent="module.baseComponent">
      <property name="moduleId" value="org.alfresco.integrations.google.docs" />
      <property name="name" value="yourModule.bootstrapSpaces" />
      <property name="description" value="Initial data requirements" />
      <property name="sinceVersion" value="1.0" />
      <property name="appliesFromVersion" value="1.0" />
    
      <property name="importer" ref="spacesBootstrap" />
      <property name="bootstrapViews">
          <list>
              <props>
                  <prop key="uuidBinding">REPLACE_EXISTING</prop>
                  <prop key="path">/app:company_home/st:sites/cm:myportal/cm:documentLibrary/cm:production</prop>
                  <prop key="location">/home/ec2-user/alfresco-top-export-20201209.acp</prop>
              </props>
          </list>
      </property>
    </bean>