Alfresco nodeREF的唯一性

时间:2015-01-21 18:56:20

标签: alfresco guid uuid alfresco-share uid

露天文档节点是否会引用ID,UID,UUID或GUID?

我没有成功找到任何关于此的文档,但确实看到AlfrescoOne在其中一个Java类中有一个GUID生成器。

3 个答案:

答案 0 :(得分:0)

是的,这是独一无二的。通常它们看起来像这个工作区:// SpacesStore / d0ab65f5-599c-439e-a87c-35eef61a0515

答案 1 :(得分:0)

Alfresco NodeRefs 必须对于他们所居住的租户来说是唯一的。默认情况下,它们基于某种GUID,但他们不必这样做。如果您启动节点浏览器,您将看到有一些众所周知的noderef,例如

  • workspace://SpacesStore/rendering_actions_space - / app:company_home / app:dictionary / app:rendering_actions
  • workspace://SpacesStore/publishing_root_space - / app:company_home / app:dictionary / app:publishing_root

大多数情况都是workspace://SpacesStore/88829143-8494-4cfe-99d6-6c7949aaa279

因为那些众所周知的noderefs将存在于系统中的每个租户中,因此您知道noderefs在租户中只需要是唯一的,并且在给定安装中不一定是全局唯一的

答案 2 :(得分:0)

GUID.generate()用于创建的所有新节点。在以编程方式创建DataList条目时,我不得不处理这个问题,其中每一行都必须有唯一的标识符。

Alfresco,至少我拥有的版本(4.2)正在使用GUID.java类,它在内部使用org.safehaus.uuid.uuidgenerator

根据规范,由于相同的GUID导致冲突的可能性实际上非常低,您应该从safehaus查看该类,以便收集有关唯一性的信息(如果该ID)。

<强> [UPDATE]

然而,只是为了强制执行其他人所说的,即NodeRef对于租户来说必须是唯一的,值得一提的是,无论GUID生成器的准确性如何,在某些情况下都可以找到相同的节点guid在多个安装中。

例如,开发一个使用boostrap data进行预加载文件的AMP进入露天。 在这种情况下,至少在Alfresco 4.2f中,如果要使用选项REPLACE_EXISTINGUPDATE_EXISTING,则必须手动为要在AMP上传或替换的所有文件指定一个guid 。然后将该GUID分配给创建的新节点。

因此,如果您在不同的Alfresco安装中上传您的AMP,那么每个都将拥有相同的GUID。