我想导出几个文件,绝对保存他们的UUID,将它们导入另一个GED Alfresco。
我使用Alfresco 4.2.f,我该怎么做?
答案 0 :(得分:1)
您必须使用Alfresco Explorer应用程序中的导出工具创建自己的Alfresco内容包(ACP)。通过这种方式,您将在acp(zip)文件中导出所有内容,同时保留UUID,属性,关联,权限和角色。
然后,为了在Alfresco目标实例中导入内容,保留UUID,您必须在扩展类路径中或扩展Alfresco Importer Module组件的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>
魔术是由REPLACE_EXISTING值完成的,该值告诉Alfresco将UUID替换为您从预览Alfresco实例导出的UUID。
对于每个ACP文件,您必须在代码段中定义新的props XML元素。
另请注意,您导出的ACP可以安装在Alfresco安装之外,您可以在安装的共享类加载器中复制ACP文件,例如考虑Tomcat可以放置ACP文件的位置如下:
tomcat/shared/classes/alfresco/extension/bootstrap
希望这会有所帮助:)
答案 1 :(得分:0)
除了Piergiorgio Lucidi的回答外,这是在Alfresco 4.2.f中测试的另一种逐步方法:
使用“节点”资源管理器查找要将文件导入到的节点。您将获得如下路径:/{http://www.alfresco.org/model/application/1.0}company_home/{http://www.alfresco.org/model/site/1.0}sites/{http://www.alfresco.org/model/content/1.0}myportal/{http://www.alfresco.org/model/content/1.0}documentLibrary/{http://www.alfresco.org/model/content/1.0}production
转换路径,并根据此table用其前缀替换名称空间。路径应如下所示:/app:company_home/st:sites/cm:myportal/cm:documentLibrary/cm:production
编辑文件tomcat/webapps/alfresco/WEB-INF/classes/alfresco/bootstrap-context.xml
并将其添加到结束</beans>
之前的底部。将路径替换为步骤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>
重新启动户外等待导入
再次删除bean定义
它通过扩展现有模块而起作用,因此您无需自己定义模块。