露天文档节点是否会引用ID,UID,UUID或GUID?
我没有成功找到任何关于此的文档,但确实看到AlfrescoOne在其中一个Java类中有一个GUID生成器。
答案 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_EXISTING
或UPDATE_EXISTING
,则必须手动为要在AMP上传或替换的所有文件指定一个guid 。然后将该GUID分配给创建的新节点。
因此,如果您在不同的Alfresco安装中上传您的AMP,那么每个都将拥有相同的GUID。