如何更改创作者'在Alfresco上传文件的webscript中的财产?
我正在使用Alfresco 4.2,顺便说一句。
最佳, d
答案 0 :(得分:4)
“cm:creator”是受控审核的属性,无法直接更改。很像“cm:modifier”,当用户权限修改文档节点的内容/属性(内容实际上只是一个特殊属性)时,系统会更新它。
您可以通过Repository API更改文档的所有者。这是权限更改但仍然不会更改cm:creator属性(它不应该更改)。
答案 1 :(得分:3)
如果我没错 cm:创建者 , cm:修饰符 , cm:已创建 , cm:已修改 等......这些都是Alfresco中的可审计属性,意味着无法手动更新,因为由Alfresco管理。
我开发了一个java支持的webscript,我已经添加了正常工作的代码(以更新创建者和修饰符属性):
// Disable auditable aspect to allow change properties of cm:auditable aspect
policyBehaviourFilter.disableBehaviour(nodeRef, ContentModel.ASPECT_AUDITABLE);
// Update properties of cm:auditable aspect
nodeService.setProperty(nodeRef, ContentModel.PROP_CREATOR, "xxxxxx");
nodeService.setProperty(nodeRef, ContentModel.PROP_MODIFIER, "xxxxxx");
// Enable auditable aspect
policyBehaviourFilter.enableBehaviour(nodeRef, ContentModel.ASPECT_AUDITABLE);
不要忘记在您声明bean的context.xml文件中添加:
<bean id="xxxxxxxx"
class="your class package"
parent="webscript">
<property name="nodeService" ref="NodeService" />
........
<property name="policyBehaviourFilter" ref="policyBehaviourFilter" />
</bean>
祝你好运
答案 2 :(得分:1)
您可以查看this forum post。
如上所述,在设置字段后,它不能再被更改。您可以或更改contentModel.xml以将cm:creator字段设置为默认值(即读取和写入)。
或者您可以立即复制文档并将FullyAuthenticatedUser设置为短时间,然后将其还原。您需要为它编写一些Java代码(例如,在Java Action中)。