Servigistics InService 发布和加载 > 其他信息 > TAL 自定义 > 自定义访问选项
  
自定义访问选项
要对其他属性应用访问控制,并对内容的访问筛选进行更强控制,必须执行以下三项自定义操作:
使用 OptionsDefinition 文件添加选项和选择
使用 FilterDefinition-Mapping 文件对待筛选数据应用访问选项的适用性。
正在加载对于筛选有效的选项。
以上每个步骤均在单独的章节中介绍。
添加到 OptionsDefinition 文件
束中的这一文件列出了系统中可用且受支持的所有选项及其相应选择。您可以添加更多选项或移除某些现有的选项 (和相关的选择)。通常情况下,一个 Option 元素可包含一个或多个 Choice 元素。
以下是此文件中的条目:

<OptionSet container="OR:wt.pdmlink.PDMLinkProduct:115636" label="OptionSet" token="_oset4562692">
<Option label="Release" token="_opt4318852">
<Name>Release</Name>
<Choice label="postRelease" token="_ch4318861">
<Name>postRelease</Name>
</Choice>
<Choice label="preRelease" token="_ch4318862">
<Name>preRelease</Name>is
</Choice>
</Option>
</OptionSet>
* 
Option 名称和 Choice 名称可使用 translation.xml 文件进行本地化。
元素的使用和用途及其属性将在此表中介绍:
属性名称
类型
用途
OptionSet
元素
具有多个 Option 元素的占位符
Option
元素
具有多个 Choice 元素的占位符
Choice
元素
给定选项的允许选择的占位符
token
attribute
用于在 translation.xml 中查找语言翻译。
label
attribute
要添加选项的名称。
Name
element
要添加 OptionChoice 的名称。
使用 FilterDefinition-Mapping 文件应用适用性
FilterDefinition-Mapping.xml 中使用了上节所述的选项和选择,您可以通过在 TAL 进程中将这些选项和选择应用于数据来限制对某些数据的访问。筛选器定义映射文件可用于将访问选项的适用性应用于 XPATH 和对象类型指定的特定数据。
这是在 INSERVICE_HOME/InS_SW/Config/System/Config 文件夹结构中保留的可配置映射文件。在 TAL 进程中,可更新此文件以控制或将适用性应用于特定束数据。
以下是此文件的示例:

<?xml version="1.0" encoding="UTF-8"?>
<FilterDefinitions>
<FilterDefinition type="IS" xmd="false">
FilterProperty label="Color" xpath="metadata[@id='PartList_4119316']/data[@name='Color']" delimiter=","/>
<FilterProperty label="number" xpath="metadata[@id='EPMDocument_4336801']/data[@name='number']" delimiter=","/>
<FilterProperty label="number" xpath="metadata[@id='EPMDocument_2042453']/data[@name='number']" delimiter=","/>
<FilterProperty label="Color" xpath="metadata[@id='EPMDocument_2053239']/data[@name='Color']" delimiter=","/>
</FilterDefinition>
<!--At entire document level -->
<FilterDefinition type="PDFM" xmd="true">
<!--For a specific pdf. -->
<FilterProperty label="number" xpath="Metadata[@id='EPMDocument_4336801']/Property[@token='number']/Value" delimiter=" "/>
<!--For every pdf. -->
<FilterProperty label="number" xpath="Metadata/Property[@token='number']/Value" delimiter=" "/>
</FilterDefinition>
<FilterDefinition type="IEXML" xmd="true">
<!--For a specific xml. -->
<FilterProperty label="number" xpath="Metadata[@id='EPMDocument_2042453']/Property[@token='number']/Value" delimiter=" "/>
<!--For every xml. -->
<FilterProperty label="number" xpath="Metadata/Property[@token='number']/Value" delimiter=" "/>
</FilterDefinition>
<FilterDefinition type="PARTSLIST" xmd="true">
<FilterProperty label="Color" xpath="Metadata[@id='PartList_4119316']/Property[@token='Color']/Value" delimiter=","/>
</FilterDefinition>
<FilterDefinition type="GRAPHIC" xmd="true">
<FilterProperty label="Color" xpath="Metadata[@id='EPMDocument_2053239']/Property[@token='Color']/Value" delimiter=" "/>
</FilterDefinition>
<!--For inline applicability. -->
<FilterDefinition type="IEXML" xmd="false">
<FilterProperty label="role" xpath="*[@applic_role]/@applic_role" delimiter=" "/>
</FilterDefinition>
<FilterDefinition type="PARTSLIST" xmd="false">
<FilterProperty label="DriveType" xpath="Metadata[@id='PartListItem_4119324']/Property[@token='DriveType']/Value" delimiter=","/>
</FilterDefinition>
<FilterDefinition type="PRT" xmd="false">
<FilterProperty label="Color" xpath="Metadata[@id='WTPart_3443834']/Property[@token='Color']/Value" delimiter=","/>
</FilterDefinition>
<!--For 3rd Party Bundle-->
<FilterDefinition type="KIT2PRT" xmd="false">
</FilterDefinition>
<FilterDefinition type="KIT2PRTLST" xmd="false">
</FilterDefinition>
<FilterDefinition type="PH" xmd="false">
</FilterDefinition>
<FilterDefinition type="PX" xmd="false">
</FilterDefinition>
</FilterDefinitions>
一个 FilterDefinitions 元素包含多个 FilterDefinition 元素,每个元素均特定于某一特定束类型及其使用情况。
元素的使用和用途及其属性将在此表中介绍:
属性名称
类型
用途
FilterDefinition
element
此元素特定于某一特定束类型及其使用关系。
“类型”
attribute
指定给定 FilterDefinition 适用的束类型。
允许值为:IS、PARTSLIST、GRAPHIC、PDFM 和 IEXML。
xmd
attribute
指定是否应将适用性应用于特定节点或整个文档。
如果 true,则适用性将适用于整个文档。
如果 false,则适用性将适用于特定节点。
FilterProperty
element
指定要应用的筛选器属性。
label
attribute
指定要应用的适用性的名称。
例如:颜色、区域和源等。
xpath
attribute
已应用适用性的束数据元素的 XPATH 表达式。
示例 1:

Metadata[@id='EPMDocument_1678511']
/Property[@token='Region']
/Value
这意味着,查找名为 Propertytoken 属性为 Region 的元素 (位于名为 Metadataid 属性为 EPMDocument_1678511 的元素下) 下的名为 Value 的元素上存在的数据。
示例 2:

*[@applic_Region]/@applic_Region
这意味着查找任何元素上名为 applic_Region 的属性上存在的数据。
示例 3:

Metadata[@id='EPMDocument_8978311']
/Property[@token='name']
/Value/@xml:lang
这意味着,查找名为 Propertytoken 属性为 name 的元素 (位于名为 Metadataid 属性为 EPMDocument_8978311 的元素下) 下的名为 Value 的元素的 xml:lang 属性上存在的数据。
示例 4:

Metadata/Property[@token='Region']
/Value
这意味着,查找名为 Propertytoken 属性为 Region 的元素 (位于名为 Metadata 的元素下) 下的名为 Value 的元素上存在的数据。
delimiter
attribute
在该元素上存在多个值的情况下,使用分隔符分隔各个值。
例如:逗号、冒号、空格等。
向系统中加载访问权限选项
由于所有选项及其选择在系统中均可用,您可以使用其中的部分或全部来限制对某些用户的访问。
要执行这一操作,请将选项和选择的子集作为访问选项列出,并列出使用 Windchill 加载程序进行加载的有效选项。加载文件包含有效选项及其类型的列表。
根据选项名称及其类型创建 XML 文件,并将其放置在以下位置:INSERVICE_HOME/InS_SW/SW/Applications/Windchill.ear/loadXMLFiles/servicecenter。例如:SCAccessOption.xml
Windchill Shell 中运行以下命令:
windchill wt.load.LoadFromFile -u wcadmin -p wcadmin -d loadXMLFiles/servicecenter/SCAccessOption.xml
以下是此文件的示例:
<? xml version="1.0"?>
<! DOCTYPE InSObjects SYSTEM "standardX26.dtd">
<InSObjects>
<SCAccessOption>
<accessOptionLabel>Source</accessOptionLabel>
<accessOptionType>IE</accessOptionType>
</SCAccessOption>
<SCAccessOption>
<accessOptionLabel>Region</accessOptionLabel>
<accessOptionType>IE</accessOptionType>
</SCAccessOption>
</InSObjects>
元素的使用和用途将在此表中介绍:
属性名称
类型
用途
SCAccessOption
element
用于定义 AccessOption 的占位符
accessOptionLabel
element
选项名称
accessOptionType
element
选项类型
* 
当前唯一受支持的类型为 IE