我正在尝试更新FileNetP8实现中的Creator
属性。我试图使用"Modify Certain System Properties"
的授予来更新它,但是似乎此授予不适用于"Creator"
,而是适用于其他属性,例如"LastModifiedBy"
等。
我还尝试通过"propertyTemplate"
属性将我的类上的属性模板本身更改为"Read-Write"
,但是当我尝试保存它时返回错误,指出
"该操作违反了实现的约束。继承 属性的可ettibility约束 类的创造者">
任何帮助,不胜感激。
似乎 IBM 支持部门已经被问到这个问题,他们提供了"一些方法"并在这里回答这个问题:
https://www.ibm.com/support/pages/setting-selected-system-properties-ibm-filenet-p8-document-versions
IBM对此的看法,正如他们在共享链接的摘要部分中强调的那样,
设置创建者、创建日期、最后修改器和 上次修改日期并不复杂,但它们与 通常用于更常见属性的代码。以上步骤 应允许开发人员在需要时设置这些值。
总结一下他们遵循的方法:
- 创建一个新
Document
,将Creator
属性设置为所需的值 - 使用
Document.getProperties()
方法签出当前文档,并将Reservation Properties
参数设置为新的文档属性对象。
将 签出文档的内容设置为新文件,在我的例子中,我使用下面的代码将内容从
Document
复制到Reservation
对象。ContentElementList docContentList = oldVersion.get_ContentElements(); ContentTransfer contentTransfer = (ContentTransfer) docContentList.get(0); ContentElementList docContentList = oldVersion.get_ContentElements(); ContentTransfer contentTransfer = (ContentTransfer) docContentList.get(0); ContentTransfer updatedContentTransfer = Factory.ContentTransfer.createInstance(); updatedContentTransfer.setCaptureSource(contentTransfer.accessContentStream()); ContentElementList contentElementList = Factory.ContentElement.createList(); contentElementList.add(updatedContentTransfer); reservation.set_ContentElements(contentElementList);
- 签入文档,
Creator
现已更新
我不完全相信该解决方案,但是它是IBM提供的,并且对我来说效果很好(除了添加额外的版本(
引用自知识中心:
此属性的可设置性对于大多数用户是只读的。对于用户 已被授予特权写入访问权限的人员 (AccessRight.PRIVILEGED_WRITE(,此属性只能在 创造。初始对象创建后,此属性对 所有用户。
链接 https://www.ibm.com/support/knowledgecenter/en/SSNW2F_5.2.1/com.ibm.p8.ce.dev.prop.doc/_index_by_property.htm#Creator
因此,不可能通过API进行(wsi/java/.net没关系(。 但是您可以尝试通过数据库直接更新来更改它。您可以在此处找到数据库架构 (https://www.ibm.com/support/knowledgecenter/en/SSNW2F_5.2.1/com.ibm.p8.ce.dev.ce.doc/database_table_schemas.htm(
creator
是一个系统属性,由 FileNet 管理,并在保留对象时填充值。据我所知,没有 API 可以覆盖这一点。更新数据库不是一个好主意,因为 IBM 可能会取消支持。但是,有一种方法可以实现此目的,即使用Change Preprocessors
.这些是服务器端用户实现的操作,允许您在保留对象之前更改creator
。 希望这有帮助。
首先,我建议查看 IBM Filenet 文档中的Document.set_Creator
和Document.set_Owner
方法,以确认哪种方法符合要求。