Sun ONE Portal Server 6.2 管理者ガイド |
第 5 章
ディスプレイプロファイルの管理この章では、SunONE Portal Server のディスプレイプロファイルコンポーネントとそのコンポーネントの管理方法について説明します。
この章で説明する内容は次のとおりです。
ディスプレイプロファイルの概要ここでは Sun ONE Portal Server のディスプレイプロファイルコンポーネントについて説明します。
ディスプレイプロファイルは、次の 3 つの項目を定義してデスクトップの表示設定を作成します。
- プロバイダ定義 : プロバイダの名前と JavaTM クラスを指定する。プロバイダは、コンテンツの生成に使用されるテンプレートで、チャネルに表示される。詳細は、「プロバイダオブジェクト」を参照
- チャネル定義 : プロバイダクラスのインスタンスの実行時設定を指定する。チャネルはコンテンツの単位で、通常は (必ずしもそうとは限らないが) 行と列で編成される。またチャネル内にチャネルを持つことができる。すなわちそれはコンテナチャネルである
- プロバイダとチャネルのプロパティ定義 : プロバイダとチャネルのプロパティに値を指定する。プロバイダに定義されたプロパティは、通常はプロバイダから導出されたチャネルにデフォルトの値を指定する。チャネルの表示設定には、タイトル、説明、チャネル幅などのプロパティが含まれる。チャネルに定義されるプロパティは、そのチャネルに通常はデフォルトの値と異なる値を指定する
コンテナプロパティは、コンテナ内に含まれるチャネルの表示方法に関する表示定義を定義します。これには、コンテナのレイアウト (狭い - 広い、広い - 狭い、または狭い - 広い - 狭い)、コンテナ内のチャネルのリスト、チャネルの位置 (行と列の番号)、およびコンテナ内のチャネルのウィンドウ状態 (最小または切り離し) が含まれます。
ポータルデスクトップは SunTM ONE Directory Server Access Management Edition サービスのトップでディスプレイプロファイルデータ保管メカニズムを実装し、コンテンツプロバイダとチャネルデータを保存します。さらに、チャネルとプロバイダについてプロパティが設定されます。
ユーザーのディスプレイプロファイルは、コンテナ管理とチャネルのプロパティを記述する一連の XML ドキュメントです (1 つのディスプレイプロファイルドキュメントが 1 つの XML ドキュメントと同等です)。ディスプレイプロファイルドキュメントは、Sun ONE Identity Server サービス層の 1 つの属性としてその全体の中に格納されます。すなわち、ディスプレイプロファイルドキュメントは SunTM ONE Directory Server のインスタンスに常駐する LDAP 属性です。
ディスプレイプロファイルプロパティ値を変更する場合、プロバイダはプロバイダ API (PAPI) を使用して値を取得および設定します。チャネル値がディスプレイプロファイルに設定されると、PAPI 内部実装は Sun ONE Identity Server SDK を使用して Sun ONE Identity Server デスクトップサービス属性にディスプレイプロファイルドキュメントを設定します。
ディスプレイプロファイルと管理コンソール
ディスプレイプロファイルとその他のポータルデスクトップサービスのデータは、Sun ONE Identity Server 管理コンソールと dpadmin コマンドによって編集できます。ディスプレイプロファイルを編集する場合、プロバイダ、コンテナ、およびチャネルを追加、修正、削除し、プロパティを編集します。「XML のアップロード」と「XML のダウンロード」リンクを使用して、ディスプレイプロファイルドキュメントをアップロードおよびダウンロードします。また、Sun ONE Identity Server 管理コンソールは、チャネルとコンテナを追加し、既存のプロパティを編集するための「チャネルおよびコンテナの管理」リンクを「ポータルデスクトップ」属性ページに表示します。チャネルまたはコンテナが新規作成された場合、「チャネルおよびコンテナの管理」リンクを使用してプロパティを定義します。また「チャネルおよびコンテナの管理」リンクは、チャネルとコンテナの追加、修正、削除にも使用できます。詳細は、「ディスプレイプロファイルの管理」を参照してください。
注
「チャネルおよびコンテナの管理」リンクを使用した場合、ディスプレイ プロファイルの一部にだけアクセスできるので、委任された管理者がこの リンクを使用すると想定されます。委任された管理者を設定する方法につ いては、第 3 章「管理の委任の設定」を参照してください。
ディスプレイプロファイルドキュメントの構造
ここではディスプレイプロファイルドキュメントの全体的な構造について説明します。ディスプレイプロファイルドキュメントの基本となるデータ形式は XML です。ディスプレイプロファイル DTD 構文については、付録 B 「XML リファレンス」を参照してください。
ディスプレイプロファイル形式で、プロバイダとチャネルオブジェクト、およびそのプロパティが定義され、デスクトップの表示設定が決定されます。ディスプレイプロファイルは Sun ONE Directory Server の isp レベル (または最上位ディレクトリノード)、組織レベル、ロールレベル、ユーザーレベルで保存されます。実行時にユーザーのディスプレイプロファイルは、ディレクトリツリー内のユーザー固有のプロファイルからディスプレイプロファイルドキュメントをすべて「マージ」したものであり、そのユーザーに関する特定のディスプレイプロファイルオブジェクトの値は、ディスプレイプロファイルの「マージ」動作により決定されます。
ディスプレイプロファイルオブジェクトは、オブジェクトを定義する XML タグに直接マッピングされます。たとえば、<Channel name> </Channel> XML タグはチャネルオブジェクトを定義します。
一般に、ディスプレイプロファイルのドキュメント構造は、次のようになります。
<DisplayProfile>
<Properties>...global properties...</Properties>
<Channels>...channel definitions...</Channels>
<Providers>...provider definitions...</Providers>
</DisplayProfile>
<Properties>、<Channels>、および <Providers> はグループ化を実行するためのメカニズムです。これらのメカニズムは XML ディスプレイプロファイルドキュメントを詳細に構造化し、オブジェクトなどは各「バッグ」内に格納されます。「バッグ」については、「ディスプレイプロファイルオブジェクトの集約」を参照してください。
次の節からはディスプレイプロファイルオブジェクトをより詳細に説明します。
ディスプレイプロファイルルートオブジェクト
ディスプレイプロファイルルートコンテナオブジェクトでは、デスクトップサーブレットはコンテナプロバイダとして機能し、プロバイダのハンドルの取得などを行います。チャネルと関連付けられる実際のプロバイダクラスは存在しません。このチャネルは他のディスプレイプロファイルオブジェクトから参照されることはありません。
ディスプレイプロファイルルートオブジェクトの XML 構文
<Container name="_desktopRoot" provider="none">
<Properties/>
<Available />
<Selected />
<Channels/>
</Container>
プロバイダオブジェクト
プロバイダオブジェクトは、チャネルレンダリングの実行時に実行されるソフトウェアエンティティです (このようにチャネルは実行時にはプロバイダのインスタンスとなります)。<Provider> ディスプレイプロファイル定義は、ディスプレイプロファイルチャネルを定義するためのテンプレートです。プロバイダ Java オブジェクトのクラス名とすべての必須プロパティのデフォルト値を設定します。
<Provider> ディスプレイプロファイル定義には、ディスプレイプロファイルのクライアントが JavaTM・クラス名などの provider オブジェクトを構築するために必要な情報が収められています。
<Provider> ディスプレイプロファイル定義は、このプロバイダを示すすべてのチャネルに対して、デフォルトのプロパティ値を設定します。チャネル固有のプロパティが必要になるのは、プロバイダのデフォルトを上書きする必要がある場合のみです。プロバイダディスプレイプロファイルオブジェクトには、プロバイダ Java オブジェクトで使用されるすべてのプロパティに対するデフォルトの値を格納する必要があります。たとえば、プロバイダ Java コードには次の値が格納されます。
getStringProperty("color")
チャネルオブジェクト
channel オブジェクトは単一の表示要素を表します。channel オブジェクトに含まれるオブジェクトは、チャネルのプロパティと考えることができます。<Channel name> 定義には、プロバイダへのシンボル参照が含まれます。また、チャネル固有のプロパティを定義して、プロバイダ定義で定義されるデフォルトの値を上書きすることができます。チャネル名は、ディスプレイプロファイルドキュメント内の同じチャネルレベルでは一意である必要がありますが、チャネルレベルが異なれば、同じ名前を定義できます。
チャネルオブジェクトの XML 構文の例
コンテナオブジェクト
container オブジェクトは channel オブジェクトに似ていますが、container オブジェクトはコンテンツを生成しません。すなわち、コンテナは他のチャネルから内容を取得するチャネルです。container オブジェクトを使用すると、チャネルリストの使用と選択が可能になり、子チャネル定義を格納することができます。子チャネルは、一般にページ上で他のチャネルと集約されて、独自の内容を生成します。コンテナチャネルは、主に、1 つまたは複数の子チャネルの内容を集約してその内容を生成します。
コンテナオブジェクトの XML 構文の例
<Container name="TemplateTableContainer"provider="TemplateTableContainerProvider">
<Properties>
<String name="title" value="Template Based Table Container"/>
<String name="description"
value="This is the channel for the front provider"/>
<Collection name="channelsColumn" advanced="true">
<String name="SampleJSP" value="2"/>
<String name="SampleXML" value="2"/>
<String name="Notes" value="2"/>
</Collection>
<Collection name="channelsRow" advanced="true">
<String name="MailCheck" value="3"/>
<String name="SampleRSS" value="2"/>
<String name="SampleXML" value="2"/>
<String name="App" value="5"/>
<String name="SampleSimpleWebService" value="6"/>
<String name="Bookmark" value="4"/>
<String name="Notes" value="3"/>
</Collection>
<Collection name="channelsIsRemovable">
<Boolean name="UserInfo" value="false"/>
</Collection>
</Properties>
<Available>
<Reference value="UserInfo"/>
<Reference value="MailCheck"/>
<Reference value="SampleRSS"/>
<Reference value="SampleJSP"/>
<Reference value="SampleXML"/>
<Reference value="App"/>
<Reference value="SampleSimpleWebService"/>
<Reference value="Bookmark"/>
<Reference value="Notes"/>
</Available>
<Selected>
<Reference value="UserInfo"/>
<Reference value="MailCheck"/>
<Reference value="SampleRSS"/>
<Reference value="SampleJSP"/>
<Reference value="SampleXML"/>
<Reference value="App"/>
<Reference value="SampleSimpleWebService"/>
<Reference value="Bookmark"/>
<Reference value="Notes"/>
</Selected>
<Channels>
</Channels>
</Container>
ディスプレイプロファイルオブジェクトの集約root、provider、および channel オブジェクトには、プロパティを関連付けることができます。ディスプレイプロファイルは、プロパティ「バッグ」内のプロパティをグループ化します。バッグという用語は、プロパティを保持する目的だけに使用されることを意味します。プロパティにプロパティバッグが関連付けられることはありません。プロパティの定義については、『Sun ONE Portal Server 6.1 Desktop Customization Guide』を参照してください。
チャネル、プロバイダ、およびルートレベルのプロパティバッグは、異なるセマンティクスを持ちます。グローバルプロパティは、すべてのチャネルで共有されます。グローバルプロパティとして定義されるプロパティは、ここではどのチャネルからでもアクセスできます。テーマはグローバルプロパティの一例です。テーマデータはグローバルに定義されるため、すべてのチャネル間で共有されます。
プロバイダで定義されるプロパティは、そのプロパイダに基づくチャネルのデフォルトです。プロパティがチャネルで定義されていない場合、デフォルトが使用されます。これはプロバイダがプロバイダ Java オブジェクトで使用されるプロパティをすべて定義する必要があることを示しています。この場合、Java コードの内容は次のようになります。
String f = getStringProperty("color");
ディスプレイプロファイル内の対応する <Provider name> 定義では、次のように定義する必要があります。
<String name="color" ... />
注
グローバルプロパティを、すべてのチャネルのデフォルトとして使用しな いでください。ディスプレイプロファイルプロバイダ定義は、プロバイダ 定義を使用する provider オブジェクトが使用するプロパティインタ フェースを定義します。
チャネルプロパティは、プロバイダ定義のデフォルトを上書きしてチャネルをカスタマイズします。たとえば、URLScaperProvider は url プロパティを定義します。デフォルトは、通常はチャネルによって値が上書きされるため意味を持ちません。
ディスプレイプロファイルオブジェクトの検索実行時に、システムは直接プロバイダにプロパティを照会しません。この要求は常にチャネルに対して行われます。Java provider オブジェクトがプロパティを要求する場合、プロパティが見つかるか、格納階層の最上位に到達するまで次の順序でディスプレイプロファイルを検索します。
このようにチャネルがプロパティの名前を照会すると、上記のすべてに該当するプロパティが取得されます。
provider オブジェクトに存在するプロパティは、チャネルに対してデフォルト値の動作を持つように意図されています。たとえば、プロパティ title を定義するプロバイダ xml について、プロバイダ xml から導出されるすべてのチャネルは title プロパティを継承します。チャネルがこのプロパティを上書きする場合、その独自のプロパティ内で値を設定できます。
ディスプレイプロファイルのプロパティここでは、ディスプレイプロファイルプロパティとそれらを指定する方法について説明します。
ディスプレイプロファイルのプロパティのタイプ
ディスプレイプロファイルプロパティのタイプは次のとおりです。
不可分なプロパティ値は、本文コンテンツとしても指定できます。例 :
<String name=吐oogt;bar</String>
<Integer name=殿Numbergt;1</Integer>
<Boolean name=吐laggt;false</Boolean>
ドキュメントタイプの定義要素の属性
ポータルデスクトップ DTD は、ディスプレイプロファイルとそのプロパティの使用を制御できる要素属性を定義します。表 5-1 は、ドキュメントタイプの定義要素の属性を示しています。この表には、最初の列に属性、2 番目の列に簡単な説明、3 番目の列に例が示されます。
表 5-1 ディスプレイプロファイルの属性
属性
定義
例
advanced
true に設定した場合、Sun ONE Identity Server 管理コンソールの 「チャネルおよびコンテナの管理」 リンクでディスプレイプロファイ ルプロパティを「非表示」にする。 ただし、「XMLの編集」リンクまた は「XMLのダウンロード」リンク を使用する場合は、プロパティは 非表示にならない
advanced 属性は、値に true ま たは false をとることができる ブール型の属性である。デフォル ト値は false
<String name="refreshTime" value="0" advanced="true"/>
lock
優先順位の低いドキュメントに よって、優先順位の高いドキュメ ントがマージ操作でディスプ レイ プロファイルの特定の機能を変更 できないようにする。ディスプレ イプロファイルオブジェクトが ロックされると、優先順位の低い ドキュメントによるマージ操作の 影響を受けなくなる
lock 属性は、値に true または false をとることができるブール 型の属性である。デフォルト値は false
<Selected merge="fuse">
...
<Reference value="EmployeeNews" lock="true"/>
...
</Selected>
merge
異なる LDAP ノード (基本 DN、 DN、ロール DN) のディスプレイプ ロファイルドキュメントをマージ して単一の表現 (すなわちポータル デスクトップ) を形成する場合に、 プロパティの結合方法を制御する
許可される値は replace、 remove、および fuse。デフォル ト値は fuse
不可分なプロパティ (boolean int、 stringv ref) では fuse は無効である
replace、remove、fuse の例については、 「ディスプレイプロファイルのマージタ イプ」を参照
priority
ディスプレイプロファイルドキュ メントの優先順位を設定する。 ディスプレイプロファイルドキュ メントは、低い優先順位から高い 優先順位の順にマージされる。低 い数値は低い優先順位を表す。た とえば、1 は 2 よりも優先順位が低 くなる
マージ動作により、優先順位が高 いドキュメントの値は、優先順位 が低いドキュメントの値に優先し て適用される (ただし、優先順位の 低いドキュメントがオブジェクト のマージをロックしている場合を 除く)
許可される値は、整数と、キー ワード user である。user は最高 の優先順位であり、ユーザーレベ ルのディスプレイプロファイルド キュメントだけに設定するべきで ある
<DisplayProfile version="1.0" priority="10">
propagate
プロパティがローカル以外に読み 出され、ローカルに設定される場 合の、プロパティの処理方法を制 御する。ブール型、コレクション、 整数、文字列、および参照を含む すべてのディスプレイプロファイ ルプロパティは、propagate 属性 に設定できる
propagate 属性は、値に true ま たは false をとることができる ブール型の属性である。デフォル ト値は true
<String name="color" value="blue" propagate="false"/>
ディスプレイプロファイル XML では、属性のデフォルト値を変更しない限り、次の属性は XML ファイルにリストされず、管理コンソールにも表示されません。
<advanced="false" lock="false" merge="fuse" propagate="true">
デフォルト値がリセットされると、デフォルト値が変更された属性だけが XML ファイルにインクルードされ、管理コンソールに表示されます。デフォルトプロパティはプロバイダから継承されます。デフォルトプロパティが編集されている場合は、カスタマイズされたプロパティとして表示されます。
ディスプレイプロファイルのプロパティの指定
ディスプレイプロファイルプロパティを指定する場合は、プロパティを「ネスト」する方法、コレクションに名前のないプロパティを使用する方法、条件付きプロパティを使用する方法、およびプロパティを伝達する方法を考慮する必要があります。
入れ子のプロパティ
ディスプレイプロファイルには任意の深さまで入れ子にしたプロパティ (プロパティ内のプロパティ) を格納することができます。これによって、文字列のコレクションのコレクションのコレクションや、文字列とコレクションのコレクションなどを作成することができます。たとえば、次に示すのはコレクションのコレクションです。
<Collection name="people">
<Collection name="john">
<Integer name="age" value="31"/>
<String name="eyes" value="hazel"/>
</Collection>
<Collection name="bob">
<Integer name="age" value="35"/>
<String name="eyes" value="blue"/>
</Collection>
... etc ...
</Collection>
名前を付けられていないプロパティ
次のような不可分のプロパティのタイプ (ブール型、整数、文字列) は名前が付けられていない場合があります。
<String value="apple"/>
これは次の値に等しくなります。
<String name=殿pplevalue=殿pple>
つまり、不可分なプロパティが名前を持たない場合、名前はプロパティの文字列値となります。
テーブルではなくコレクションを使用して順序付けられたセット (リストに近い) を表わすことができるので、実用上はコレクション内だけで便利に使用できます。たとえば、次のコレクションは郵便番号のリストを表わします。
<Collection name="zipcodes">
<Integer value="95112"/>
<Integer value="95054"/>
<Integer value="98036"/>
</Collection>
名前の付けられていないプロパティを使用する場合、テーブル (name=value) またはリストをコレクションで表すことができる点が重要です。
注
名前の付けられていないプロパティを、同じコレクション内の別の名前の ないプロパティと同じ値で作成しないでください。プロパティは作成され ますが、名前が重複しているため、プロバイダは値にアクセスすることが できません。
また、Sun ONE Portal Server は名前のないブール型プロパティも同等に同 じ名前を持つプロパティとして処理するため、同じコレクション内で名前 が重複するプロパティを間違って作成してしまう場合があります。この場 合も、最終的に他の同じ名前を持つプロパティにアクセスできなくなりま す。
条件付きプロパティ
これは、条件付きプロパティを取得するための汎用処理を提供します。最も一般的な条件は、locale と client ですが、任意の条件にプロパティを定義することができます。詳細は、『Sun ONE Portal Server 6.1 Desktop Customization Guide』を参照してください。
たとえば、ロケールフィルタの実装は、次のように定義します。
public class LocalePropertiesFilter extends PropertiesFilter
{public LocaleProperties() {
super();
}
String getCondition()
return "locale";
}
public boolean match(ProviderContext pc, String condition, String value) {
return condition.toLowerCase().equals("locale") &&
getValue().equals(value);
}
}
条件付きプロパティの検索には、1 つまたは複数のプロパティフィルタが関連します。フィルタリスト内のフィルタが必要な場合は、条件付き検索全体とそのフィルタが一致すれば検索は正常に行われます。フィルタを必要としない場合は、一致しなくても全体的な検索は失敗しません。
必須以外のフィルタの連鎖を使用して、具体性が低いフィルタ検索を段階的に実装することで、Java リソースバンドル検索と似た操作を実行できます。たとえば、ロケール検索の後に日付検索を行う場合は、オプションフィルタが便利です。{locale=en, locale=US, date=03/03/2003} というフィルタがある場合、フィルタの仕様と完全に一致するわけではありませんが、修飾子 {locale=en; date=03/03/2003} でプロパティと一致させることができます。これは、ロケールフィルタをオプションとして設定することで行われます。
管理コンソールでは、条件付きプロパティは condition-value として表示され、コレクションと同様に編集できます。条件付きプロパティは、入れ子にすることができ、チャネルまたは別の条件付きプロパティに追加することができます。新しい条件付きプロパティを追加するときは、「新規プロパティ」ページを使用します。
<ConditionalProperties> タグ
フィルタリング条件を定義するときは、<ConditionalProperties> タグを使用する必要があります。このタグには、次の必須属性が含まれます。
ディスプレイプロファイルでは、コード例 5-1 で説明する方法で <ConditionalProperties> タグを定義できます。
コード例 5-1 <ConditionalProperties> タグの使用例
<Properties>
<String name="foo" value="bar">
<ConditionalProperties condition="locale" value="de">
<String name="foo" value="german bar">
<String name="baz" value="a german baz value">
</ConditionalProperties>
<ConditionalProperties condition="client" value="nokia">
<ConditionalProperties condition="locale" value="de">
<String name="foo" value="nokia german bar">
</ConditionalProperties>
</ConditionalProperties>
</Properties>
ディスプレイプロファイルのプロパティの伝達
ブール型、コレクション、整数、文字列、および参照を含むすべてのディスプレイプロファイルプロパティには、propagate 属性のマークを付けることができます。propagate 属性は、値に true または false をとることができるブール型の属性です (デフォルトは true)。propagate 属性は、プロパティがローカル以外に読み出され、ローカルに設定される場合の、プロパティの処理方法を制御します。
たとえば、チャネルのプロパティセットは、次のすべてに該当するプロパティから構成されます。
チャネルがプロパティ値を要求すると、値はこれらの「リモート」の場所のいずれかから読み出されます。プロパティ値が設定されている場合、プロパティ値を格納する場所は 2 つのオプションから選択できます。
propagate 属性は場所を制御します。propagate 属性を true に設定すると、プロパティはプロパティを設定するオブジェクトのローカルに保存されます (ほとんどの場合はチャネル)。propagate 属性を false に設定すると、プロパティは所定の位置 (読み出された場所) に設定されます。すなわち、false に設定された場合、既存の値は変更されますが、true に設定された場合、新規プロパティがローカルに作成されて保存されます (すでにローカルになっている場合を除く)。
次の ディスプレイプロファイル XML コード例を考えてみます。
<DisplayProfile>
<Properties>
<String name="color" value="blue"/>
</Properties>
...
<Channel name="testchannel" provider="..."/>
<Properties/>
</Channel>
...
</DisplayProfile>
プロパティ color はグローバルプロパティバッグに存在します。propagate は設定されていないため (またデフォルトは true であるため)、チャネル testchannel でプロパティ color が設定されると、次のような結果になります。
<DisplayProfile>
<Properties>
<String name="color" value="blue"/>
</Properties>
...
<Channel name="testchannel" provider="..."/>
<Properties/>
<String name="color" value="new value"/>
</Channel>
...
</DisplayProfile>
プロパティは、これを設定したローカルオブジェクト (チャネル) に伝達されます。一方、グローバルプロパティバッグなどで propagate が false に設定されていると、次のようになります。
<String name="colorvalue="blue" propagate="false"/>
チャネル testchannel の設定プロパティ color の結果は次のようになります。
<DisplayProfile>
<Properties propagate="false">
<String name="color" value="new value"/>
</Properties>
...
<Channel name="testchannel" provider="..."/>
<Properties/>
</Channel>
...
</DisplayProfile>
個々のプロパティの他に、プロパティバッグにも次のように propagate 属性を指定できます。
プロパティが propagate=false と見なされる場合、以下は真である必要があります。
その他の場合は、propagate は true と見なされます。
最上位のプロパティにのみ propagate 属性を表記することができます。ディスプレイプロファイル DTD ではこのような表記が可能ですが、ディスプレイプロファイルコードはこれを無視します。最上位のプロパティは、プロパティバッグ内に直接定義されます。
ディスプレイプロファイルドキュメントの優先順位
実行時に、ユーザーがログインすると、システムはユーザーのディスプレイプロファイルドキュメントセットを構成するドキュメントセットを決定します。デスクトップにおけるディスプレイプロファイルの内部実装 (ディスプレイプロファイルを解釈する部分) では、ユーザーが所属する LDAP ノードすべてを検索して、このドキュメントセットを決定します。これには、組織 DN (o=sesta.com)、サブ組織、ロール DN (cn=Role1,o=sesta.com)、uid (uid=jtb,ou=People,cn=Role1,0=sesta.com)、およびグローバルディスプレイプロファイルが含まれます。これらの LDAP ノードとグローバルディスプレイプロファイルのそれぞれのディスプレイプロファイルドキュメントが読み込まれ (ドキュメントが存在する場合)、すべてのドキュメントが 1 つにまとめられます。システムはドキュメントの優先順位に従って、このセットをソートします。低い数値は低い優先順位を表します。たとえば、1 は 2 よりも優先順位が低くなります。ドキュメントは低い数値から高い数値の順にソートされます。このプロセスについての詳細は、「マージプロセスの仕組み」を参照してください。
ユーザーレベルドキュメント (uid=jtb,ou=People,...) はベースドキュメントと呼ばれる特殊な例です。ベースドキュメントは優先順位が無限大であると考えてください。したがって常に最高位の数値 (および最高の優先順位) になります。すべてのマージ結果は、ソート順でベースドキュメントと関連付けられ、ユーザードキュメントの優先順位の設定は常に最高位になります。<DisplayProfile> タグで使用される priority 属性は特殊なキーワード user を使用して、現在のディスプレイプロファイルがユーザーレベルのディスプレイプロファイルであることを示します。
マージは、もっとも優先順位の低いドキュメント (もっとも低い数値) から開始され、ユーザー (ベース) ドキュメントに達するまで、優先順位の数値を増加させながら処理されます。
ディスプレイプロファイルドキュメントの優先順位が実際に意味するのは、重要なのは優先順位の数値であることです。たとえば、組織レベルのドキュメントの優先順位をロールレベルのドキュメントよりも高くできますが、必ずしもそのようにする必要はありません。優先順位の設定は、自分のサイトでこのようなドキュメントをどのような優先順位に設定する必要があるかによります。
ディスプレイプロファイルドキュメントの優先順位は、XML ファイルに <DisplayProfile priority= syntax> タグを使用して指定します。優先順位は Sun ONE Identity Server 管理コンソールまたは dpadmin コマンドを使用して直接ディスプレイプロファイル XML を編集し、ディスプレイプロファイルをロードして変更します。dpadmin コマンドについては、第 14 章「コマンドラインユーティリティ」を参照してください。
ドキュメントの優先順位の例 1
次の例では 2 つのディスプレイプロファイルを使用しています。1 つは組織の acme、もう一つは uid の bill に使用します。Bill (uid=bill) がデスクトップにログインすると、ブックマークチャネル「Bill's Bookmarks」が次の 3 つのブックマーク (次の順序で) と共に表示されます。
- ACME
- Amazon
- EBay
display profile @ o=acme.com
<DisplayProfile version="1.0" priority="10">
...
<Channel name="Bookmark" provider="BookmarkProvider" merge="fuse">
<Properties>
<String name="title" value="My Bookmarks" merge="replace" lock="false" propagate="true"/>
<String name="refreshTime" value="600" merge="replace" lock="false" propagate="true"/>
<Collection name="targets" merge="fuse" lock="false" propagate="true">
<String value="ACME home page|http://www.acme.com" merge="replace" lock="false" propagate="true"/>
</Collection>
</Properties>
</Channel>
...
</DisplayProfile>
dp @ uid=bill,ou=people,o=acme.com
<DisplayProfile version="1.0" priority="1">
...
<Channel name="Bookmark" provider="BookmarkProvider" merge="fuse">
<Properties>
<String name="title" value="Bill's Bookmarks" merge="replace" lock="false" propagate="true"/>
<Collection name="targets" merge="fuse" lock="false" propagate="true">
<String value="Amazon|http://www.amazon.com" merge="replace" lock="false" propagate="true"/>
<String value="EBay|http://www.ebay.com" merge="replace" lock="false" propagate="true"/>
</Collection>
</Properties>
</Channel>
...
</DisplayProfile>
ドキュメントの優先順位の例 2
次の例では、グローバルディスプレイプロファイル、組織 acme のディスプレイプロファイル、およびロール hradmin のディスプレイプロファイルという 3 つのディスプレイプロファイルを使用します。hradmin ロールに割り当てられたユーザーがデスクトップにログインすると、TemplateTableContainer が次のチャネルとともに表示されます。
- UserInfo
- MailCheck
- SampleSimpleWebService
dp @ global:
<DisplayProfile version="1.0" priority="0">
...
<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">
<Properties>
...
</Properties>
<Available>
...
</Available>
<Selected merge="fuse" lock="false">
<Reference value="UserInfo"/>
</Selected>
<Channels/>
</Container>
...
</DisplayProfile>
dp @ o=acme.com:
<DisplayProfile version="1.0" priority="10">
...
<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">
<Properties>
...
</Properties>
<Available>
...
</Available>
<Selected merge="replace" lock="false">
<Reference value="Bookmark"/>
<Reference value="Notes"/>
</Selected>
<Channels/>
</Container>
...
</DisplayProfile>
dp @ cn=hradmin,o=acme.com:
<DisplayProfile version="1.0" priority="5">
...
<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">
<Properties>
...
</Properties>
<Available>
<Selected merge="fuse" lock="true">
<Reference value="MailCheck"/>
<Reference value="SampleSimpleWebService"/>
</Selected>
<Channels/>
</Container>
...
</DisplayProfile>
ディスプレイプロファイルドキュメントの優先順位設定の要約
ディスプレイプロファイルドキュメントの優先順位は、定義要因にマージ順序を考慮するか、ロック機能を考慮するかによって低くなったり高くなったりします。
ロックを考慮しない場合、低い数値のディスプレイプロファイルドキュメントは優先順位が低くなります。低い数値のディスプレイプロファイルドキュメントは最初にマージされるので、優先順位が低いドキュメントの値は優先順位が高いドキュメントの値で上書きされてしまいます。低い数値のドキュメントは優先順位が低くなります。
ただし、高い数値のドキュメントによる影響を受けないように、低い数値のディスプレイプロファイルドキュメントはオブジェクトをロックできます。この場合、低い数値のドキュメントは優先順位が高くなります。
ディスプレイプロファイルのマージ動作ディスプレイプロファイルは、XML ドキュメント階層から構成されます。Sun ONE Portal Server はユーザー用のディスプレイプロファイルドキュメント、ユーザーが所属する各ロール、およびユーザーの組織やサブ組織を格納できます。実行時に、システムはこれらの複数のディスプレイプロファイルドキュメントをマージして、特定のポータルデスクトップをユーザーに配信します。このディスプレイプロファイルドキュメントのマージプロセスは、チャネル、プロバイダ、プロパティ定義を変更する可能性があるため、最終的なディスプレイプロファイルに影響します。
ディスプレイプロファイルデータ形式には、これらのドキュメントの結合方法を定義する構文が収められています。この定義は、一般にマージ動作として知られています。
マージ動作は、異なる LDAP ノード (基本 DN、DN、ロール DN) のディスプレイプロファイルドキュメントをマージして単一の表現 (すなわちデスクトップ) を形成する場合に、属性の結合方法を制御します。マージ動作はディスプレイプロファイルドキュメントの順序付けを想定しています。Sun ONE Identity Server は、ロールの階層構造には対応していません。このため、ユーザーのロール構造は平坦です。すべてのロールは同位です。このため、Sun ONE Portal Server は Sun ONE Identity Server のロールに対して、階層構造をシミュレートするように追加の順序付けを行います。
ユーザーのディスプレイプロファイルドキュメントセットは、以下のドキュメントから構成されます。ユーザーの LDAP 組織およびサブ組織ノードに存在するドキュメント、ユーザーの各ロールノードに存在するドキュメント、ユーザーのエントリノードに存在するドキュメント。これらのノードのそれぞれにドキュメントを定義する必要はありませんが、ノードには少なくとも 1 つのドキュメントが定義されている必要があります。ドキュメントセットは、ディスプレイプロファイルドキュメントが定義する優先順位の値に従って格納されます。詳細は、「ディスプレイプロファイルドキュメントの優先順位」を参照してください。
ディスプレイプロファイルドキュメントが順に積み重ねられるドキュメントのマージプロセスは、視覚化することができます。マージは名前の付いたチャネル、プロバイダ、プロパティなどが重なり合う場所で起こります。マージはディスプレイプロファイルドキュメントで定義される XML 構造ではなく、ディスプレイプロファイルオブジェクトの名前に基づきます。名前の付いたチャネルなどは、マージされるディスプレイプロファイルの格納階層内の異なるコンテナに存在できます。
マージプロセスの仕組み
ユーザーが Sun ONE Portal Server にログインし、認証が行われた後、システムは次の方法でユーザーのディスプレイプロファイルを判断します。
- グローバルディスプレイプロファイル、およびユーザーが所属する組織、サブ組織、ロール、ユーザーの LDAP ノードを検索し、そのユーザーのすべてのディスプレイプロファイルドキュメントを探します。
- 検索したディスプレイプロファイルドキュメントを一時領域に配置し、それをバッグとして視覚的に表示します。
- 優先順位に基づいてバッグのディスプレイプロファイルドキュメントを最下位から順にソートします。(ドキュメントを検索するノードは優先順のソートに影響しません。また、ユーザーのディスプレイプロファイルドキュメントは常に最上位の順序になります。)
- 最下位から順にバッグからドキュメントを取り出し、そのドキュメントの上に 1 つ上の順位のドキュメントを置き、マージとロック動作を適用します。
- すべてのドキュメントがバッグから取り出されるまで手順 4 を繰り返し、ドキュメント内で見つかったすべてのオブジェクトのマージに等しい値がシステムからユーザーに返されるようにします。
ディスプレイプロファイルのマージタイプ
ディスプレイプロファイルは次の 3 種類のマージを使用して、ディスプレイプロファイルドキュメントの結合方式を決定します。
- replace : 優先順位の高いドキュメントで定義されたすべてのディスプレイプロファイルオブジェクトが低い順位のドキュメントで定義されたオブジェクトを完全に上書きする。優先順位の低いドキュメントにオブジェクトが存在しない場合、オブジェクトはマージ結果に追加される (マージ結果の値はオブジェクトによって置き換えられる)
- remove : 名前が付けられたオブジェクトは、このポイントまでマージ結果から削除される (マージ結果からオブジェクトが削除される)。これは、ディスプレイプロファイルに存在しなくなる (ただし、マージされる別のドキュメントによって持ち込まれる可能性はある)。これは、優先順位の高いドキュメントで再定義できる
- fuse : 優先順位が低いドキュメントからのオブジェクトと、優先順位が高いドキュメントからのオブジェクトが組み合わされる (オブジェクトは、マージ結果の値とマージされる)
チャネルとプロバイダについては、fuse は特別な意味を持ちます。チャネルそのものは、実際には融合されません。その代わりに、fuse はチャネルまたはプロバイダのプロパティを結合する必要があることを指示します。replace 動作は、すべてのプロパティを含むチャネルまたはプロバイダ全体を置換します。remove 動作は、そのポイントまでチャネルまたはプロバイダ全体をマージから削除します。
ディスプレイプロファイル <DisplayProfile> root ノードもマージ動作を持つことができます。replace 動作は、優先順位の高いドキュメントで定義されたすべての DP オブジェクトにより、優先順位の低いドキュメントで定義されたオブジェクトを完全に上書きすることを意味します。そのポイントまでのすべてのマージは無効になり、順位の高いドキュメントがマージの新しい基準として使用されます。remove 動作は、そのドキュメントのポイントまでのすべてのマージ結果が破棄されることを示します。マージはソートされたディスプレイプロファイルドキュメントセットの次のドキュメントから開始されます。チャネルおよびプロバイダと同様に、fuse 動作はセット内のオブジェクト (チャネルとプロバイダ) を結合する必要があることを意味します。
不可分のディスプレイプロファイルプロパティ (他のプロパティを格納できないプロパティ) は、fuse 動作を使用できません。これには文字列、整数、ブール型、参照の各プロパティが含まれます。
チャネルのプロパティセットは、チャネルのプロパティとチャネルのプロバイダのプロパティ、およびチャネルの親のプロパティなどから構成されます。プロパティ全体は、チャネルの単一のドキュメントプロパティと考えることができます。ドキュメントのマージとは、あるドキュメントの全プロパティセットが、チャネルの各ドキュメントのプロパティを結合したものから構成され、それらのプロパティはユーザーのマージセットのすべてのドキュメントで使用されていることを意味します。
remove の例 : remove マージによるコンテナの選択チャネルリストの修正
次の例は、すべてのユーザーのマージセットが、次のディスプレイプロファイルコード例を持つ組織レベルのドキュメントからどのように構成されるかを示します。
<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">
<Properties> ...</Properties>
<Available> ...</Available>
<Selected merge="fuse">
<Reference value="UnixTipoftheDay"/>
</Selected>
</Container>
「unix tip of the day」は、UNIX の使い方を説明しています。管理ロールに所属するユーザーは、このチャネルがあまり有効ではないことに気が付いているようです。管理ロールを持つすべてのユーザーからこのチャネルを削除するために、次のように管理ロールドキュメントで TemplateTableContainer チャネルを定義します。
admin role
<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">
<Properties> ...</Properties>
<Available> ...</Available>
<Selected merge="fuse">
<Reference value="Outages"/>
<Reference value="SolarisAdmin"/>
<Reference value="AdminTipoftheDay"/>
<Reference value="UnixTipoftheDay" merge="remove"/>
</Selected>
</Container>
上記のサンプルでは Reference value="UnixTipoftheDay" は管理ロールディスプレイプロファイルから削除されます。
replace の例 : replace マージによるすべてのユーザーの表示からのチャネルの削除
次の例は、特定のコンテナについて、ロール管理が組織レベルで定義されたすべてのチャネルを無効にする方法を示しています。組織定義は次のようになります。
organization display profile
<Container name=...>
...
...
<Selected>
<Reference name="X"/>
<Reference name="Y"/>
<Reference name="Z"/>
</Selected>
</Container>
ロール管理者はそのロールが割り当てられたどのユーザーにも X、Y、Z チャネルを使用させたくないため、コンテナを次のように定義します。
admin role
<Container name=...>
...
...
<Selected merge="replace">
<Reference name="A"/>
<Reference name="B"/>
<Reference name="C"/>
</Selected>
</Container>
ロールドキュメントのコンテナで選択されたリストは、組織のドキュメントのコンテナで選択されたリストと置換されます。
fuse の例 : fuse マージによるロールベースのチャネルリストの作成
通常は fuse マージ動作を使用して、不可分でないディスプレイプロファイルオブジェクトを結合します。これらのオブジェクトには collection と使用可能なチャネルリストまたは選択されたチャネルリストが含まれます。ここでは、fuse は不可分でないプロパティに格納されたすべてのプロパティもマージする必要があることを示しています。このように fuse を使用することで、ユーザーに最終的に表示される不可分でないプロパティを、さまざまなドキュメントから構築することができます。
次の例のディスプレイプロファイルドキュメントは、管理、従業員、および movieFreak ロールに所属するユーザーに使用されます。最後に、ユーザーに選択されたチャネルが表示されます。
admin role
<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">
<Properties> ...</Properties>
<Available> ...</Available>
<Selected merge="fuse">
<Reference value="Outages"/>
<Reference value="SolarisAdmin"/>
<Reference value="AdminTipoftheDay"/>
</Selected>
</Container>
employee role
<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">
<Properties> ...</Properties>
<Available> ...</Available>
<Selected merge="fuse">
<Reference value="Benefits"/>
<Reference value="EmployeeNews"/>
</Selected>
</Container>
movieFreak role
<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">
<Properties> ...</Properties>
<Available> ...</Available>
<Selected merge="fuse">
<Reference value="NewMoviesReleases"/>
<Reference value="MovieShowTimes"/>
</Selected>
</Container>
ユーザーに選択されたチャネルの最終的なリストは次に示すとおりです。使用可能なチャネルリストは、マージの適用順序と同様に、優先順位が低いものから高いものの順に並べられます。
<Container name="TemplateTableContainer" provider="TemplateTableContainerProvider" merge="fuse">
<Properties> ...</Properties>
<Available> ...</Available>
<Selected merge="fuse">
<Reference value="Outages"/>
<Reference value="SolarisAdmin"/>
<Reference value="AdminTipoftheDay"/>
<Reference value="Benefits"/>
<Reference value="EmployeeNews"/>
<Reference value="NewMoviesReleases"/>
<Reference value="MovieShowTimes"/>
</Selected>
</Container>
マージロック
マージ可能なすべてのディスプレイプロファイルオブジェクトは、ロックすることもできます。オブジェクトをロックすると、そのオブジェクトは優先順位が高いドキュメントのマージ動作の影響を受けなくなります。これにより、優先順位の低いドキュメントでは、特定のディスプレイプロファイルが、優先順位の高いドキュメントのマージ動作によって変更されることを防ぐことができます。
マージロックの例 : lock マージによるすべてのユーザーに対するプロパティ値の強制
次の例は、特定の組織のすべてのユーザーに「employee news」チャネルを表示する方法を示しています。ユーザーはこのチャネルを表示から削除できません。組織レベルのドキュメントで、コンテナのチャネルで選択されるリストは次のように定義されます。
マージロックの例 : lock マージによるすべてのユーザー表示からのチャネルの強制削除
次の例は、「online games」チャネルを強制的に削除する方法を示しています。このシナリオでは、ユーザーが各ユーザードキュメントの選択したチャネルリストにこのチャネルを追加していた場合、組織レベルのドキュメントの選択したチャネルリストからチャネルを削除するだけでは機能しません。従業員と組織のリストを統合すると、「online games」チャネルが表示されます。組織内のすべてのユーザーからチャネルを強制的に削除するには、選択したチャネルリストを次のように定義します。
<Selected merge="fuse">
...
<Reference value="OnlineGames" merge="remove" lock="true"/>
...
</Selected>
remove 動作はマージされた結果からチャネルを削除し、lock は優先順位の低いドキュメントの値がマージされるのを防ぎます。
ディスプレイプロファイルと Sun ONE Identity Serverユーザーのディスプレイプロファイルドキュメントセットは、以下のドキュメントから構成されます。
これらのノードのそれぞれにドキュメントを定義する必要はありませんが、ノードには少なくとも 1 つのドキュメントが定義されている必要があります。ドキュメントセットは、ディスプレイプロファイルドキュメントが定義する優先順位の値に従ってソートされます。詳細は、「ディスプレイプロファイルドキュメントの優先順位」を参照してください。マージ動作は、異なるノードのディスプレイプロファイルドキュメントをマージして単一の表示またはデスクトップを形成する場合に、属性を結合する方式を制御します。詳細は、「ディスプレイプロファイルのマージ動作」を参照してください。
管理者は Sun ONE Identity Server 管理コンソールを使用してディスプレイプロファイルを編集できます。Sun ONE Identity Server 管理コンソールでは、ディスプレイプロファイルが表示されないように、委任された管理者を設定することができます。この設定は、デスクトップサービステンプレートを作成する場合に行います。デスクトップサービスのテンプレートを作成するときに、「ポータルデスクトップサービスの属性を表示」ボックスにチェックマークを付けなければ、委任された管理者にディスプレイプロファイルテキストは表示されません。
ヒント
組織の管理者は、ポータルデスクトップサービスを通じて特定のロールと 関連付けられたコンテナ (またはコンテナ階層) を定義できます。この場 合、委任された管理者 (ロール管理者) は、「ポータルデスクトップ」属性 ページの「チャネルおよびコンテナ管理」リンクを通じて、このコンテナ 内に必要なチャネルとコンテナを定義できます。詳細は、「チャネルおよび コンテナ管理リンクを使用したチャネルの管理」を参照してください。
ディスプレイプロファイルの管理ディスプレイプロファイルと、その他のポータルデスクトップサービスのデータは、Sun ONE Identity Server 管理コンソールと dpadmin コマンドを利用して編集します。ディスプレイプロファイルを編集するときは、ディスプレイプロファイルのプロバイダ、コンテナ、およびチャネルを追加、修正、削除し、プロパティを編集します。
また、Sun ONE Identity Server 管理コンソールは、チャネルを追加し、既存のプロパティを編集するための「チャネルおよびコンテナの管理」リンクをポータルデスクトップ属性ページに表示します。このリンクを使用すると、チャネルを新規に作成したときに、プロパティを修正することもできます。
注
「チャネルおよびコンテナの管理」リンクは委任された管理者に合わせて 調整され、管理者がコンテナおよびチャネルの属性をこのリンクで追加お よび修正できます。システム全体の管理者は、委任された管理者が使用で きるコンテナおよびプロパイダを追加することに対して責任を持つ必要が あります。
表 5-2 は、ディスプレイプロファイルの各タイプと、Sun ONE Identity Server 管理コンソールを使用してそれを管理する方法を示しています。この 3 列の表では、最初の列はディスプレイプロファイルのタイプ、2 番目の列は Sun ONE Identity Server を使用してそのディスプレイプロファイルにアクセスする方法、3 番目の列は簡単な説明を示します。
表 5-2 ディスプレイプロファイルドキュメントのタイプ
ディスプレイプロファイルドキュメントのタイプ
Sun ONE Identity Server 管理コンソールを使用して表示する方法
説明
グローバルディスプレ イプロファイルドキュ メント
「サービス設定」を選択する。 「ポータルデスクトップ」の隣に あるプロパティの矢印をクリッ クする。「デスクトップグローバ ル属性」セクションで、「XML の編集」をクリックする
システムのすべてのユーザーに継承される ディスプレイプロファイル要素を、所属す る組織やロールとは関係なく定義する (現 在は実施していなくとも、全員が使用する 共通プロバイダを定義するために、ディス プレイプロファイルの XML ドキュメント を表示する必要が発生することもある)
ダイナミックディスプ レイプロファイルド キュメント
「サービス設定」を選択する。 「ポータルデスクトップ」の隣に あるプロパティの矢印をクリッ クする。「デスクトップダイナ ミック属性」セクションで、 「XML の編集」をクリックする
コンテナ管理とチャネルのプロパティを説 明する。このディスプレイプロファイルは、 実行時にユーザーのデスクトップの生成に は使用されないが、新規に作成された各組 織およびロールのデフォルトになる。デ フォルトでは、ダイナミックディスプレイ プロファイルドキュメントは空白である。 ダイナミックディスプレイプロファイルを 使用するには、まずそれを実装する必要が ある
組織、サブ組織、また はロールのディスプレ イプロファイル
「ユーザー設定」を選択する。適 切な組織、サブ組織を選択し、 必要に応じて「表示」メニュー から「ロール」を選択する。「表 示」メニューから「サービス」 を選択する。「ポータルデスク トップ」の隣にあるプロパティ の矢印をクリックする。デスク トップページで、「XML の編集」 をクリックする
選択した組織、サブ組織、またはロールの ディスプレイプロファイルを表示する。組 織、サブ組織、ロールを新規作成した場合 は、このエンティティのテンプレートを作 成する。デスクトップサービスにテンプ レートを作成する場合は、初期のディスプ レイプロファイルは上記に述べたダイナ ミックディスプレイプロファイルドキュメ ントに設定される。このため、ダイナミッ クディスプレイプロファイルが空白の場合 は、何も指定されていない
ほとんどの場合、このディスプレイプロ ファイルドキュメントを使用して、コンテ ナ管理とチャネルのプロパティを異なる組 織およびロールのニーズに合わせてカスタ マイズする
Sun ONE Portal Server をインストールするときに、最初の組織を作成します。次にインストーラがディスプレイプロファイルグローバルレベルのドキュメントをインポートし、指定した内容に基づいてデフォルトのディスプレイプロファイルをインポートします。
その後、組織、サブ組織、またはロールを新規に作成しても、ディスプレイプロファイルは毎回自動的にロードされません。新規に作成された組織、サブ組織、またはロールについてディスプレイプロファイルを手動でロードする必要があります。詳細は、「ディスプレイプロファイルをロードするには (管理コンソール)」を参照してください。
ディスプレイプロファイルを管理するための手順の概要は、次のとおりです。
デフォルトのディスプレイプロファイルドキュメント
表 5-3 は、サンプルポータルのインストール時に Sun ONE Portal Server デスクトップが /opt/SUNWps/samples/portal desktop ディレクトリに格納するディスプレイプロファイルドキュメントを示しています。次の 2 列の表では、最初の列はディスプレイプロファイルドキュメント、2 番目の列はその説明を示します。
表 5-3 サンプルポータルで提供されるディスプレイプロファイルドキュメント
ディスプレイプロファイルドキュメント
説明
dp-anon.xml
認証なし匿名ユーザーによって使用される
dp-org.xml
デフォルトの組織レベルでロードされるサンプルディスプレイプ ロファイル。組織で使用される組織とチャネルの定義のためのグ ローバルプロパティをすべて定義する
dp-org-final.xml
dp-org.xml のコピーと、ブックマークとアプリケーションの チャネルで定義される NetMail リンク。このディスプレイプロ ファイルドキュメントは、NetMail サービスが作成されるときに使 用される
dp-providers.xml
グローバルディスプレイプロファイルレベルでロードされるサン プルディスプレイプロファイル。このドキュメントは、すべての プロバイダ定義を定義する。これらのプロバイダはすべての組織 で使用されるため、システムは最上位でこのディスプレイプロ ファイルをロードし、すべての組織がそれらのプロバイダを使用 できる。プロバイダ定義が 1 つの組織でのみ使用される場合、その 組織レベルのディスプレイプロファイルでプロバイダを定義する
これらのサンプルディスプレイプロファイルのカスタマイズについては、『Sun ONE Portal Server 6.1 Desktop Customization Guide』を参照してください。
ディスプレイプロファイルのロード
Sun ONE Portal Server を最初にインストールすると、インストーラが最初の組織を作成します。また、インストーラがディスプレイプロファイルグローバルレベルのドキュメントをインポートし、指定した内容に基づいてデフォルトのディスプレイプロファイルをインポートします。サンプルポータルをインストールしない場合、サンプルディスプレイプロファイルドキュメントはインストールされません。
その後、組織、サブ組織、またはロールを新規に作成したときに、ディスプレイプロファイルは自動的にロードされません。新規に作成された組織、サブ組織、またはロールについてディスプレイプロファイルを手動でロードする必要があります。
ディスプレイプロファイルのロードには、基本的に 3 つの方法があります。
- Sun ONE Identity Server 管理コンソールの「XMLの編集」リンクを使用する。この方法では、「XML の編集」リンクと組織の既存のディスプレイプロファイルを使用する。このディスプレイプロファイルを、新規に作成した組織、サブ組織、またはロールの空のディスプレイプロファイルにコピーアンドペーストする。「ディスプレイプロファイルをロードするには (管理コンソール)」を参照
- コマンドラインを使用する。この方法では、dpadmin コマンドを使用してディスプレイプロファイルをロードする。「ディスプレイプロファイルをロードするには (コマンドライン)」を参照。dpadmin コマンドを使用する前に、「dpadmin コマンドの使用に関するガイドライン」を参照すること
- Sun ONE Identity Server 管理コンソールの「XML のダウンロード」リンクと「XML のアップロード」リンクを使用する。この方法では、ディスプレイプロファイルをファイルにダウンロードし、ファイルからディスプレイプロファイルをアップロードする。「ディスプレイプロファイルをダウンロードおよびアップロードするには」を参照
ディスプレイプロファイルをロードするには (管理コンソール)
- Sun ONE Identity Server 管理コンソールに管理者としてログインします。
デフォルトでは、ロケーションパネルでは「アイデンティティ管理」が選択され、ナビゲーションパネルには作成済みのすべての組織が表示されています。
- ディスプレイプロファイルをコピーする組織またはサブ組織を選択します。
- 「表示」メニューから「サービス」を選びます。
- ナビゲーションパネルの「ポータルデスクトップ」の隣にあるプロパティの矢印を選択します。
データパネルにポータルデスクトップの属性が表示されます。
- ディスプレイプロファイルをコピーします。
「XML の編集」をクリックして、ディスプレイプロファイルのテキスト全体を選択してコピーします。
- ディスプレイプロファイルをロードする組織、サブ組織、またはロールを選択します。
- ナビゲーションパネルの「表示」メニューから「サービス」を選択します。
- ナビゲーションパネルの「ポータルデスクトップ」の隣にあるプロパティの矢印を選択します。
ディスプレイプロファイル XML を含む、ポータルデスクトップサービス属性の一覧がデータパネルに表示されます。
- 「XML の編集」をクリックします。
ディスプレイプロファイルの XML ドキュメントがテキストウィンドウに表示されます。
- コピーしたディスプレイプロファイルをディスプレイプロファイルウィンドウにペーストします。
- 完了したら、「保存」を選択します。
この変更は、特定の組織内のユーザーだけに反映されます。
ディスプレイプロファイルをロードするには (コマンドライン)
ディスプレイプロファイルをロードする場合は、dpadmin コマンドの modify サブコマンドを使用します。
たとえば、次のコマンドはディスプレイプロファイル (dp-org.xml) をロードします。
dpadmin add -u "uid=amAdmin,ou=People,o=sesta.com,o=isp" -w password -d
"o=sesta.com,o=isp" dp-org.xml
ディスプレイプロファイルをダウンロードおよびアップロードするには
- Sun ONE Identity Server 管理コンソールに管理者としてログインします。
デフォルトでは、ロケーションパネルでは「アイデンティティ管理」が選択され、ナビゲーションパネルには作成済みのすべての組織が表示されています。
- ディスプレイプロファイルをコピーする組織またはサブ組織を選択します。
- ナビゲーションパネルの「表示」メニューから「サービス」を選択します。
- ナビゲーションパネルの「ポータルデスクトップ」の隣にあるプロパティの矢印を選択します。
データパネルにポータルデスクトップの属性が表示されます。
- 「グローバル属性」セクションの「XML のダウンロード」をクリックして、ファイルにディスプレイプロファイルを保存します。
- ディスプレイプロファイルをアップロードする組織、サブ組織、またはロールをナビゲーションパネルで選択します。
- ナビゲーションパネルの「表示」メニューから「サービス」を選択します。
- ナビゲーションパネルの「ポータルデスクトップ」の隣にあるプロパティの矢印を選択します。
- 「XML のアップロード」をクリックして、ロードするファイルを指定します。
- 「アップロード」をクリックします。
ディスプレイプロファイルのアップロードの完了を示すメッセージが表示されます。
- 「閉じる」をクリックします。
この変更は、特定の組織内のユーザーだけに反映されます。
ディスプレイプロファイル全体を表示するには
ディスプレイプロファイルを削除するには
破損した場合など、何らかの理由でディスプレイプロファイルを削除する必要がある場合は、dpadmin コマンドと remove サブコマンドを使用します。
たとえば、ルートからディスプレイプロファイル (dp-org.xml) 全体を削除する場合、次のように指定します。
dpadmin remove -u "uid=amAdmin,ou=People,o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" -t root
ルートから、またはディスプレイプロファイルが必要なノードからディスプレイプロファイルを削除する場合、新しいディスプレイプロファイルをロードする必要があります。たとえば、上記のように dp-org.xml ディスプレイプロファイルを削除した場合、dp-org-final.xml ディスプレイプロファイルのように類似した別のディスプレイプロファイルをロードする必要があります。ディスプレイプロファイルのロードについては、「ディスプレイプロファイルをロードするには (コマンドライン)」を参照してください。
チャネルおよびコンテナ管理リンクを使用したチャネルの管理
管理は「チャネルおよびコンテナの管理」リンクを使用して行います。
デスクトップの属性ページを使用する場合、委任された管理者には「チャネルおよびコンテナの管理」リンクのみが表示されます。他のすべてのディスプレイプロファイルの属性は非表示になっているので安全です。
チャネルとコンテナ管理のデフォルトプロバイダ
「デスクトップ」の「チャネルおよびコンテナの管理」リンクには、コンテナチャネルまたはコンテンツチャネルを追加または削除ができる管理画面が表示されます。
チャネルの追加
「チャネル」リストの「追加」リンクを使用して、定義されているコンテンツプロバイダのリストからコンテンツプロバイダを選択し、それを追加することができます。表 5-4 は、新規チャネルの作成時に基本として使用できるプロバイダチャネルを示しています。この表では、最初の列はプロバイダ名、2 番目の列はその簡単な説明を示します。定義されているコンテンツプロバイダについては、『Sun ONE Portal Server Desktop Customization Guide』を参照してください。
表 5-4 定義されているプロバイダチャネル
プロバイダ
説明
AppProvider
Web アプリケーションにリンクのリストを表示する (ユーザーはこの リストをカスタマイズできる)
BookmarkProvider
ポータルページに表示されるブックマークのリストをユーザーが管理 できる
JSPProvider
1 つまたは複数の JSPTM ファイルからコンテンツを取得する
LoginProvider
ユーザーは匿名ポータルページから Sun ONE Identity Server への認 証を行える
MailCheckProvider
ユーザーのメールステータスに関する情報を表示する
NotesProvider
システム全体のメッセージをリスト表示し、このようなメッセージを ユーザーが送信できる
SearchProvider
Sun ONE Portal Server の検索エンジンを使用した検索機能を提供 する
URLScraperProvider
指定した URL からコンテンツを取得し、Sun ONE Portal Server を 使用してコンテンツをフォーマットする
UserInfoProvider
ディスプレイプロファイルと Sun ONE Identity Server から情報を収 集する。あいさつ、ユーザー名、タイムゾーン、ロケールが表示さ れ、ユーザーの IMAP データと SMTP データにアクセスできる
XMLProvider
指定した URL から XML コンテンツを取得し、XSLT を使用してコン テンツをマークアップ言語に変換する
シンプル Web サービスプロバイダ
シンプル Web サービス (SWS) プロバイダは、データ指向の Web サービスにアクセスする機能を提供します。このプロバイダに基づいて、サンプルチャネルは通貨変換サービスにアクセスする Web サービスの実装を示します。
シンプル Web サービスチャネルには次の 2 種類があります。
デフォルトでは、事前に設定されている Web サービスチャネルのサンプルがサンプルポータルデスクトップに用意されています。管理者は、設定可能な Web サービスチャネルのサンプルを Identity Server 管理コンソールから追加できます。
どちらの Web サービスチャネルも、複雑な入力パラメータやユーザーインタフェース表示用件を持たない Web サービスのように、比較的シンプルな Web サービスでの使用に最適です。特定の Web サービスを処理できないことをシンプル Web サービスプロバイダが検出すると、それに応じてメッセージがユーザーに表示されます。
このプロバイダに基づくチャネルが一度にバインドできるのは、1 つの Web サービスと関連メソッドだけです。シンプル Web サービスプロバイダは、整数、文字列、ダブルなど、シンプルなデータタイプをサポートします。このリリースのシンプル Web サービスプロバイダは
シンプル Web サービスプロバイダは、次の WSDL 設定プロパティタイプをサポートします。
事前に設定されている Web サービスチャネル
事前に設定されている Web サービスチャネルのサンプルは、通貨変換サービスのサンプルです。
事前に設定されている Web サービスチャネルを設定するには、管理コンソールから WSDL URL とメソッド名を指定する必要があります。
設定可能な Web サービスチャネル
設定可能な Web サービスチャネルを使用することで、ユーザーは指定の Web サービスをポイントするようにチャネルを変更できます。これは、WSDL URL の値と、Web サービスに関連付けられているメソッド名をユーザーが変更できるようにすることで可能になりました。ただし、事前に設定されているチャネルタイプとは異なり、設定可能な Web サービスチャネルには、Web サービス入力パラメータのデフォルト値を格納する機能がありません。
新規コンテナチャネル
「コンテナチャネル」リストの「新規」リンクを使用して、定義されているコンテナプロバイダのリストからコンテナプロバイダを選択し、それを作成することができます。表 5-5 は、新規チャネルの作成時に基本として使用できるプロバイダチャネルを示しています。この表では、最初の列はプロバイダ名、2 番目の列はその簡単な説明を示します。定義されているコンテンツプロバイダについては、『Sun ONE Portal Server 6.1 Desktop Customization Guide』を参照してください。
表 5-5 定義されているプロバイダコンテナチャネル
プロバイダ
説明
JSPFrameCustomTableContainerProvider
ユーザーの JSP フレームセットベースのポータルデ スクトップにフレームを新規作成する
JSPSingleContainerProvider
単一のチャネルを表示する
JSPTabContainerProvider
それぞれがタイトルを持つ複数のタブから構成さ れるチャネルを表示する
JSPTabCustomTableContainerProvider
ユーザーの JSP タブベースのデスクトップにタブを 新規作成する
JSPTableContainerProvider
テーブルにコンテンツチャネルを表示する
TemplateEditContainerProvider
「編集」ページのフレームを描画する
TemplateTabContainerProvider
複数タブをサポートする
TemplateTabCustomTableContainerProvider
タブを新規作成する
TemplateTableContainerProvider
テーブルにコンテンツチャネルを表示する
チャネルまたはコンテナチャネルを作成するには
- Sun ONE Identity Server 管理コンソールに管理者としてログインします。
デフォルトでは、ロケーションパネルでは「アイデンティティ管理」が選択され、ナビゲーションパネルには作成済みのすべての組織が表示されています。
- チャネルを追加する組織、サブ組織、またはロールを選択します。
委任された管理者としてログインした場合、管理者としてアクセスできる組織、サブ組織、またはロールに自動的に移動します。
- ナビゲーションパネルの「表示」メニューから「サービス」を選択します。
- ナビゲーションパネルの「ポータルデスクトップ」の隣にあるプロパティの矢印を選択します。
デスクトップ属性ページがデータパネルに表示されます。
- デスクトップページで「チャネルおよびコンテナの管理」リンクをクリックします。
「チャネル」ページが表示され、コンテナパスが root で設定されています。
- チャネルまたはコンテナを追加するコンテナをクリックします。
ページの上部に、チャネルが追加されるコンテナパスが表示されます。チャネルとコンテナが定義されている場合は、リストに表示されます。
- 「新規」をクリックして、コンテナチャネルまたはチャネルを追加します。
コンテナチャネルを追加するには、「コンテナチャネル」の下の「新規」をクリックします。チャネルを追加するには、「チャネル」の下の「新規」をクリックします。
「新規チャネル」ページが表示されます。
- チャネル名を入力し、メニューからプロバイダのタイプを選択します。
使用可能なプロバイダについては、表 5-4 を参照してください。
- 「作成」をクリックします。
チャネルまたはコンテナチャネルのプロパティを変更するには
- Sun ONE Identity Server 管理コンソールに管理者としてログインします。
デフォルトでは、ロケーションパネルでは「アイデンティティ管理」が選択され、ナビゲーションパネルには作成済みのすべての組織が表示されています。
- チャネルを修正する組織、サブ組織、またはロールを選択します。
委任された管理者としてログインした場合、管理者としてアクセスできる組織、サブ組織、またはロールに自動的に移動します。
- 「表示」メニューから「サービス」を選びます。
- ナビゲーションパネルの「ポータルデスクトップ」の隣にあるプロパティの矢印を選択します。
デスクトップ属性ページがデータパネルに表示されます。
- デスクトップページで「チャネルおよびコンテナの管理」リンクを選択します。
「チャネル」ページが表示されます。ページの上部にコンテナのパスが表示されます。定義済みのチャネルがリストに表示されます。
- 変更するチャネルまたはコンテナチャネルの横の「プロパティの編集」リンクを選択します。
「プロパティ」ページが表示されます。
- 必要に応じてプロパティを修正します。
チャネルのプロパティについては、『Sun ONE Portal Server 6.1 Desktop Customization Guide』を参照してください。
- 完了したら、「保存」を選択します。
チャネルまたはコンテナチャネルを削除するには
- Sun ONE Identity Server 管理コンソールに管理者としてログインします。
デフォルトでは、ロケーションパネルでは「アイデンティティ管理」が選択され、ナビゲーションパネルには作成済みのすべての組織が表示されています。
- チャネルを修正する組織、サブ組織、またはロールを選択します。
委任された管理者としてログインした場合、管理者としてアクセスできる組織、サブ組織、またはロールに自動的に移動します。
- ナビゲーションパネルの「表示」メニューから「サービス」を選択します。
- ナビゲーションパネルの「ポータルデスクトップ」の隣にあるプロパティの矢印を選択します。
デスクトップ属性ページがデータパネルに表示されます。
- デスクトップページで「チャネルおよびコンテナの管理」リンクを選択します。
「チャネル」ページが表示されます。ページの上部にコンテナのパスが表示されます。定義済みのチャネルがリストに表示されます。
- 削除するチャネルまたはコンテナチャネルの隣にあるチェックボックスをクリックします。「削除」をクリックします。
- チャネルが削除され、「チャネル」リストが更新され、削除が確認できます。
コンテナの管理
コンテナを管理する場合、Sun ONE Identity Server 管理コンソールを使用してディスプレイプロファイルの XML を直接編集することができます。また dpadmin コマンドを使用することもできます。このコマンドはこの節のほとんどの箇所で、さまざまな例を使用して説明しています。
これには、次の例が含まれます。
Sun ONE Identity Server 管理コンソールによるディスプレイプロファイルの編集については、「ディスプレイプロファイルテキストウィンドウの使用」を参照してください。
dpadmin コマンドの使用
dpadmin コマンドの構文は次のとおりです。
$ dpadmin list|merge|modify|add|remove [command-specific options] -u uid -w password {-g|-d dn} [-l locale] [-r] [-b] [-h] {-v|--version} [file]
dpadmin コマンドの完全な構文については、第 14 章「コマンドラインユーティリティ」を参照してください。dpadmin コマンドを実行する場合は、次の点に注意してください。
- file 引数 : 指定するときは、file 引数はコマンドラインの最後の引数として指定する必要がある。この引数は、ディスプレイプロファイル DTD に適合する XML コードを含む XML ファイルへのパスを指定する。XML の入力が必要なサブコマンドには、modify および add が含まれる
ディスプレイプロファイル全体を追加または修正する場合、常に適切な XML ヘッダーを追加する
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
- list サブコマンド : ディスプレイプロファイルノードオブジェクトを取得し、表示する。オブジェクトはネイティブ XML 形式で表示される。表示されるオブジェクトは、標準出力に送信される。-n または --name オプションを使用しない場合、ディスプレイプロファイルドキュメント全体が表示される。-n または --name オプションが DP ノードオブジェクトを指定しない場合、DP ドキュメント全体が表示される
- merge サブコマンド : 指定した DP ノードオブジェクトのマージ結果を取得し、表示する。オブジェクトはネイティブ XML 形式で表示される。表示されるオブジェクトは、標準出力に送信される。-n または --name オプションを使用しない場合、エラーが出力される
- modify サブコマンド : 既存のディスプレイプロファイルオブジェクトの値を変更する。このコマンドは、オブジェクトがすでにディスプレイプロファイルに存在することを想定している。modify サブコマンドは、標準入力または引数として指定されたファイルのいずれかから新規オブジェクトのデータを読み出す。新しいオブジェクト用のデータは、XML であり、ディスプレイプロファイル DTD に適合する必要がある。特に、オブジェクトデータは正しくフォーマットされた XML コードにする必要がある
- add サブコマンド : ディスプレイプロファイルに新しいオブジェクトを追加する。このサブコマンドは、追加されるオブジェクトがディスプレイプロファイルに存在しないことを想定している。add サブコマンドは、標準入力または引数として指定されたファイルのいずれかから新規オブジェクトのデータを読み出す。新しいオブジェクト用のデータは、XML であり、ディスプレイプロファイル DTD に適合する必要がある。特に、オブジェクトデータは正しくフォーマットされた XML コードにする必要がある
- remove サブコマンド : ディスプレイプロファイルから既存のオブジェクトを削除する
- -g オプション : グローバルレベルのディスプレイプロファイルドキュメントを指定する
- -d dn オプション : dpadmin を実行する DN を指定する。-d オプションと -g オプションは相互に排他的である
- -r または --dryrun オプション : 現在のコマンドの成功または失敗を示し、変更を LDAP に書き込まない。これは、特定の dpadmin コマンドのフォーマットが正しいことを確認する場合に便利である
- -n または --name オプション : ディスプレイプロファイルコンテナ、チャネルまたはプロバイダオブジェクト、またはディスプレイプロファイルオブジェクトの親の完全修飾名を指定する。name 引数が DP ノードオブジェクトを指定しない場合、エラーが出力される
- -p または --parent オプション : 親ディスプレイプロファイルコンテナ、チャネルまたはプロバイダオブジェクト、またはディスプレイプロファイルオブジェクトの親の完全修飾名を指定する
- -v または --version オプション : dpadmin コマンドのバージョン番号を標準出力に出力する
dpadmin コマンドの使用に関するガイドライン
dpadmin コマンドを使用してディスプレイプロファイルを更新する場合は、次のガイドラインに従います。
警告
dpadmin list と dpadmin modify コマンドを実行する間に、(管理コ ンソール、dpadmin、または ldapmodify コマンドを使用する) どのよう な方法でも LDAP サーバーでディスプレイプロファイルドキュメントを変 更しないでください。変更した場合、その変更内容は最新の dpadmin modify によって上書きされます。
ディスプレイプロファイルの修正
ディスプレイプロファイルオブジェクトは、次のいずれかを実行して修正できます。
ディスプレイプロファイルのエラーメッセージの概要
無効な XML を含むディスプレイプロファイルドキュメントを作成し、保存しようとすると、システムがエラーを出力します。このエラーメッセージは、タイトル、メッセージ、およびサブメッセージとして表示されます。メッセージボックスのタイトルは、「無効な XML ドキュメント」です。メッセージは、次のいずれかの形式で表示されます。
「無効な XML ドキュメント」エラーが表示された場合、エラーを修正して、作業中の XML ドキュメントを保存する必要があります。
ディスプレイプロファイルオブジェクトを表示するには
コンテナのチャネルを置換するには
- modify サブコマンドを使用して、コンテナ内のチャネルを標準入力で指定した値に置換します。
たとえば、このコマンドはコンテナ TemplateTableContainer のチャネル Test を標準入力で指定された値に置換します。
dpadmin modify -p TemplateTableContainer -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" <<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<Channel name="Test" provider="testprovider">
<Properties>
<String name="title" value="Test Channel"/>
<String name="description" value="This channel is a test."/>
</Properties>
</Channel>
EOF
- list サブコマンドを使用して、チャネルが置換されたことを確認します。
詳細は、「ディスプレイプロファイルオブジェクトを表示するには」を参照してください。
コンテナのプロパティを置換するには
- modify サブコマンドを使用して、チャネル内のプロパティを標準入力で指定した値に置換します。
たとえば、次のコマンドはチャネル NewChannel で動作し、プロパティ new.xml を前述のファイルの新規オブジェクトと置換します。この場合 new.xml は次のようになります。
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<String name="welcome" value="Hi, welcome to your desktop!"/>
dpadmin modify -p TemplateTableContainer/NewChannel -u "uid=amAdmin,ou=People,o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" new.xml
- list サブコマンドを使用して、プロパティが置換されたことを確認します。
詳細は、「ディスプレイプロファイルオブジェクトを表示するには」を参照してください。
コンテナにチャネルを追加するには
- ディスプレイプロファイル入力 XML ファイルを修正して、新規の <Channel> 定義のみを追加し、次のようにファイル testadd.xml を作成します。
- add サブコマンドを使用して、コンテナにチャネルを追加します。
たとえば、次のコマンドは testadd.xml で定義された新規チャネルをディスプレイプロファイルに追加します。次の例では、新規チャネルを TemplateTableContainer レベルに追加する必要があります。親オブジェクトを -p オプションで指定しない場合、チャネルはルートレベルで追加されます。
dpadmin add -p "TemplateTableContainer" -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" testadd.xml
:
注
新規チャネルを JSPTabContainer に追加する場合、実際には新規タブを 追加しています。JSPTabContainer では、使用可能で選択されたすべて のタブに TabProperties が定義されている必要があります。このため、 JSTTabContainer に追加された新規コンテナまたはチャネルについて、 新規チャネルまたはコンテナが追加された JSPTabContainer の TabProperties Collection 内に次の XML コードを追加します。
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<Collection name="<New Channel Name>">
<String name="title" value="<New Channel Title>"/>
<String name="desc" value="<New Channel Description>"/>
<Boolean name="removable" value="false"/>
<Boolean name="renamable" value="true"/>
<Boolean name="predefined" value="true"/>
</Collection>
- list サブコマンドを使用して、チャネルが追加されたことを確認します。
詳細は、「ディスプレイプロファイルオブジェクトを表示するには」を参照してください。
コレクションにプロパティを追加するには
- combine (-m) オプションを使用して、コレクションに新規プロパティを追加します。
たとえば、次のコマンドは新規プロパティ msg2 をコレクション bar に追加します。既存のプロパティ msg は、まだ残っています。list サブコマンドは、プロパティ値を表示する前後に使用されます。
dpadmin list -n TemplateTableContainer -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp
...
<Collection name="foo">
<Collection name="bar">
<String name="msg" value="hi"/>
</Collection>
</Collection>
...
dpadmin modify -p TemplateTableContainer -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" -m <<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<Collection name="foo">
<Collection name="bar">
<String name="msg2" value="woo hoo"/>
</Collection>
</Collection>
EOF
コレクションプロパティを追加するには
- add サブコマンドを使用して、値を標準入力で指定した値を持つコレクションを追加します。
たとえば、次のコマンドは標準入力で指定されたコレクションプロパティ zipCodes を Postal というチャネル、コンテナ、またはプロバイダに追加します。
dpadmin add -p SamplesTabPanelContainer/Postal -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" <<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<Collection name="zipCodes">
<Integer value="98012"/>
<Integer value="98036"/>
<Integer value="94025"/>
<Integer value="95112"/>
</Collection>
EOF
- list サブコマンドを使用して、コレクションプロパティが追加されたことを確認します。
詳細は、「ディスプレイプロファイルオブジェクトを表示するには」を参照してください。
チャネルまたはコンテナからプロパティを削除するには
- remove サブコマンドを使用して、チャネルまたはコンテナからプロパティを削除します。
たとえば、次のコマンドはプロパティ locations をグローバルレベルで Bookmarks チャネル (またはコンテナ) から削除します。
dpadmin remove -t property -p Bookmarks -n locations -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -g
- list サブコマンドを使用して、プロパティが削除されたことを確認します。
詳細は、「ディスプレイプロファイルオブジェクトを表示するには」を参照してください。
プロバイダを削除するには
- remove サブコマンドを使用してプロバイダを削除します。
たとえば、次のコマンドはプロバイダ NotesProvider を削除します。
dpadmin remove -t provider -n "NotesProvider" -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp"
- list サブコマンドを使用して、プロバイダが削除されたことを確認します。
詳細は、「ディスプレイプロファイルオブジェクトを表示するには」を参照してください。
コンテナからチャネルを削除するには
- remove サブコマンドを使用して、コンテナからチャネルを削除します。
たとえば、次のコマンドは、TemplateTableContainer という親コンテナ内に存在する Test というチャネルを削除します。
dpadmin remove --type channel --parent TemplateTableContainer --name "Test" --runasdn "uid=amAdmin,ou=People,o=sesta.com,o=isp" --password password --dn "o=sesta.com,o=isp"
- list サブコマンドを使用して、チャネルが削除されたことを確認します。
詳細は、第 5 章「ディスプレイプロファイルの管理」を参照してください。
ディスプレイプロファイルドキュメントの優先順位を変更するには
- modify サブコマンドを使用して、ディスプレイプロファイルドキュメントの優先順位を変更します。
たとえば、次のコマンドはドキュメントの優先順位を元の順序から組織の 10 に変更します。
dpadmin modify -m -u "uid=amAdmin,ou=People,o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" <<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<DisplayProfile priority="30" version="1.0"
<Properties/>
<Channels/>
<Providers/>
EOF
- list サブコマンドを使用して、優先順位が変更されたことを確認します。
詳細は、「ディスプレイプロファイルオブジェクトを表示するには」を参照してください。
チャネルをコンテナで使用できるようにするには
- modify サブコマンドと combine (-m) オプションを使用して、標準入力で指定されたチャネルをコンテナの既存の使用可能リストに追加します。
たとえば、次のコマンドは BookMark チャネルを TemplateTableContainer の Available リストに追加します。
dpadmin modify -p TemplateTableContainer -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" -m <<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<Available>
<Reference value="BookMark">
</Available>
EOF
- list サブコマンドを使用して、優先順位が変更されたことを確認します。
詳細は、「ディスプレイプロファイルオブジェクトを表示するには」を参照してください。
チャネルをコンテナで使用不可にするには
- remove サブコマンドを使用して、コンテナの Available リストからチャネルを削除します。
たとえば、次のコマンドは、TemplateTableContainer という親コンテナの Available リストから Test というチャネルを削除します。
dpadmin remove --type available --parent TemplateTableContainer --name "Test" --runasdn "uid=amAdmin,ou=People,o=sesta.com,o=isp" --password password --dn "o=sesta.com,o=isp"
- list サブコマンドを使用して、チャネルが削除されたことを確認します。
詳細は、「ディスプレイプロファイルオブジェクトを表示するには」を参照してください。
コンテナの使用可能なチャネルリストからチャネルを選択するには
- modify サブコマンドと combine (-m) オプションを使用して、標準入力で指定されたチャネルをコンテナの既存の Selected リストに追加します。
たとえば、次のコマンドは BookMark チャネルを TemplateTableContainer の Selected リストに追加します。
dpadmin modify -p TemplateTableContainer -u "uid=amAdmin,ou=People, o=sesta.com,o=isp" -w password -d "o=sesta.com,o=isp" -m <<EOF
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd">
<Selected>
<Reference value="BookMark">
</Selected>
EOF
- list サブコマンドを使用して、優先順位が変更されたことを確認します。
詳細は、「ディスプレイプロファイルオブジェクトを表示するには」を参照してください。
コンテナの使用可能なチャネルリストからチャネルを選択解除するには
- remove サブコマンドを使用して、コンテナの Selected リストからチャネルを削除します。
たとえば、次のコマンドは、TemplateTableContainer という親コンテナの Selected リストから Test というチャネルを削除します。
dpadmin remove --type selected --parent TemplateTableContainer --name "Test" --runasdn "uid=amAdmin,ou=People,o=sesta.com,o=isp" --password password --dn "o=sesta.com,o=isp"
- list サブコマンドを使用して、チャネルが削除されたことを確認します。
詳細については、「ディスプレイプロファイルオブジェクトを表示するには」を参照してください。
ディスプレイプロファイルテキストウィンドウの使用
Sun ONE Identity Server はディスプレイプロファイルテキストを表示し、直接編集するためのテキストウィンドウを提供します。組織、サブ組織、またはロールに管理者としてアクセスできる間は、Sun ONE Identity Server 管理コンソールを使用して、このテキストウィンドウに移動し、ディスプレイプロファイルを表示または編集できます。
ディスプレイプロファイルテキストウィンドウにアクセスするには
- Sun ONE Identity Server 管理コンソールに管理者としてログインします。
デフォルトでは、ロケーションパネルでは「アイデンティティ管理」が選択され、ナビゲーションパネルには作成済みのすべての組織が表示されています。
- ディスプレイプロファイルドキュメントを修正する組織、サブ組織、またはロールを選択します。
委任された管理者としてログインした場合、管理者としてアクセスできる組織、サブ組織、またはロールに自動的に移動します。
- ナビゲーションパネルの「表示」メニューから「サービス」を選択します。
- ナビゲーションパネルの「ポータルデスクトップ」の隣にあるプロパティの矢印を選択します。
デスクトップ属性ページがデータパネルに表示されます。
- デスクトップページで、「XML の編集」リンクをクリックします。
ディスプレイプロファイルがテキストウィンドウに表示されます。
注
デフォルトでは、ディスプレイプロファイルの優先順位レベルはキーワー ド user に設定され、現在のディスプレイプロファイルがユーザーレベル のディスプレイプロファイルであることを示します。その他の許容される 値は、低い優先順位を表す小さい整数です。たとえば、1 は 2 よりも優先 順位が低くなります。
- 変更したら、「保存」を選択します。