建立規格 XML 檔案
企業管理變更推進規格檔案是一種機制,可讓您定義在巨集層級選取要使用 XML 檔案匯出之管理物件的條件。例如,您可以指定篩選器條件以僅匯出來自特定組織或前後關聯的設定檔,或僅匯出指定主參與者的原則存取控制規則等。BACSpec.xsd 檔案包含建立規格檔案時適用的規則與條件約束。BACSpec.xsd 檔案位於 <Windchill_Home>\prog_examples\BAC\schema。在同步處理和可選模式下都支援使用規格檔案篩選物件。本主題中的後續幾節描述了要在每個物件的規格檔案中使用的元素結構與相關資訊,並提供了範例規格 XML 程式碼。此外也提供了一些各類型物件的範例規格檔案以供在 <Windchill_Home>\prog_examples\BAC 中參考。
在匯出指令中使用 -s--objectType 選項可上載及處理規格 XML 檔案。只有在您將 wt.properties 中的 com.ptc.windchill.bac.features.enabled 內容設定為 2666518 時才能使用 -s--objectType 選項。若沒有此組態,對上載規格檔案的任何嘗試都將遭到拒絕並顯示錯誤。此選項同時適用於可選模式與同步處理模式。
除了使用物件的識別屬性作為篩選器條件以外,您也可以在規格檔案中使用 GlobalContainerCriteria 標籤來在容器層級篩選物件。如需詳細資訊,請參閱本主題中的全域容器條件部份。
系統中的每種物件類型都僅支援一組特定的篩選器條件。建立規格檔案時,請確保您提供的條件對該物件類型有效。例如,針對原則存取控制規則,名稱不是支援的篩選器條件。因此,您無法根據名稱匯出原則存取規則。同樣地,生命週期狀態或類型 ID 不是設定檔的支援篩選器條件。以下幾節提供了在建立企業管理變更推進規格檔案時,可用於每種物件類型之各種元素的詳細資訊。
為規格檔案中的元素、子元素或屬性指定的字串值皆區分大小寫。
設定檔
規格檔案可讓您根據來自特定組織容器或組織總管容器之設定檔的名稱篩選設定檔。本節描述了可用來在可選模式系統中按設定檔篩選物件的 XML 元素。設定檔結構描述包含下列元素:
元素
描述
ExchangeContainer
使用此元素可篩選在網站層級建立的設定檔。
規格 XML 檔案中只允許有此標籤的一個實例。
Organization
指定組織的名稱。例如,PTC
name
指定設定檔的名稱。例如,Profile1
您可以建立一個規格 XML 檔案,來選取在 ExchangeContainerPTC 組織中名為 Profile1 的所有設定檔,如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<Profile>
</ExchangeContainer>
<Organization>PTC</Organization>
<name>Profile1</name>
</Profile>
</BACSpec>
物件初始化規則
本節描述了用來在可選模式系統中篩選及匯出物件初始化規則 (OIR) 記錄的 XML 元素。OIR 僅支援 TypeBasedRule 元素。您可以根據來自特定組織容器、應用程式容器、組織總管容器或物件類型之 OIR 的名稱篩選 OIR。OIR 結構描述中包含下列元素:
元素
子元素
屬性
描述
ExchangeContainer
使用此元素可篩選在網站層級建立的 OIR。
規格 XML 檔案中只允許有此標籤的一個實例。
AppContainer
type
指定應用程式容器的類型。有效值為 ProjectProductLibrary
這是 AppContainer 的必要屬性。
name
指定應用程式容器的名稱。
這是 AppContainer 的必要屬性。
orgName
指定應用程式容器內組織的名稱。例如,PTC
這是 AppContainer 的必要屬性。
Organization
name
指定組織的名稱。例如,PTC
name
指定 OIR 的名稱。例如,TestUser
objectType
指定物件的內部名稱。例如,wt.doc.WTDocument。物件的內部名稱可從「類型及屬性管理」公用程式中取得。
以下範例規格檔案可根據物件類型 WTDocumentPTC 組織中篩選及匯出名為 OIR-part-orgOIR-doc-orgOIR-doc-prod1 的 OIR 記錄:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<OIR>
<name>OIR-part-org</name>
<name>OIR-BACdocument-org</name>
<name>OIR-document-org</name>
<Organization name=”PTC”/>
<objectType>WCTYPE|wt.doc.WTDocument</objectType>
<objectType>WCTYPE|wt.doc.WTDocument|com.ptc.ptcnet.BACDocument</objectType>
</OIR>
</BACSpec>
偏好設定
本節描述了用來在可選模式系統中篩選及匯出偏好設定的 XML 元素。偏好設定結構描述中包含下列元素:
您可以根據容器類型、Windchill 使用者、偏好設定類別、偏好設定定義及偏好設定用戶端篩選偏好設定。
元素
子元素
屬性
描述
ExchangeContainer
使用此元素可篩選在網站層級建立的偏好設定實例。
規格 XML 檔案中只允許有此標籤的一個實例。
AppContainer
type
指定應用程式容器的類型。有效值為 ProjectProductLibrary
name
指定應用程式容器的名稱。
orgName
指定組織的名稱。例如,PTC
Organization
name
指定組織容器的名稱。例如,PTC
User
指定 Windchill 使用者或 WTUser 的名稱或 ufid 或電子郵件 ID,以篩選及匯出使用者的偏好設定實例。您必須指定至少其中一個值作為規格檔案中 WTUser 的篩選器條件。
excludeInstances
使用 excludeInstances 可指定您是否要在篩選偏好設定的過程中排除所有偏好設定實例。
如果您僅使用 excludeInstances,則會在篩選過程中排除所有偏好設定實例。欲進行更特定的篩選,請使用 instanceTypevisibility 子元素作為篩選器條件。
instanceType
指定要從偏好設定的篩選中排除的實例類型。有效值如下:
USER
CONTAINER
ORGANIZATION
SITE
visibility
指定需要排除其偏好設定實例的可見度設定值。有效值如下:
USER
CONTAINER
ORGANIZATION
SITE
HIDDEN
PRODUCT
PROJECT
LIBRARY
USERONLY
PRODUCT,PROJECT
PRODUCT,LIBRARY
PROJECT,LIBRARY
PRODUCT,PROJECT,LIBRARY
Name
指定偏好設定定義的內部名稱。
使用 getInternalNames 指令可取得內部名稱。如需詳細資訊,請參閱getInternalNames
CategoryName
指定偏好設定類別的內部名稱。
使用 getInternalNames 指令可取得內部名稱。如需詳細資訊,請參閱getInternalNames
ClientName
指定偏好設定用戶端的內部名稱。
使用 getInternalNames 指令可取得內部名稱。如需詳細資訊,請參閱getInternalNames
容器資訊、使用者資訊與 excludeInstances 是篩選偏好設定的互斥選項。
用來篩選及匯出來自 Test Organization 下的 GOLF_CART 應用程式容器中名為 Intro 之偏好設定定義的範例規格檔案。規格檔案也會指定篩選器條件,來從名為 Windchill 的偏好設定用戶端與名為 DEMO 的偏好設定用戶端匯出名為 AAA 之偏好設定的記錄,並排除 UserContainer 實例中具有隱藏可見度的偏好設定篩選:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<Preference>
<AppContainer name="GOLF_CART" type="Product" orgName="Test Organization"/>
<Name>Intro<Name/>
<excludeInstances>
<instanceType>USER<instanceType/>
<instanceType>CONTAINER<instanceType/>
<visibility>HIDDEN</visibility>
</excludeInstances>
<Name>AAA<Name/>
<ClientName>WINDCHILL</ClientName>
<CategoryName>DEMO</CategoryName>
<Preference>
</BACSpec>
欲取得內部名稱 - 根據偏好設定類別、偏好設定定義與偏好設定用戶端指定篩選器條件需要您提供偏好設定的內部名稱。可使用下列指令取得特定地區設定中偏好設定的內部名稱:
java wt.scm.client.SCMCMD getInternalNames getInternalNames [--user <user>] [--password <password>] [--outputdir <outputdir] [--locale <locale>] [--objectType <objectType] [--help]
選項
必要
描述
-p
--password
執行指令之 Windchill 使用者的密碼。
-t
--objectType
要取得其內部名稱的物件類型。為此選項指定 Preferences。在未來發行版本中,此選項將會增強以支援新的物件類型。
-u
--user
執行指令之 Windchill 使用者的使用者名稱。執行指令的使用者必須是有效的 Windchill 使用者與網站管理員。
-h
--help
使用此選項可顯示公用程式的說明文字。說明文字會列出每個選項的完整描述以及執行公用程式的語法。
-l
--locale
要在其中產生輸出檔案的地區設定。若未指定地區設定,會在預設地區設定中產生輸出檔案。
-o
--outputdir
產生及儲存 CSV 檔案之位置的檔案路徑。若未指定此選項,檔案會儲存至 Windchill TEMP 目錄 ${wt.temp}/bac 中的預設位置。
執行此指令時,會產生 CSV 報告並將其儲存在指定位置。CSV 報告提供物件類型、內部名稱,以及在指令中指定的地區設定中之顯示名稱的相關資訊。
原則存取控制規則
以下元素包含在可選模式系統的原則存取控制規則結構描述中:
您可以只針對可選模式系統根據主參與者屬性篩選原則存取控制規則。您可以將篩選器設定為主參與者元素與容器、網域或僅屬性的組合。
在為同步處理模式系統的原則存取控制規則建立規格檔案時,請僅指定物件類型。不支援其他任何篩選器條件。
元素
子元素
屬性
描述
Organization
name
指定組織的名稱。例如,PTC
ExchangeContainer
使用此元素可篩選在網站層級建立的原則存取控制規則。
規格 XML 檔案中只允許有此標籤的一個實例。
AppContainer
type
指定應用程式容器的類型。有效值為 ProjectProductLibrary
這是 AppContainer 的必要屬性。
name
指定應用程式容器的名稱。
這是 AppContainer 的必要屬性。
orgName
指定組織的名稱。例如,PTC
這是 AppContainer 的必要屬性。
OrganizationDomains
name
指定組織的名稱。例如,PTC
這是 OrganizationDomains 的必要屬性。
path
指定所定義物件之管理網域的檔案路徑或資料夾位置。
這是 OrganizationDomains 的必要屬性。
ExchangeContainerDomains
domain
path
指定所定義物件的管理網域。
AppContainerDomains
type
指定應用程式容器的類型。有效值為 ProjectProductLibrary
這是 AppContainerDomains 的必要屬性。
name
指定應用程式容器的名稱。
這是 AppContainerDomains 的必要屬性。
orgName
指定組織的名稱。例如,PTC
這是 AppContainerDomains 的必要屬性。
domain
path
指定所定義物件的管理網域。
這是 AppContainerDomains 的必要屬性。
Principal
指定主參與者或參與者。如需有關各種子元素及其對應屬性的詳細資訊,請參閱本主題中的主參與者部份。
typeid
指定物件的類型識別元,例如 WTPartWTDocument。例如:WCTYPE|com.ptc.windchill.bac.delivery.BACReceivedDelivery
state
以大寫指定物件類型的生命週期狀態。
allExceptPrincipal
指定您是否要收集主參與者物件。有效值為 truefalse
以下範例規格檔案可用來篩選及匯出類型 ID 為 WTPart、生命週期狀態設定為 APPROVEDallExceptPrincipal 為 true 的所有原則存取控制規則。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<typeid>WCTYPE|wt.part.WTPart</typeid>
<state>APPROVED</state>
<allExceptPrincipal>true</allExceptPrincipal>
</PolicyAccessControlRule>
</BACSpec>
以下範例規格檔案可用來篩選及匯出來自 System 組織總管容器網域、Test Organization 組織網域,以及諸如 GOLF_CARTTest_LibTest_Project 等應用程式容器網域的所有原則存取控制規則。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<ExchangeContainerDomains>
<domain path=”/System”/>
<OrganizationDomains name=”Test Organization”/>
<domain path=”/Test Organization”/>
</OrganizationDomains>
<AppContainerDomains type=”Product” name=”GOLF_CART” orgName=”Test Organization”>
<domain path=”/Default”/>
</AppContainerDomains>
<AppContainerDomains type=”Library” name=”Test_Lib” orgName=”Test Organization”>
<domain path=”/Default”/>
</AppContainerDomains>
<AppContainerDomains type=”Project” name=”Test_Project” orgName=”Test Organization”>
<domain path=”/Default”/>
</AppContainerDomains>
</PolicyAccessControlRule>
</BACSpec>
以下範例規格檔案可用來篩選及匯出來自組織總管容器與 Test Organization 的所有設定檔,以及來自組織總管容器與諸如產品、專案與物件庫等應用程式容器的所有原則存取控制規則。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<Profile>
<ExchangeContainer/>
<Organization name=”Test Organization”/>
</Profile>
<PolicyAccessControlRule>
<ExchangeContainer/>
<Organization name=”Test Organization”/>
<AppContainer type=”Product” name=”GOLF_CART” orgName=”Test Organization”/>
<AppContainer type=”Library” name=”Test_Lib” orgName=”Test Organization”/>
<AppContainer type=”Project” name=”Test_Project” orgName=”Test Organization”/>
</PolicyAccessControlRule>
</BACSpec>
以下範例規格檔案可用來匯出來自同步處理模式系統的所有設定檔、物件初始化規則與原則存取控制規則:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<Profile/>
<PolicyAccessControlRule/>
<OIR/>
<Preference/>
</BACSpec>
生命週期範本
本節描述用來在可選模式系統中篩選及匯出生命週期範本記錄的 XML 元素。您可根據生命週期範本的名稱,從特定組織容器、應用程式容器或組織總管容器中篩選生命週期範本。
開發生命週期範本的規格檔案時,請考慮下列指導原則︰
您可以傳播僅存在於 System 網域中的生命週期範本。
您只可以傳播生命週期範本的最新版序。即使在來源系統與目標系統中生命週期範本的版序數不同,也是如此。
當在目標系統中生命週期範本的上個版序上傳播刪除動作時,此動作也會自動刪除主物件。即使來源系統中已匯出之生命週期範本的最新版序是存在於目標系統中的唯一版序,也是如此。
只有當在已同步處理的模式系統中找到相符「資料庫對應」與「本機 ID」資訊時,您才可以針對生命週期範本傳播刪除動作。在可選模式系統中,必須找到相符的「資料庫對應」。
不支援刪除生命週期範本的中間版序。相對於交換模式,只會刪除符合「資料庫對應」或「本機 ID」資訊的最新版序。
如果在來源系統中刪除生命週期範本的版序,則在匯出過程中,會將版序的已刪除資訊以及來源系統中的可用最新版序傳播至目標系統。這樣有助於同步處理正在目標系統中使用的最新版序。
不支援根據企業識別篩選生命週期範本以傳播刪除動作。
不支援刪除其他物件正在使用的生命週期範本。
以下元素包含在可選模式系統的生命週期範本結構描述中:
元素
子元素
屬性
描述
Name
指定生命週期範本的名稱。
ExchangeContainer
使用此元素可篩選在網站層級建立的生命週期範本。
規格 XML 檔案中只允許有此標籤的一個實例。
AppContainer
type
指定應用程式容器的類型。有效值為 ProjectProductLibrary
這是 AppContainer 的必要屬性。
name
指定應用程式容器的名稱。
這是 AppContainer 的必要屬性。
orgName
指定應用程式容器內組織的名稱。例如,PTC
這是 AppContainer 的必要屬性。
Organization
name
指定組織的名稱。例如,PTC
以下範例規格檔案用來從 Demo Organization 中的 Exchange 容器與 GOLF_CART 產品中篩選及匯出所有生命週期範本:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<LifeCycleTemplate>
<ExchangeContainer/>
<AppContainer type=”Product” name=”GOLF_CART” orgName=”Demo Organization”/>
</LifeCycleTemplate>
</BACSpec>
以下範例規格檔案用來篩選及匯出 Demo Organization 中命名為 Default 的所有生命週期範本:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<LifeCycleTemplate>
<Organization name="Demo Organization"/>
<Name>Default</Name>
</LifeCycleTemplate>
</BACSpec>
以下範例規格檔案用來篩選及匯出命名為 Basic 與 Default 的所有生命週期範本:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<LifeCycleTemplate>
<Name>Basic</Name>
<Name>Default</Name>
</LifeCycleTemplate>
</BACSpec>
工作流程範本
本節描述用來在可選模式系統中篩選及匯出工作流程範本記錄的 XML 元素。您可根據生命週期範本的名稱,從特定組織容器、應用程式容器或組織總管容器中篩選工作流程範本。
開發工作流程範本的規格檔案時,請考慮下列指導原則︰
您可以傳播僅存在於 System 網域中的工作流程範本。
您只可以傳播工作流程範本的最新版序。即使在來源系統與目標系統中工作流程範本的版序數不同,也是如此。
當在目標系統中工作流程範本的上個版序上傳播刪除動作時,此動作也會自動刪除主物件。即使來源系統中已匯出之工作流程範本的最新版序是存在於目標系統中的唯一版序,也是如此。
只有當在已同步處理的模式系統中找到相符「資料庫對應」與「本機 ID」資訊時,您才可以針對工作流程範本傳播刪除動作。在可選模式系統中,必須找到相符的「資料庫對應」。
不支援刪除工作流程範本的中間版序。相對於交換模式,只會刪除符合「資料庫對應」或「本機 ID」資訊的最新版序。
如果在來源系統中刪除工作流程範本的版序,則在匯出過程中,會將版序的已刪除資訊以及來源系統中的可用最新版序傳播至目標系統。這樣有助於同步處理正在目標系統中使用的最新版序。
不支援根據企業識別篩選工作流程範本以傳播刪除動作。
不支援刪除其他物件所使用的工作流程範本。
不支援交換已外部化的工作流程範本。
以下元素包含在可選模式系統的工作流程範本結構描述中:
元素
子元素
屬性
描述
Name
指定工作流程範本的名稱。
ExchangeContainer
使用此元素可篩選在網站層級建立的工作流程範本。
規格 XML 檔案中只允許有此標籤的一個實例。
AppContainer
type
指定應用程式容器的類型。有效值為 ProjectProductLibrary
這是 AppContainer 的必要屬性。
name
指定應用程式容器的名稱。
這是 AppContainer 的必要屬性。
orgName
指定應用程式容器內組織的名稱。例如,PTC
這是 AppContainer 的必要屬性。
Organization
name
指定組織的名稱。例如,PTC
以下範例規格檔案用來從 Demo Organization 中的 Exchange 容器與 GOLF_CART 產品中篩選及匯出所有工作流程範本:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<WorkflowProcessTemplate>
<ExchangeContainer/>
<AppContainer type=”Product” name=”GOLF_CART” orgName=”Demo Organization”/>
</WorkflowProcessTemplate>
</BACSpec>
以下範例規格檔案用來篩選及匯出 Submit 中命名為 Demo Organization 的所有工作流程範本:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<WorkflowProcessTemplate>
<Organization name="Demo Organization"/>
<Name>Submit</Name>
</WorkflowProcessTemplate>
</BACSpec>
以下範例規格檔案用來篩選及匯出命名為 ReviewSubmit 的所有工作流程範本:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<WorkflowProcessTemplate>
<Name>Review</Name>
<Name>Submit</Name>
</WorkflowProcessTemplate>
</BACSpec>
類型定義
規格檔案可讓您根據類型定義的內部名稱篩選及匯出屬性範本。屬性範本結構描述包含下列元素:
元素
描述
Name
指定類型定義的內部名稱。例如,Name1
Namespace
指定類型定義的命名空間。例如,Namespace1
* 
如果沒有要提供給命名空間的資訊,請勿將其包括在規格檔案中。
Flavor
指定類型定義的屬性範本類別。例如,LWCTYPE
以下是用來篩選及匯出屬性範本的範例規格檔案︰
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<TypeDefinitions>
<TypeDefinition>
<Name>name</Name>
<Namespace>namespace</Namespace>
<Flavor>LWCTYPE</Flavor>
</TypeDefinition>
<TypeDefinition>
<Name>Name1</Name>
<Namespace>Namespace1</Namespace>
<Flavor>LWCTYPE</Flavor>
</TypeDefinition>
</TypeDefinitions>
</BACSpec>
量測系統 (Measurement System)
規格檔案可讓您根據量測系統的名稱篩選及匯出量測系統。結構描述包含下列元素:
元素
描述
Name
指定量測系統的名稱。例如,MS1
以下是用來篩選及匯出量測系統的範例規格檔案︰
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<MeasurementSystem>
<Name>MS1</Name>
<Name>MS2</Name>
</MeasurementSystem>
</BACSpec>
量測數
規格檔案可讓您根據量測數的名稱篩選及匯出量測數。結構描述包含下列元素:
元素
描述
Name
指定量測數的名稱。例如,QOM1
以下是用來篩選及匯出量測數的範例規格檔案︰
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<QOM>
<Name>QOM1</Name>
<Name>QOM2</Name>
</QOM>
</BACSpec>
全域列舉
規格檔案可讓您根據列舉或自訂 UI 文字的名稱、組合管理名稱與擁有組織,篩選及匯出全域列舉、模型化列舉與自訂 UI 文字。結構描述包含下列元素:
元素
描述
internalName
指定全域列舉、模型化列舉或自訂 UI 文字的名稱。例如,ENU1
OrganizerName
指定列舉組合管理或文字組合管理的名稱。
owningOrg
指定要在其中建立列舉或自訂 UI 文字的組織。
以下是用來篩選及匯出命名為 basic 與 default 之全域列舉、模型化列舉及自訂 UI 文字的範例規格檔案︰
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<GlobalEnumeration>
<Name>basic</Name>
<Name>default</Name>
</GlobalEnumeration>
</BACSpec>
以下是用來根據列舉組合管理或文字組合管理篩選及匯出全域列舉、模型化列舉及自訂 UI 文字的範例規格檔案︰
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<GlobalEnumeration>
<OrganizerName>ORGNAME1</OrganizerName>
<OrganizerName>ORGNAME2</OrganizerName>
</GlobalEnumeration>
</BACSpec>
以下是用來根據列舉組合管理或文字組合管理與擁有組織篩選及匯出全域列舉、模型化列舉及自訂 UI 文字的範例規格檔案︰
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<GlobalEnumeration>
<OrganizerName>ORGNAME1</OrganizerName>
<owningOrg>Demo Org</owningOrg>
</GlobalEnumeration>
</BACSpec>
以下是用來根據擁有組織篩選及匯出全域列舉、模型化列舉及自訂 UI 文字的範例規格檔案︰
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<GlobalEnumeration>
<owningOrg>site</owningOrg>
</GlobalEnumeration>
</BACSpec>
可重新使用屬性
規格檔案可讓您根據屬性的名稱與屬性組合管理篩選及匯出可重新使用屬性。結構描述包含下列元素:
元素
描述
name
指定屬性的內部名稱,可包含或不包含網域名稱。例如:org.rnd.SampleAttr1 SampleAttr1
OrganizerName
以階層方式指定屬性組合管理的內部名稱。
以下是用來根據屬性內部名稱篩選及匯出可重新使用屬性的範例規格檔案︰
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<ResuableAttr>
<name>org.rnd.SampleAttr1</name>
<name>SampleAttr1</name>
</ResuableAttr>
</BACSpec>
以下是用來根據屬性組合管理篩選及匯出可重新使用屬性的範例規格檔案。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<ResuableAttr>
<OrganizerName>RootOrganizer</OrganizerName>
<OrganizerName>RootOrganizer/Organizer1</OrganizerName>
</ResuableAttr>
</BACSpec>
主參與者
您可以使用一個元素或主參與者元素的組合來建立規格檔案。如果您在規格檔案中使用主參與者的所有元素,則結構描述中的元素順序必須為下圖所示的順序。
主參與者結構描述中包含下列元素:
角色主參與者
表示在前後關聯小組和共用小組中,針對指派給小組成員之角色而建立的系統群組,並表示針對在前後關聯小組中具有成員的應用程式前後關聯,在其中建立的系統群組。
此元素支援 Windchill 角色或 WTRoleprincipal 的群組名稱、群組類型與容器 (可能是組織總管容器或組織容器)。您必須為 WTRolePrincipal 指定組織總管容器或組織。
WTRoleprincipal 結構描述中包含下列元素:
元素
子元素
屬性
描述
groupname
指定 APPROVER 作為內部群組的名稱。
grouptype
指定 DynamicRole 作為內部群組所屬的群組類型。
ExchangeContainer
使用此元素可篩選在網站層級建立的系統群組。
規格 XML 檔案中只允許有此標籤的一個實例。
Organization
name
指定組織的名稱。例如,PTC
以下範例規格檔案可用來根據 RolePrincipal 篩選及匯出來自 PTC 組織的所有原則存取控制規則:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<RolePrincipal>
<groupname>112211_ORG</groupname>
<grouptype>DynamicRole</grouptype>
<Organization name=”PTC”/>
</RolePrincipal>
</PolicyAccessControlRule>
</BACSpec>
以下範例規格檔案可用來根據 RolePrincipal 篩選及匯出來自組織總管容器的所有原則存取控制規則:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<RolePrincipal>
<ExchangeContainer/>
</RolePrincipal>
</PolicyAccessControlRule>
</BACSpec>
群組
指定 Windchill 群組或 WTGroup 的 ufid,或是名稱與組織總管容器或組織容器的組合。
WTGroup 結構描述中包含下列元素:
元素
子元素
屬性
描述
name
指定群組的名稱。例如,Administrator
Organization
指定組織的名稱。例如,PTC
ExchangeContainer
domain
path
使用此元素可篩選在網站層級建立的群組。
規格 XML 檔案中只允許有此標籤的一個實例。
ufid
name
指定物件的具唯一性聯合識別元 (UFID)。此參數的有效格式為:<ufid_string>|<ldap 存放庫>|<ldap 存放庫>
以下範例規格檔案可用來篩選及匯出來自 Administrator 組織的 PTC 群組、組織總管容器與特定 ufid 的所有原則存取控制規則:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<Group>
<name>Administrator</name>
<grouptype>DynamicRole</grouptype>
<Organization name=”PTC”/>
</Group>
<Group>
<ufid>uid=test,ou=people,cn=adminsitrativeldap,cn=ajohn.111.01.01,o=ptc|Ldap.ptcnet.ptc.com|Ldap.ptcnet.ptc.com</ufid>
</Group>
</PolicyAccessControlRule>
</BACSpec>
以下範例規格檔案可用來篩選及匯出來自組織總管容器下的所有群組中之所有原則存取控制規則:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<Group>
<ExchangeContainer/>
</Group>
</PolicyAccessControlRule>
</BACSpec>
內部群組
這些群組是不以 LDAP 表示,而由 Windchill 進行內部維護的群組。例如,物件庫建立者。
InternalGroup 結構描述中包含下列元素:
元素
子元素
屬性
描述
groupname
指定內部群組的名稱。
grouptype
指定 DynamicRole 作為內部群組所屬的群組類型。
ExchangeContainer
使用此元素可篩選在網站層級建立的內部群組。
規格 XML 檔案中只允許有此標籤的一個實例。
Organization
name
指定組織的名稱。例如,PTC
AppContainer
type
指定應用程式容器的類型。有效值為 ProjectProductLibrary
這是 AppContainer 的必要屬性。
name
指定應用程式容器的名稱。
這是 AppContainer 的必要屬性。
orgName
指定組織的名稱。例如,PTC
這是 AppContainer 的必要屬性。
以下範例規格檔案可用來篩選及匯出來自 PTC 組織的 LIBRARY CREATOR 群組之所有原則存取控制規則:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<InternalGroup>
<groupname>LIBRARY CREATOR</groupname>
<grouptype>DynamicRole</grouptype>
<Organization name=”PTC”/>
</InternalGroup>
</PolicyAccessControlRule>
</BACSpec>
WTUser
指定 Windchill 使用者或 WTUser 的名稱、ufid 或電子郵件 ID。您必須指定至少其中一個元素作為規格檔案中 WTUser 下的篩選器條件。
WTUser 結構描述中包含下列元素:
元素
描述
name
指定使用者的名稱。例如,TestUser
emailid
指定使用者的電子郵件 ID。例如,testuser@ptc.com
ufid
指定物件的具唯一性聯合識別元 (UFID)。此參數的有效格式為:<ufid_string>|<ldap 存放庫>|<ldap 存放庫>
以下範例規格檔案可用來根據 ufid 篩選及匯出所有原則存取控制規則:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<User>
<ufid>uid=test,ou=people,cn=adminsitrativeldap,cn=ajohn.111.01.01,o=ptc|Ldap ptcnet.ptc.com|Ldap.ptcnet.ptc.com</ufid>
</User>
</PolicyAccessControlRule>
</BACSpec>
以下範例規格檔案可用來根據名為 TestUser 之使用者的電子郵件 ID,篩選及匯出所有原則存取控制規則:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<User>
<emailid>testuser@ptc.com</emailid>
</User>
</PolicyAccessControlRule>
</BACSpec>
WTOrganization
指定 Windchill 組織或 WTOrganization 的名稱或 ufid。規格檔案中必須至少有一個元素。您必須指定至少其中一個元素作為規格檔案中 WTOrganization 下的篩選器條件。
WTOrganization 結構描述中包含下列元素:
元素
描述
name
指定組織的名稱。例如,PTC
ufid
指定物件的具唯一性聯合識別元 (UFID)。此參數的有效格式為:<ufid_string>|<ldap 存放庫>|<ldap 存放庫>
以下範例規格檔案可用來篩選及匯出來自 PTC 組織與 ufid 之所有原則存取控制規則:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<Org>
<ufid>uid=test,ou=people,cn=adminsitrativeldap,cn=ajohn.111.01.01,o=ptc|Ldap ptcnet.ptc.com|Ldap.ptcnet.ptc.com</ufid>
</Org>
<Org>
<name>PTC</name>
</Org>
</PolicyAccessControlRule>
</BACSpec>
PseudoRole
指定篩選器來根據虛擬角色收集物件。
PseudoRole 結構描述中包含下列元素:
元素
描述
name
為此屬性指定 ALLOWNER,其中,
ALLWindchill 用來代表所有參與者的虛擬角色
OWNERWindchill 用來代表物件擁有者的虛擬角色
以下範例規格檔案可用來篩選及匯出將虛擬角色設定為 ALLOWNER 的所有原則存取控制規則:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<PseudoRole>
<name>ALL</name>
</PseudoRole>
<PseudoRole>
<name>OWNER</name>
</PseudoRole>
</PolicyAccessControlRule>
</BACSpec>
以下範例規格檔案可使用強制順序參考所有主參與者元素:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<PolicyAccessControlRule>
<RolePrincipal>
<groupname>112211_ORG</groupname>
<grouptype>DynamicRole</grouptype>
<Organization name=”PTC”/>
</RolePrincipal>
<Group>
<name>Administrator</name>
<grouptype>DynamicRole</grouptype>
<Organization name=”PTC”/>
</Group>
<User>
<emailid>testuser@ptc.com</emailid>
</User>
<User>
<name>Test User</name>
</User>
<Org>
<ufid>uid=test,ou=people,cn=adminsitrativeldap,cn=ajohn.111.01.01,o=ptc|Ldap ptcnet.ptc.com|Ldap.ptcnet.ptc.com</ufid>
</Org>
<Org>
<name>PTC</name>
</Org>
<InternalGroup>
<groupname>LIBRARY CREATOR</groupname>
<grouptype>LIBRARY CREATOR</grouptype>
<Organization name=”PTC”/>
</InternalGroup>
<PseudoRole>
<name>ALL</name>
</PseudoRole>
<PseudoRole>
<name>OWNER</name>
</PseudoRole>
</PolicyAccessControlRule>
</BACSpec>
TableView
規格檔案可讓您根據表格檢視的名稱、tableID 或特定擁有者進行篩選。本節描述了可用來在可選模式系統中按設定檔篩選物件的 XML 元素。
其結構如下:
<TableView>
<name>VIEW_NAME</name>
<tableID>INTERNALID</tableID>
<owner>USER_NAME</owner>
<system>BOOLEAN</system>
</TableView>
您可以在其中指定具有全部或任一元素的篩選器。每個元素也可以有多個值。元素的序列無法變更。
* 
在 Windchill 自訂檢視 UI 中,當 Owner 為 System 時,則不存在身份為擁有者的 Windchill 參與者或使用者。在此類情況下,請將 <system> 標籤作為 true 使用來匯出現成的系統表格檢視。
以下是選取表格檢視的範例規格檔案 .xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<TableView>
<name>WSView</name>
<name>Default</name>
<tableID>WsJSTable</tableID>
<tableID>folderbrowser_PDM</tableID>
<owner>wcadmin</owner>
<system>true</system>
</TableView>
</BACSpec>
在上述範例中,篩選器可讓您針對任一名稱 (WSView 或 Default) 及指定擁有者的任一表格 ID 產生輸出。
您可以僅針對表格檢視的名稱,或僅針對表格 ID,或針對擁有者設定篩選器。在下面的範例中,篩選器僅以名稱為基礎。因此,結果為名稱元素是 WSView 或 Default 的表格檢視。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BACSpec xmlns="http://www.ptc.com/bac">
<TableView>
<name>WSView</name>
<name>Default</name>
</TableView>
</BACSpec>
全域容器條件
使用 GlobalContainerCriteria 可指定通用容器作為在規格檔案中指定之所有物件類型的全域篩選器條件。在 GlobalContainerCriteria 中指定的容器會額外套用至規格檔案中的所有物件類型。僅可選模式系統支援在規格檔案中使用 GlobalContainerCriteria 匯入或匯出記錄。
例如,欲篩選及匯出來自 GlobalContainerCriteriaPTC 組織以及組織總管容器的所有設定檔,則會擷取來自 PTCExchangeContainer 的所有設定檔記錄。以下是此範例的樣本 XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<GlobalContainerCriteria>
<Organization name=”PTC”/>
</GlobalContainerCriteria>
<Profile>
<ExchangeContainer/>
</Profile>
</BACSpec>
使用 GlobalContainerCriteria 建立規格檔案時,您必須考慮以下幾點:
此元素位於 BACSpec 根標籤之後的第一個層級。
在規格檔案中,此元素與物件標籤位於相同的層級。
此元素支援下列容器:
組織總管容器
組織容器
應用程式容器
檢查您在 GlobalContainerCriteria 中指定的容器對提供的物件類型是否有效。
針對細微搜尋,在管理物件內指定有效的容器。例如,適用於原則存取控制規則的應用程式容器。
* 
您無法使用 GlobalContainerCriteria 針對設定檔指定應用程式容器或網域。
不支援在物件元素內使用網域作為子元素。例如,您無法針對原則存取控制規則指定應用程式容器下的網域。
以下範例規格檔案可用來篩選及匯出組織總管容器中的所有設定檔,以及 PTC 組織下驅動系統應用程式容器中的原則存取控制規則:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BACSpec xmlns="http://www.ptc.com/bac">
<GlobalContainerCriteria>
<Organization name=”PTC”/>
</GlobalContainerCriteria>
<Profile>
<ExchangeContainer/>
</Profile>
<PolicyAccessControlRule>
<AppContainer name=”Drive System” orgName=”Demo Organization” type=”Product”/>
</PolicyAccessControlRule>
</BACSpec>
這是否有幫助?