仕様 XML ファイルの作成
ビジネス管理変更プロモーションの仕様ファイルは、XML ファイルを使用してエクスポートされる管理オブジェクトをマクロレベルで選択する際の基準を定義するためのメカニズムです。たとえば、特定の組織またはコンテキストからのみプロフィールをエクスポートするフィルタ基準や、特定のプリンシパルのみについてのポリシーアクセス制御規則をエクスポートするフィルタ基準などを指定できます。BACSpec.xsd ファイルには、仕様ファイルの作成時に適用可能な規則と制約が含まれています。BACSpec.xsd ファイルは <Windchill_Home>\prog_examples\BAC\schema にあります。仕様ファイルを使用したオブジェクトのフィルタが同期化モードと選択的モードの両方でサポートされています。このトピックの以降の各セクションでは、各オブジェクトの仕様ファイルで使用されるエレメント構造と関連情報について説明し、仕様 XML コードのサンプルを掲載しています。参照用に、オブジェクトのタイプごとに仕様ファイルのサンプルも <Windchill_Home>\prog_examples\BAC に用意されています。
仕様 XML ファイルをアップロードして処理するには、エクスポートコマンドでオプション -s または --objectType を使用します。オプション -s または --objectType は、wt.properties でプロパティ com.ptc.windchill.bac.features.enabled を 2666518 に設定している場合にのみ使用できます。このように設定していない場合、仕様ファイルをアップロードしようとしても却下されてエラーが返ります。このオプションは選択的モードと同期化モードの両方で使用できます。
オブジェクトのアイデンティティ属性をフィルタ基準として使用するだけでなく、仕様ファイル内で GlobalContainerCriteria タグを使用することで、コンテナレベルでオブジェクトをフィルタすることもできます。詳細については、このトピックのグローバルコンテナ基準のセクションを参照してください。
システム内の各オブジェクトタイプでは特定のフィルタ基準だけがサポートされています。仕様ファイルを作成する際には、指定した基準がそのオブジェクトタイプに有効であることを確認してください。たとえば、ポリシーアクセス制御規則の場合、フィルタ基準で名前はサポートされていません。このため、ポリシーアクセス制御規則を名前に基づいてエクスポートすることはできません。同様に、プロフィールのフィルタ基準でライフサイクル状態やタイプ ID はサポートされていません。以降のセクションでは、Business Administrative Change プロモーションの仕様ファイルを作成する際に各オブジェクトタイプに使用可能な各種エレメントについて詳しく説明します。
仕様ファイル内のエレメント、サブエレメント、属性に指定されている文字列値では大文字と小文字が区別されます。
プロフィール
仕様ファイルを使用して、特定の組織コンテナ内またはエクスチェンジコンテナ内のプロフィールをプロフィールの名前に基づいてフィルタできます。このセクションでは、選択的モードのシステムでプロフィールによってオブジェクトをフィルタする際に使用可能な XML エレメントについて説明します。プロフィールスキーマには次のエレメントが含まれています。
エレメント | 説明 |
ExchangeContainer | サイトレベルで作成されたプロフィールをフィルタするにはこのエレメントを使用します。 仕様 XML ファイルではこのタグのインスタンスを 1 つだけ使用できます。 |
Organization | 組織の名前を指定します。例: PTC |
name | プロフィールの名前を指定します。例: Profile1 |
ExchangeContainer 内または組織 PTC 内の Profile1 という名前のすべてのプロフィールを選択するための仕様 XML ファイルを次のように作成できます。
<?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 ファイルではこのタグのインスタンスを 1 つだけ使用できます。 |
AppContainer | - | type | アプリケーションコンテナのタイプを指定します。有効な値は Project、Product、Library です。 これは AppContainer の必須の属性です。 |
- | name | アプリケーションコンテナの名前を指定します。 これは AppContainer の必須の属性です。 |
- | orgName | アプリケーションコンテナ内の組織の名前を指定します。例: PTC これは AppContainer の必須の属性です。 |
Organization | - | name | 組織の名前を指定します。例: PTC |
name | - | - | OIR の名前を指定します。例: TestUser |
objectType | - | - | オブジェクトの内部名を指定します。例: wt.doc.WTDocumentオブジェクトの内部名は「タイプおよび属性の管理」ユーティリティで確認できます。 |
PTC 組織内の、オブジェクトタイプが WTDocument である、OIR-part-org、OIR-doc-org、および OIR-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 ファイルではこのタグのインスタンスを 1 つだけ使用できます。 |
AppContainer | - | type | アプリケーションコンテナのタイプを指定します。有効な値は Project、Product、Library です。 |
- | name | アプリケーションコンテナの名前を指定します。 |
- | orgName | 組織の名前を指定します。例: PTC |
Organization | - | name | 組織コンテナの名前を指定します。例: PTC |
User | - | - | ユーザーのプリファレンスインスタンスをフィルタしてエクスポートするときに使用する、Windchill のユーザー、つまり WTUser の名前、ufid、または電子メール ID を指定します。仕様ファイル内の WTUser の下に、フィルタ基準としてこれらの値を 1 つ以上指定する必要があります。 |
excludeInstances | | | excludeInstances は、プリファレンスをフィルタする際にプリファレンスインスタンスを除外するかどうかを指定するときに使用します。 excludeInstances のみを使用した場合、フィルタの際にすべてのプリファレンスインスタンスが除外されます。さらに細かくフィルタするには、サブエレメント instanceType および visibility をフィルタ基準として使用します。 |
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 はいずれか 1 つのみを指定できます。
次に示す仕様ファイルの例では Test Organization の下の GOLF_CART アプリケーションコンテナから、Intro という名前のプリファレンス定義をフィルタしてエクスポートしています。この仕様ファイルでは、AAA という名前のプリファレンスの記録を Windchill という名前のプリファレンスクライアントと DEMO という名前のプリファレンスクライアントからエクスポートし、User および Container インスタンスで非表示になっているプリファレンスのフィルタを除外するというフィルタ基準も指定されています。
<?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 の一時ディレクトリ内のデフォルトの場所 ${wt.temp}/bac に保存されます。 |
このコマンドを実行すると、CSV レポートが生成されて指定した場所に保存されます。CSV レポートでは、オブジェクトタイプ、内部名、表示名についての情報が、このコマンドで指定したロケールで提供されます。
ポリシーアクセス制御規則
選択的モードのシステム用のポリシーアクセス制御規則スキーマに含まれているエレメントを以下に示します。
プリンシパル属性に基づいたポリシーアクセス制御規則のフィルタは選択的モードのシステムでのみ行えます。プリンシパルエレメントをコンテナ、ドメイン、または属性のみと組み合わせてフィルタを設定できます。
同期化モードのシステムでポリシーアクセス制御規則の仕様ファイルを作成する場合は、オブジェクトタイプのみを指定します。その他のフィルタ基準はサポートされていません。
エレメント | サブエレメント | 属性 | 説明 |
Organization | name | - | 組織の名前を指定します。例: PTC |
ExchangeContainer | - | - | サイトレベルで作成されたポリシーアクセス制御規則をフィルタするにはこのエレメントを使用します。 仕様 XML ファイルではこのタグのインスタンスを 1 つだけ使用できます。 |
AppContainer | - | type | アプリケーションコンテナのタイプを指定します。有効な値は Project、Product、Library です。 これは AppContainer の必須の属性です。 |
- | name | アプリケーションコンテナの名前を指定します。 これは AppContainer の必須の属性です。 |
- | orgName | 組織の名前を指定します。例: PTC これは AppContainer の必須の属性です。 |
OrganizationDomains | name | - | 組織の名前を指定します。例: PTC これは OrganizationDomains の必須の属性です。 |
path | - | 定義されているオブジェクト用の管理ドメインのファイルパスまたはフォルダ場所を指定します。 これは OrganizationDomains の必須の属性です。 |
ExchangeContainerDomains | domain | path | 定義されているオブジェクト用の管理ドメインを指定します。 |
AppContainerDomains | - | type | アプリケーションコンテナのタイプを指定します。有効な値は Project、Product、Library です。 これは AppContainerDomains の必須の属性です。 |
- | name | アプリケーションコンテナの名前を指定します。 これは AppContainerDomains の必須の属性です。 |
- | orgName | 組織の名前を指定します。例: PTC これは AppContainerDomains の必須の属性です。 |
domain | path | 定義されているオブジェクト用の管理ドメインを指定します。 これは AppContainerDomains の必須の属性です。 |
Principal | - | - | プリンシパルまたは参加者を指定します。各種サブエレメントとその属性の詳細については、このトピックのプリンシパルのセクションを参照してください。 |
typeid | - | - | WTPart や WTDocument など、オブジェクトのタイプ識別子を指定します。例: WCTYPE|com.ptc.windchill.bac.delivery.BACReceivedDelivery |
state | - | - | オブジェクトタイプのライフサイクル状態を大文字で指定します。 |
allExceptPrincipal | - | - | プリンシパルオブジェクトを収集するかどうかを指定します。有効な値は true および false です。 |
タイプ ID が WTPart で、ライフサイクル状態が APPROVED に設定され、allExceptPrincipal が 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_CART、Test_Lib、Test_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 エレメントについて説明します。特定の組織コンテナ、アプリケーションコンテナ、またはエクスチェンジコンテナのライフサイクルテンプレートを、ライフサイクルテンプレート名に基づいてフィルタできます。
ライフサイクルテンプレートの仕様ファイルを作成する際は、以下のガイドラインを考慮してください。
• システムドメインのみに存在するライフサイクルテンプレートを適用できます。
• ライフサイクルテンプレートの最新の作業版数のみを適用できます。これは、ライフサイクルテンプレートの作業版数の数がソースシステムとターゲットシステムで異なっている場合も同様です。
• 削除操作がターゲットシステム上のライフサイクルテンプレートの最新の作業版数に適用される場合は、この操作によって、マスターも自動的に削除されます。これは、エクスポートされたソースシステム上のライフサイクルテンプレートの最新の作業版数が、ターゲットシステム上に存在する唯一の作業版数である場合も同様です。
• ライフサイクルテンプレートの削除操作を適用できるのは、同期モードのシステムで、一致するデータベースマッピングおよびローカル ID 情報が見つかった場合のみです。選択的モードのシステムでは、一致するデータベースマッピングが見つかることが要件になります。
• ライフサイクルテンプレートの中間作業版数を削除する操作はサポートされていません。交換モードに関しては、データベースマッピングまたはローカル ID 情報のどちらかが一致する最新の作業版数のみが削除されます。
• エクスポートプロセスの進行中、ライフサイクルテンプレートの作業版数がソースシステムで削除されると、作業版数の削除済み情報とともに、ソースシステム内の使用可能な最新の作業版数がターゲットシステムに適用されます。これにより、ターゲットシステム上で使用している最新の作業版数を同期化することが容易になります。
• 削除操作を適用するためにビジネスアイデンティティに基づいてライフサイクルテンプレートをフィルタする操作はサポートされていません。
• ほかのオブジェクトによって使用されているライフサイクルテンプレートを削除する操作はサポートされていません。
選択的モードのシステムのライフサイクルテンプレートスキーマには、以下のエレメントが含まれています。
エレメント | サブエレメント | 属性 | 説明 |
Name | - | - | ライフサイクルテンプレートの名前を指定します。 |
ExchangeContainer | - | - | サイトレベルで作成されたライフサイクルテンプレートをフィルタするには、このエレメントを使用します。 仕様 XML ファイルではこのタグのインスタンスを 1 つだけ使用できます。 |
AppContainer | - | type | アプリケーションコンテナのタイプを指定します。有効な値は Project、Product、Library です。 これは 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 エレメントについて説明します。特定の組織コンテナ、アプリケーションコンテナ、またはエクスチェンジコンテナのワークフロープロセステンプレートを、ライフサイクルテンプレート名に基づいてフィルタできます。
ワークフロープロセステンプレートの仕様ファイルを作成する際は、以下のガイドラインを考慮してください。
• システムドメインのみに存在するワークフロープロセステンプレートを適用できます。
• ワークフロープロセステンプレートの最新の作業版数のみを適用できます。これは、ワークフロープロセステンプレートの作業版数の数がソースシステムとターゲットシステムで異なっている場合も同様です。
• 削除操作がターゲットシステム上のワークフロープロセステンプレートの最新作業版数に適用される場合は、この操作によって、マスターも自動的に削除されます。これは、エクスポートされたソースシステム上のワークフロープロセステンプレートの最新作業版数が、ターゲットシステム上に存在する唯一の作業版数である場合も同様です。
• ワークフロープロセステンプレートの削除操作を適用できるのは、同期モードのシステムで、一致するデータベースマッピングおよびローカル ID 情報が見つかった場合のみです。選択的モードのシステムでは、一致するデータベースマッピングが見つかることが要件になります。
• ワークフロープロセステンプレートの中間作業版数を削除する操作はサポートされていません。交換モードに関しては、データベースマッピングまたはローカル ID 情報のどちらかが一致する最新の作業版数のみが削除されます。
• エクスポートプロセスの進行中、ワークフロープロセステンプレートの作業版数がソースシステムで削除されると、作業版数の削除済み情報とともに、ソースシステム内の使用可能な最新の作業版数がターゲットシステムに適用されます。これにより、ターゲットシステム上で使用している最新の作業版数を同期化することが容易になります。
• 削除操作を適用するためにビジネスアイデンティティに基づいてワークフロープロセステンプレートをフィルタする操作はサポートされていません。
• ほかのオブジェクトによって使用されているワークフロープロセステンプレートを削除する操作はサポートされていません。
• 外部化されたワークフロープロセステンプレートを交換する操作はサポートされていません。
選択的モードのシステムのワークフロープロセステンプレートスキーマには、次のエレメントが含まれています。
エレメント | サブエレメント | 属性 | 説明 |
Name | - | - | ワークフロープロセステンプレートの名前を指定します。 |
ExchangeContainer | - | - | サイトレベルで作成されたワークフロープロセステンプレートをフィルタするには、このエレメントを使用します。 仕様 XML ファイルではこのタグのインスタンスを 1 つだけ使用できます。 |
AppContainer | - | type | アプリケーションコンテナのタイプを指定します。有効な値は Project、Product、Library です。 これは 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>
Demo Organization で Submit と命名されているすべてのワークフロープロセステンプレートをフィルタおよびエクスポートする仕様ファイルのサンプルを次に示します。
<?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>
Review および Submit と命名されているすべてのワークフロープロセステンプレートをフィルタおよびエクスポートする仕様ファイルのサンプルを次に示します。
<?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 |
属性テンプレートのフィルタとエクスポートに使用される仕様ファイルのサンプルを以下に示します。
プリンシパル
プリンシパルの 1 つのエレメントを使用するか、複数のエレメントを組み合わせて仕様ファイルを作成できます。仕様ファイルでプリンシパルのすべてのエレメントを使用する場合、スキーマ内のエレメントは次の図に示す順序でなければなりません。
プリンシパルのスキーマには次のエレメントが含まれています。
• 役割プリンシパル
コンテキストチームと共有チームのチームメンバーに割り当てられた役割を対象に作成されたシステムグループ、およびコンテキストチームにメンバーが存在する組織を表すアプリケーションコンテキストで作成されたシステムグループを表します。
このエレメントでは、Windchill の役割、つまり WTRoleprincipal のグループ名、グループタイプ、コンテナ (エクスチェンジコンテナまたは組織コンテナ) がサポートされています。WTRolePrincipal にエクスチェンジコンテナまたは組織を指定する必要があります。
WTRoleprincipal スキーマには次のエレメントが含まれています。
エレメント | サブエレメント | 属性 | 説明 |
groupname | | | 内部グループの名前として APPROVER を指定します。 |
grouptype | | | この内部グループが属するグループのタイプとして DynamicRole を指定します。 |
ExchangeContainer | - | - | サイトレベルで作成されたシステムグループをフィルタするにはこのエレメントを使用します。 仕様 XML ファイルではこのタグのインスタンスを 1 つだけ使用できます。 |
Organization | - | name | 組織の名前を指定します。例: PTC |
PTC 組織から RolePrincipal に基づいてすべてのポリシーアクセス制御規則をフィルタしてエクスポートする仕様ファイルのサンプルを次に示します。
<?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 ファイルではこのタグのインスタンスを 1 つだけ使用できます。 |
ufid | - | name | オブジェクトの Unique Federation Identifier (UFID) を指定します。このパラメータの有効なフォーマットは次のとおりです: <ufid_文字列>|<ldap リポジトリ>|<ldap リポジトリ> |
PTC 組織の Administrator グループ、エクスチェンジコンテナ、および特定の 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 ファイルではこのタグのインスタンスを 1 つだけ使用できます。 |
Organization | - | name | 組織の名前を指定します。例: PTC |
AppContainer | - | type | アプリケーションコンテナのタイプを指定します。有効な値は Project、Product、Library です。 これは 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 の下に、フィルタ基準としてこれらのエレメントを 1 つ以上指定する必要があります。
WTUser スキーマには次のエレメントが含まれています。
エレメント | 説明 |
name | ユーザーの名前を指定します。例: TestUser |
emailid | ユーザーの電子メール ID を指定します。例: testuser@ptc.com |
ufid | オブジェクトの Unique Federation Identifier (UFID) を指定します。このパラメータの有効なフォーマットは次のとおりです: <ufid_文字列>|<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 を指定します。仕様ファイルで 1 つ以上のエレメントが指定されている必要があります。仕様ファイル内の WTOrganization の下に、フィルタ基準として以下のエレメントを 1 つ以上指定する必要があります。
WTOrganization スキーマには次のエレメントが含まれています。
エレメント | 説明 |
name | 組織の名前を指定します。例: PTC |
ufid | オブジェクトの Unique Federation Identifier (UFID) を指定します。このパラメータの有効なフォーマットは次のとおりです: <ufid_文字列>|<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 | この属性には ALL または OWNER を指定します。ここで、 • ALL は Windchill によって使用される疑似役割であり、すべての参加者を表します。 • OWNER は Windchill によって使用される疑似役割であり、オブジェクトオーナーを表します。 |
疑似役割が ALL または OWNER として設定されているすべてのポリシーアクセス制御規則をフィルタしてエクスポートする仕様ファイルのサンプルを次に示します。
<?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>
グローバルコンテナ基準
仕様ファイルで指定されているすべてのオブジェクトタイプにグローバルフィルタ基準として共通のコンテナを指定するには、GlobalContainerCriteria を使用します。GlobalContainerCriteria で指定したコンテナが、仕様ファイル内のすべてのオブジェクトタイプに追加で適用されます。仕様ファイルでの GlobalContainerCriteria を使用したレコードのインポートとエクスポートは、選択的モードのシステムでのみサポートされています。
たとえば、GlobalContainerCriteria 内の PTC 組織とエクスチェンジコンテナからすべてのプロフィールをフィルタしてエクスポートするには、PTC と ExchangeContainer からすべてのプロフィールレコードが取得されます。このサンプル 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 ルートタグの直下の第 1 レベルに置きます。
• このエレメントは仕様ファイル内のオブジェクトタグと同じレベルに置きます。
• このエレメントでは次のコンテナがサポートされています。
◦ エクスチェンジコンテナ
◦ 組織コンテナ
◦ アプリケーションコンテナ
• GlobalContainerCriteria で指定したコンテナがそのオブジェクトタイプに有効であるかどうかをチェックしてください。
• 詳細なサーチを行うには、管理オブジェクト内で有効なコンテナを指定します。たとえば、ポリシーアクセス制御規則の場合はアプリケーションコンテナを指定します。
| GlobalContainerCriteria を使用してプロフィールにアプリケーションコンテナまたはドメインを指定することはできません。 |
• オブジェクトエレメント内の子エレメントとしてドメインを使用することはサポートされていません。たとえば、ポリシーアクセス制御規則にアプリケーションコンテナの下のドメインを指定することはできません。
エクスチェンジコンテナ内のすべてのプロフィールと、PTC 組織の下の Drive System アプリケーションコンテナ内のポリシーアクセス制御規則をフィルタしてエクスポートする仕様ファイルのサンプルを次に示します。
<?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>