更新 FileNet P8 中的创建者属性



我正在尝试更新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对此的看法,正如他们在共享链接的摘要部分中强调的那样,

设置创建者、创建日期、最后修改器和 上次修改日期并不复杂,但它们与 通常用于更常见属性的代码。以上步骤 应允许开发人员在需要时设置这些值。

总结一下他们遵循的方法:

  1. 创建一个新Document,将Creator属性设置为所需的值
  2. 使用Document.getProperties()方法签出当前文档,并将Reservation Properties参数设置为新的文档属性对象。
  3. 签出文档的内容设置为新文件,在我的例子中,我使用下面的代码将内容从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);
    
  4. 签入文档,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_CreatorDocument.set_Owner方法,以确认哪种方法符合要求。

相关内容

  • 没有找到相关文章

最新更新