我正在使用My Documentum for Desktop,并且不得不扩展DocBase的行为-创建新的DocType和相关的TBO-。确切地说,我创建了一个新的DocType,称为emdd_document;这继承自标准类型dm_document。一切正常,emdd_document及其TBO具有其自身的逻辑,该逻辑源自dm_document的逻辑。

但是,我想防止用户使用标准的dm_document,只允许他们使用派生的emdd_document,但是我不知道这样做的方式。如果dm_document是派生的DocType,我可以在其TBO中创建一个空的doSave()函数,从而阻止该对象的保存操作。像这样:

@Override
protected synchronized void doSave(boolean saveLock, String versionLabel, Object[] extendedArgs) throws DfException {
    DfLogger.debug(this, "This document type cannot be created!", null, null);
    //super.doSave() is not called
}


但是,作为标准类型,我不能遵循这种方法。

因此,我想问:是否有一种方法可以防止标准类型的doSave()执行?或者,严格说来,我的桌面版My Documentum是否有一些配置可以阻止用户在文档创建过程中选择该DocType(如下图所示)?

最佳答案

防止用户利用Documentum中的某些类型(包括内置类型)的正确方法通常是配置客户端。对于大多数客户端,这是通过DD(数据字典)机制使用显示配置来完成的。

但是,对于My Documentum Desktop,这似乎有所不同。我本人并没有使用过它,但请参阅《 My Documentum Desktop安装和配置指南》 6.7.2,第25页-对象类型过滤器首选项集:


  这将设置生成对象类型列表的根对象类型,用户可以在摄取对话框中从中选择对象类型。这也会在MDD中隐藏特定的对象类型。


第56页-定义对象类型的设置(Windows):


  Default_Document_Object_Type=dm_document


我猜前者的配置设置将帮助您隐藏dm_document,后者可以帮助您为客户端做出默认类型选择。

10-04 13:05