首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cm:工作的差异--lockOwner和cm:lockOwner

cm:工作的差异--lockOwner和cm:lockOwner
EN

Stack Overflow用户
提问于 2013-01-11 07:01:06
回答 3查看 463关注 0票数 4

当我在node-header.get.html.ftl中跟踪代码时,我发现了以下代码

代码语言:javascript
复制
<#if item.workingCopy??>
    <#if item.workingCopy.isWorkingCopy??>
        <#assign lockUser = node.properties["cm:workingCopyOwner"]>
    <#else>
        <#assign lockUser = node.properties["cm:lockOwner"]>
    </#if>
......
<#elseif>

我的理解是

当用户单击“编辑脱机”时,将创建文档的工作副本,workingCopyOwner与lockOwner相同。

如果是的话,我们为什么要这样写呢?我的理解错了吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-11 09:52:04

在Alfresco中,与大多数CMS一样,您可以查看文档。这样做时,原始文档将被锁定,并为您安全地编辑创建一个工作副本。

因此,在内容存储中,实际上有两个文档,原件和工作副本都存在。

cm:workingCopyOwner属性仅在工作副本节点上可用,而cm:lockOwner属性仅在原始文档节点上可用。它们都持有相同的功能信息(锁用户),但在不同的节点上。

因此,在上面的代码中,它通过测试node.workingCopy??node.workingCopy.isWorkingCopy来测试它是哪种节点(原始的还是工作的副本),然后相应地分配正确的属性给锁用户。

票数 2
EN

Stack Overflow用户

发布于 2013-01-11 09:52:19

属性cm:workingCopyOwner属于方面cm:workingCopy,cm:lockOwner属于cm:lockable。

当您单击“编辑脱机”时,将创建节点的副本并将方面cm:workingCopy,cm:workingCopyOwner设置为您的用户。原始节点被分配给方面cm:lockable,而这个节点得到属性cm:lockOwner。因此,是的,这两个属性具有相同的用户,但是这些属性在不同的节点上分配。

/Erik

票数 3
EN

Stack Overflow用户

发布于 2013-01-11 12:10:10

除了@billerby已经解释过的内容之外,主要的区别是可以在不签出(例如显式锁紧调用)的情况下锁定节点,而不可能签出文档而不锁定文档。

因此,cm:workingCopycm:lockable捕获了文档的两个不同的生命周期阶段,尽管它们之间存在某种联系,并且在签出文档时使用各自的属性声明锁所有权是一致的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14273266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档