我正在使用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,后者可以帮助您为客户端做出默认类型选择。