企业管理 > 文件存储和复制 > 文件存储 > 理解文件存储 > 创建存储规则
  
创建存储规则
可使用“策略管理”实用程序来为特定的 Windchill 域建立访问控制、索引和通知策略。与此类似,根据域位置和关联的对象的生命周期状态,您可以建立文件存储策略,该策略可标识内容文件所要上载到的电子仓库和文件夹。
* 
有关“策略管理”的详细信息,请参阅关于项目和项目群实用程序
Windchill 域可以采用分级形式创建,一些域可以是另一些域的子域。需要重点注意的是,域不能继承其父域的存储规则。存储规则必须在域层次的每个级别明确定义。
您应知道,在生命周期状态为“全部”(ALL) 时所创建的存储规则不适用于规则创建之后所创建的新生命周期状态。如果在创建生命周期状态为“全部”(ALL) 时的存储规则之后创建生命周期状态,则那些规则将不会考虑处于这些新生命周期状态的任何对象。因此,不会将具有这些新生命周期状态的对象存储在电子仓库中,而是将其存储在数据库 (如 BLOB) 中。
* 
这不适用 wt.fv.forceContentToVault 设置为“真”的情况。
为了解释要存储的新生命周期状态,必须在“电子仓库配置”窗口中选择“文件” > “更新策略项”来更新生命周期状态 ALL 的规则。
有关访问“电子仓库配置”窗口的信息,请参阅电子仓库配置页面
检查现有规则
在创建、修改或删除现有规则之前,应在“域存储规则”窗口中对其进行检查,该窗口可通过“管理域”选择窗口进行访问。
有关访问“域存储规则”窗口的信息,请参阅查看域存储规则
新规则
创建存储规则时,可以使用实施界面 wt.content.ContentHolder 的所有对象,它们是域管理的对象,也是生命周期管理的对象。可使用的其他对象包括:
wt.viewmarkup.DerivedImage
wt.viewmarkup.WTMarkUp
wt.epm.familytableEPMSepFamily 表
* 
可以对实施 wt.content.ContentHolder 界面的受域管理的所有对象创建存储规则。
此外,还包括所有不是生命周期管理的对象。
要创建新的存储规则,请单击 以打开“存储规则”窗口,从中可进行所需的选择。
“类”窗格包含分层的树视图,显示该域中可以为其创建存储规则的类。要创建新规则,请选择将应用该规则的对象类。由于类是分级的,为您选择的类所创建的规则也扩展到其子类中。显示的类可能不包括某些抽象类,但它们是按有效规则出现的类的完整集合。
下一步,从生命周期状态列表中选择一种状态类型。最后,在电子仓库列表中选择您使用“站点管理”窗口定义的文件电子仓库,然后单击“确定”。请注意,在一个规则中,只能指定一个类、一种生命周期状态和一个电子仓库。此外,一个对象类型和生命周期状态组合只能链接到一个文件电子仓库。
* 
不要将外部文件电子仓库规则用于 defaultcachevault 电子仓库。
请求上载操作时,如果要确定内容文件导向的电子仓库,文件电子仓库服务将应用最明确、最有效的规则。例如,考虑如下规则:
Rule 1: <User, WTDocument, All> Vault1
Rule 2: <User, WTDocument, InWork> Vault2
如果文档对象 (WTDocument) 与“用户”域相关联,并且处于 InWork 生命周期状态,那么规则 1 会将其内容传送至 Vault1,而无论其处于哪种生命周期状态。但是,规则 2 指明当文档处于 InWork 生命周期状态时,内容文件应放入 Vault2。所以,这种情况下,将应用最明确的规则,与文档关联的所有内容都将存储到 Vault2 内的文件夹中。
* 
仅在将对象检入到 Windchill 数据库并且其内容文件已上载的情况下,内容文件才会移动到电子仓库。因此,当对象的生命周期状态更改时,文件不能自动移到新的电子仓库。下次上载时文件才移动到相应的电子仓库。
创建存储规则后,可返回至“域存储规则”窗口来对其进行查看。
将内容发送至电子仓库
对“域管理”的所有 ContentHolder 类定义存储规则。不是“域管理”的 ContentHolder 类不能具有规则。
通过 wt.fv.useVaultsForAllContent 属性,还可以将没有现有规则或不能具有规则的所有内容存储到称为站点默认目标电子仓库的特殊电子仓库。
如果将此属性设置为“真”,则始终基于以下规则将内容发送至电子仓库:
如果为此内容定义了存储规则,该内容则基于该规则发送至电子仓库。
如果没有为此内容定义存储规则,则将该内容将发送至站点的默认目标电子仓库。
* 
该规则可能并不存在,因为不能为这样的 ContentHolder 类 (不是域管理的) 定义规则,或者可以定义规则但尚未定义。
如果将此属性设置为“假”(默认值),内容则基于以下条件存储至电子仓库或 BLOB:
如果为此内容定义了存储规则,该内容则基于该规则发送至电子仓库。
如果没有为此内容定义存储规则,则将该内容发送至 BLOB。