基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > 操作の追加と UI への組み込み > 役割ベース表示のカスタマイズ > ソリューション
  
ソリューション
roleaccessprefs.xml ファイル (および必要な関連ファイル) を修正します。
前提となる知識
この目的を達成するには、次のことを理解している必要があります。
Windchill でのユーザー役割の動作
Windchill でのアドホックアクセス制御ポリシーの管理
Windchill クライアントアーキテクチャでの操作フレームワーク
Windchill クライアントアーキテクチャでのナビゲーションフレームワーク
XML ファイルのカスタマイズの管理
リソースファイルカスタマイズの管理
ソリューションエレメント
エレメント
タイプ
説明
*actions.xml
XML
操作とほかの UI コンポーネントが定義されているファイル。操作にはオプションで uicomponent 値が指定されます。Actions.xml はその他の *actions.xml ファイルとともに <Windchill>/codebase/config/actions にあります。
Roleaccessprefs.xml
XML
デフォルト表示を UI コンポーネントに割り当てるためのファイル。このファイルでアイテムを設定すると、そのアイテムをサイトまたはコンテナに対して非表示にできます。コンテナマネージャでデフォルト値をオーバーライドできるかどうかも、ここで変更できます。<Windchill>/codebase にあります。
RoleAccessResource.java
java
操作または UI コンポーネントに対して Uis で提供するラベルを定義します。<Windchill>/src/com/ptc/netmar kets/roleAccess/ にあります。
actions.xml (および、すべての *actions.xml ファイル) では、uicomponent 属性値が操作に対して割り当てられる場合があります。uicomponent 属性では、roleaccessprefs.xml ファイルおよび roleAccessResource.java ファイルから参照できる UI コンポーネントの名前を指定します。複数の操作で同じ uicomponent 値を使用できます。これにより、複数の操作を 1 つの UI コンポーネントとして管理できます。操作に uicomponent 属性がない場合は、代わりに name 属性を使用して、それを UI コンポーネントとして参照できます。ただし、この場合、その操作をほかの操作とともに 1 つの UI コンポーネントにグループ化することはできません。
roleaccessprefs.xml ファイルは、Windchill ユーザーインタフェースの主要なタブに対応する複数のエレメント (またはセクション) を含む <uics> エレメントから構成されています。たとえば、<プロジェクト> セクションは「プロジェクト」タブに対応します。各セクションには 0 個以上の <uic> 要素が含まれており、各要素はそのタブ内での表示を管理可能な UI コンポーネントを表しています。<uic> エレメントの name 属性で指定された各 UI コンポーネントは、1 つまたは複数のセクションに表示できます。これにより、UI コンポーネントのデフォルト表示設定を、別々のタブに個別に割り当てることができます。
roleaccessprefs.xml ファイルは、プロファイル (サイトレベルと組織レベル) および役割 (コンテナレベル) の両方に基づいた表示管理用の UI コンポーネントリストに適用されます。ただし、<グローバル> セクションは、プロファイルを使用する表示管理にのみ適用されます。UI コンポーネントが特定のタブに関係しない場合 (Windchill UI ヘッダの「サーチ」リンクの場合など)、または UI コンポーネントが第 1 レベルのタブ自体である場合、その UI コンポーネントは roleaccessprefs.xml の <グローバル> セクションにリストされる必要があります。
UI コンポーネントごとに、UI コンポーネントのわかりやすいラベルを提供するエントリが roleAccessResource.java にある必要があります。これらのラベルは、表示の設定時に管理者に提示されるリストの UI コンポーネントに使用されます。このファイルでは、リソースエントリの constant 値によって UI コンポーネントが識別されます。UI コンポーネントは、操作定義の uicomponent 属性か、操作に uicomponent 属性がない場合は name 属性に一致する必要があります。リソースエントリの value 値では、わかりやすいラベルを指定します。
* 
UI コンポーネントのラベルは動詞句である必要があります。操作名または UI コンポーネント名が動詞句でない場合、先頭に 'View' を付けます。たとえば、"View Team Page" のようにします。
手順 - 表示管理に使用できる操作の作成
この例では、「プロジェクト」「プログラム」「製品」、および「ライブラリ」タブでの「フォルダの作成」操作の表示を管理する権限を管理者に提供します。
* 
この例では、「フォルダの作成」操作が役割ベースの表示管理にまだ使用できないことを前提とします。実際の製品では、デフォルトで使用できます。
1. roleaccessprefs.xml 内の <プロジェクト>、<プログラム>、<製品>、および <ライブラリ> の各セクションの下に、新しい <uic> を追加します。
<uic name="PROJECT_CREATE_FOLDERS" order="00" enabled="true"
defaultAll="true" defaultManager="true" defaultGuest="false"
managerEnabled="true" guestEnabled="false"/>
属性の説明については、カスタマイズポイントの uic エレメントに関するセクションを参照してください。
* 
複数のタブタイプに有効な操作については、影響を与えるすべてのセクションの下にエントリを追加してください。
2. 操作の表示名に使用する新しいリソースエントリを roleAccessResource.java に追加します:
@RBEntry("Create Folders")
public static final String PROJECT_CREATE_FOLDERS =
"PROJECT_CREATE_FOLDERS";
Windchill シェルからバンドルを再コンパイルします:
javac -d codebase -encoding UTF8
src/com/ptc/netmarkets/roleAccess/roleAccessResource*.java
3. <Windchill>/codebase/config/actions/actions.xml で、属性 uicomponent="PROJECT_CREATE_FOLDERS" を追加して、「フォルダを作成」操作を修正します。
<action name=" folder_create" checkaccess="true"
uicomponent="PROJECT_CREATE_FOLDERS">
* 
XML ファイルをカスタマイズするときは、ベストプラクティスに従って XML ファイルをバックアップしてください。
4. サーブレットエンジンおよびメソッドサーバーを再起動します。
上記のステップ 1 から 3 は、順不同で実行できます。"PROJECT_CREATE_FOLDERS" は、uic 名、リソースエントリの constant 値 (引用符なし)、および操作の uicomponent 属性として使用されることに注意してください。カスタマイズした動作を互いに関連付けるには、これら 3 つのアイテムすべてが同じ値を共有する必要があります。
この手順が完了すると、管理者は、サイトレベルまたは組織レベルで定義されたプロファイルプロフィールおよびコンテナレベルの役割に基づいて、「プロジェクト」「プログラム」「製品」、および「ライブラリ」タブでの「フォルダの作成」操作の表示を設定できるようになります。