カスタマイズポイント
uic エレメント
roleaccessprefs.xml の各 UIC は、制御対象の UI コンポーネントまたは操作を表しています。
パラメータ
デフォルト値
有効な値
必須
説明
name
該当なし
文字列
Y
UI コンポーネントの名前。これは、actions.xml 中の操作エレメントの uicomponent (または名前)の属性の値と適合する必要があります。また、リソースバンドル中のリソースエントリの constant 値とも一致する必要があります。
順序
?
負でない整数
N
この UI コンポーネントのウィザードでの位置。より小さな番号の UI コンポーネントは、より大きな番号の UI コンポーネントの前に配置されます。
使用可能
true
true | false
N
この UI コンポーネントがウィザードに表示され、システムによって使用される必要があるかどうか。
DefaultAll
true
true | false
N
すべてのメンバーに対する表示のデフォルト値。
DefaultManager
true
true | false
N
プロジェクトマネージャに対する表示のデフォルト値。
アクセス許可は、すべての役割にわたるすべてのアクセス許可の和集合です。defaultManager を false に設定する場合は、defaultAll も false に設定する必要があります。このように設定しない場合、マネージャが ALL_MEMBERS 役割を使用して引き続きアクセスできる状態になります。
DefaultGuest
true
true | false
N
ゲスト役割のユーザーに対する表示のデフォルト値。
ゲストは厳密にはプロジェクトのメンバーではありません。ゲストは ALL_MEMBERS 役割に含まれません。
ManagerEnabled
true
true | false
N
この uicomponent がマネージャ役割に影響を与えるかどうか。定義済みの UIC でこの値を変更しないでください。カスタマイズされた UIC では、独自の設定を選択できます。
GuestEnabled
true
true | false
N
この uicomponent がゲスト役割に影響を与えるかどうか。定義済みの UIC でこの値を変更しないでください。カスタマイズされた UIC では、独自の設定を選択できます。
RunClass
Java クラス名
N
runMethod が存在するクラス。
runMethod
Java メソッド名
N
UIAccess の変更時に実行されるメソッド。
この UI コンポーネントに関連付けられている UIAccess エレメントが更新される際に実行されるメソッドの名前を表しています。
このメソッドのひな型は以下のようになります。
void foo(WTPrincipal principal, WTContainer container, boolean isRender)
渡されるプリンシパルは、操作対象のグループまたは個人です。ブール isRender は UIAccess の更新値です。
表示管理に使用できるカスタマイズ済みタブの作成
表示管理に使用できるカスタマイズ済み操作の作成は、使用可能なデフォルトの操作を作成する際の手順と基本的に同じです。ただし、タブはコンテナ管理者 (役割ベース表示の設定) によって管理できません。そのため、サイト管理者および組織管理者が表示プロフィールの設定に使用できるカスタマイズ済みタブを作成することだけが可能です。つまり、タブの <uic> エレメントを roleaccessprefs.xml の <グローバル> セクションにのみ追加できるということです。たとえば、カスタマイズ済みタブをすでに作成しており、関連する <マイタブ>actions.xml ファイルがあると仮定します。次のように、プロフィールベースの表示管理のリストにタブを追加できます。
1. roleaccessprefs.xml の <global> セクションの下に、新しい uic エレメントを一意の名前 (CUSTOMIZED_TAB など) で追加します。
<uic name="CUSTOMIZED_TAB" order="190" enabled="true"
defaultAll="true"/>
2. actions.xml の適切な操作を UI コンポーネントに関連付けます:
<action name="list2" uicomponent="CUSTOMIZED_TAB">
<command windowType="page"/>
</action>
3. uic 名と同じ constant 値を持つ新しいエントリを roleAccessResource.java に追加します。この値はプロファイル操作 UI に表示されます。更新した Java ファイルをコンパイルします。
@RBEntry("View Customized Tab ")
public static final String PROJECT_CREATE_FOLDERS =
"CUSTOMIZED_TAB ";
4. サーブレットエンジンおよび MethodServer を再起動します。
複数の操作への uicomponent の割当
1 つの UI コンポーネントを複数の操作に関連付ける場合は、同じ値を使用して各操作の uicomponent 属性を指定する必要があります。たとえば、ソリューションの「手順 - 表示管理に使用できる操作の作成」で説明されている手順を実行すると、folder_create 操作に関連付けられている PROJECT_CREATE_FOLDERS という UI コンポーネントが作成されます。actions.xml でその操作に対する uicomponent 属性を次のように指定することによって、list_create_folder 操作を同じ UI コンポーネントに割り当てることができます。
<action name="list_create_folder"
uicomponent="PROJECT_CREATE_FOLDERS" ajax="row">
結果として、「役割の操作を設定」ページと「新規プロフィール」ページの "Create Folders" エントリは、folder_create 操作と list_create_folder 操作の両方の表示に影響を及ぼします。
UI コンポーネントのラベルの変更
「役割の操作を設定」ページと「新規プロフィール」ページの UI コンポーネントに使用されるラベルは、その UI コンポーネントに対してほかの変更を行うことなく変更できます。roleAccessResource.java ファイルの関連リソースエントリ値を変更して、バンドルを再生成するだけです。次に例を示します。
@RBEntry("Create Folders - My New Label ")
public static final String PROJECT_CREATE_FOLDERS =
"PROJECT_CREATE_FOLDERS ";
アクセス制御の更新 (上級役割ベース UI)
役割ベース UI を使用して、ユーザーアクセス許可を拡張することができます。実際のアクセス制御 (アドホック形式またはポリシーアクセス制御リストで) の更新に、または潜在的にはほかの用途に、役割ベース UI を使用できます。
コンフィギュレーションファイルの uic で、クラスとメソッドの組み合わせを指定することによって実行できます。このメソッドは、関連付けられている UI コンポーネントが更新されると呼び出されます。たとえば、役割ベース UI の機能の一部に、「チームを修正」アクセス許可を拡張する機能が含まれています。コンフィギュレーションファイルの uic エレメントに、呼び出すクラスとメソッドを識別する 2 つの追加属性が含まれています。
<uic name="PROJECT_MODIFY_TEAM" order="30" enabled="true"
defaultAll="false"
defaultManager="true" defaultGuest="false"
managerEnabled="false" guestEnabled="false"
runClass="com.ptc.netmarkets.roleAccess.StandardNmRoleAccessService"
runMethod="modifyTeamPermissions"/>
runClass の唯一の制約は、MethodServer からアクセス可能である必要があることです。runMethod="myRunMethod" であるとすると、myRunMethod は次に示す署名にする必要があります。
public static void myRunMethod(WTPrincipal principal, WTContainer
container, boolean isRender)
throws WTException
渡されるプリンシパルは、操作対象のグループまたは個人です。ブール isRender は、UIAccess テーブルにあるフィールドがプリンシパルで渡されるように設定された値です。
これは役に立ちましたか?