管理者は、設定ファイルを編集することにより、Web コンソールの表示方法の一部をカスタマイズできます。
ここでは次の作業について説明します。
Web コンソールの使用の詳細については、『Service Registry 3.1 ユーザーズガイド (2006Q4)』を参照してください。
Service Registry には定義済みクエリーがいくつか含まれていますが、これらは、Web コンソール上の「検索」フォームの「定義済みクエリーを選択」ドロップダウンリスト内に表示されます。管理者として、対象レジストリインストールに固有の新しいクエリーを、そのドロップダウンリストに追加できます。
Web コンソールを使って AdhocQuery オブジェクトをレジストリに発行します。
クエリーに指定する名前と説明は、定義済みクエリーのドロップダウンリストに表示されます。次のように、クエリーの SQL 文では、ユーザーが入力するデータを対になった一重引用符で囲んで、プレースホルダを指定します。
select * from registryobject where id = ''$lid''
AdhocQuery オブジェクトの一意の識別子と SQL 文内の任意のプレースホルダの一意の識別子を記録するか、コピーしてファイルにペーストします。
ディレクトリ RegistryDomain-base/3.0/jaxr-ebxml に移動します。
テキストエディタでファイル registry-browser-config.xml を開きます。
必要に応じて変更をバックアウトできるように元のファイルのコピーを作成します。
次の形式のエントリを registry-browser-config.xml ファイルに追加します。SQL 文内の各プレースホルダに対応する Parameter 要素を指定します。
<Query> <AdhocQueryRef id="unique-identifier"/> <Parameter parameterName="$placeholder-name" datatype="string"> <rim:Name> <rim:LocalizedString xml:lang="en" charset="UTF-8" value="parameter-name-in-en-locale"/> <rim:LocalizedString xml:lang="fr" charset="UTF-8" value="parameter-name-in-fr-locale"/> </rim:Name> <rim:Description> <rim:LocalizedString xml:lang="en" charset="UTF-8" value="parameter-description-in-en-locale"/> <rim:LocalizedString xml:lang="fr" charset="UTF-8" value="parameter-description-in-fr-locale"/> </rim:Description> </Parameter> ... </Query>
unique-identifier は AdhocQuery オブジェクトの一意の識別子です。
各パラメータの parameterName 属性は、クエリーの SQL 文内のプレースホルダから取り込んでください。
datatype 属性には、次のいずれかの値を指定できます。
string: パラメータが検索フォーム内でテキストフィールドとして表示されます。
taxonomyElement: パラメータが検索フォーム内でドロップダウンリストとして表示されます。taxonomyElement データ型を指定すると、Name 要素および Description 要素のあとに次のような SlotList 要素が追加されます。
<rim:SlotList> <rim:Slot name="domain"> <rim:ValueList> <rim:Value> classification-scheme-or-concept-id </rim:Value> </rim:ValueList> </rim:Slot> </rim:SlotList>
classification-scheme-or-concept-id は、Concept (または Subconcept) をドロップダウンリストに表示する Classification Scheme または Concept の一意の識別子です。該当する Classification Scheme がレジストリにまだ存在しない場合は、発行してください。
スロット名は「domain」にしてください。
boolean: パラメータが検索フォーム内でチェックボックスとして表示されます。
datatype が string または boolean である場合は、defaultValue 属性を Parameter 要素に追加して、検索フォームに表示されるデフォルト値を指定することもできます。
サポートするすべてのロケールのために、各パラメータの名前と説明に対してローカライズされた文字列値を指定します。検索フォーム内のパラメータのラベルには、現在のロケールの parameter-name が表示されます。
registry-browser-config.xml ファイル内の既存エントリを参考として使用します。
registry-browser-config.xml ファイルを保存して閉じます。
「定義済みクエリーを選択」ドロップダウンリストにデフォルトとして表示されるクエリーは、ユーザーが名前、説明、および分類でレジストリオブジェクトを検索できる基本クエリーです。
管理者は、このデフォルトを実際の環境に適したクエリーに変更できます。たとえば、「定義済みクエリーの追加」の手順に従って、デフォルトクエリーをレジストリに追加した新しい定義済みクエリーにすることもできます。この変更を行うには、設定ファイルのプロパティーを編集します。
ディレクトリ RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes に移動します。
ファイル jaxr-ebxml.properties をテキストエディタで開きます。
プロパティー jaxr-ebxml.thin.defaultQueryPanel の定義を見つけます。デフォルトでは、このプロパティーは次のようにコメントアウトされています。
#jaxr-ebxml.thin.defaultQueryPanel=
コメント文字 (#) を削除します。
次の例のように、デフォルトにするクエリーの論理識別子を指定することにより、このプロパティーの値を設定します。
jaxr-ebxml.thin.defaultQueryPanel=urn:oasis:names:tc:ebxml-regrep:query:MyQuery
jaxr-ebxml.properties ファイルを保存して閉じます。
Classification Scheme のツリー構造は、Web コンソールの次の領域に表示されます。
「検索」メニュー領域の「Classification ノードの選択」をクリックするとき、またはある種のレジストリオブジェクトの Concept を選択する必要があるときに表示される「ClassificationScheme/Concept セレクタ」ウィンドウ
「探索」メニュー領域
管理者は、Service Registry のユーザーが Classification Scheme を使用できないようにする場合に、そのClassification Scheme を非表示にできます。Classification Scheme を非表示にするには、設定ファイル内にプロパティーを定義します。
ディレクトリ RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes に移動します。
ファイル jaxr-ebxml.properties をテキストエディタで開きます。
次の構文を使ってプロパティー jaxr-ebxml.registryBrowser.ConceptsTreeModel.hiddenSchemesList を設定します。プロパティー定義はすべて 1 行で入力してください。また、定義内に空白が含まれていてはいけません。
jaxr-ebxml.registryBrowser.ConceptsTreeModel.hiddenSchemesList= class-scheme-id1|class-scheme-id2|...
非表示にする各 Classification Scheme の論理識別子を指定します。複数の識別子を指定する場合は、次の例のように縦棒 (|) を使って識別子を区切ります。
jaxr-ebxml.registryBrowser.ConceptsTreeModel.hiddenSchemesList= urn:oasis:names:tc:ebxml-regrep:classificationScheme:StatusType| urn:oasis:names:tc:ebxml-regrep:profile:ws:classificationScheme:BindingType
jaxr-ebxml.properties ファイルを保存して閉じます。
デフォルトでは、Web コンソールには 1 つのクエリーに対して一度に 25 件の検索結果が表示されます。25 件を超える検索結果が返された場合、ユーザーは追加の検索結果ページを表示できます。管理者は、各ページに表示される検索結果の数を変更できます。
Web コンソールの検索結果領域には、デフォルトでは特定の列が表示されます。オブジェクトごとに、オブジェクトの型、名前、説明、バージョン、およびバージョンコメントが表示されます。一部のオブジェクト型には、デフォルト以外の表示が設定されています。たとえば、ServiceBinding オブジェクトでは、バージョン情報の代わりにエンドポイントが表示に含まれます。管理者は、選択したオブジェクト型についてデフォルト以外のデータを表示するように設定データを追加できます。
これらの作業を実行するには、設定ファイルを編集します。
ディレクトリ RegistryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes に移動します。
ファイル jaxr-ebxml.properties をテキストエディタで開きます。
プロパティー omar.client.thinbrowser.numSearchResults の定義を見つけます。
omar.client.thinbrowser.numSearchResults=25
値「25」を希望する値に変更します。
jaxr-ebxml.properties ファイルを保存して閉じます。
オブジェクト型に「検索結果」領域の列を設定できます。列にはオブジェクトの属性が表示されます。
ディレクトリ RegistryDomain-base/3.0/jaxr-ebxml に移動します。
テキストエディタでファイル registry-browser-config.xml を開きます。
エントリを registry-browser-config.xml ファイルに追加するか、既存のエントリを編集します。次の形式を使用します。
この例では、Service オブジェクトについてデフォルト以外の表示を設定しています。
<ObjectTypeConfig className="org.freebxml.omar.client.xml.registry.infomodel.ServiceImpl" id="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Service"> <SearchResultsConfig> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Object Type" columnWidth="25" editable="false" method="getObjectType"/> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Name" columnWidth="25" editable="true" method="getName"/> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Description" columnWidth="30" editable="true" method="getDescription"/> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Status" columnWidth="15" method="getStatusAsString"/> <SearchResultsColumn columnClass="java.lang.Object" columnHeader="Version" columnWidth="5" method="getVersionName"/> </SearchResultsConfig> </ObjectTypeConfig>
registry-browser-config.xml ファイルには、ObjectTypeConfig 要素のための構文が用意されています。ファイル内の既存の要素を例として使用します。これらの要素によって、レジストリオブジェクトについてのデフォルトの表示と、ExternalLink 、ExtrinsicObject、および ServiceBinding の各オブジェクトについてのデフォルト以外の表示が設定されます。
設定可能な列の最大数は 30 です。
SearchResultsColumn 要素については次のとおりです。
columnClass 属性の値は常に java.lang.Object です。
columnHeader 属性の値は、Web コンソールのリソースバンドルファイル内のメッセージへのキーです。これらのファイルは、ディレクトリ registryDomain-base/domains/registry/applications/j2ee-modules/soar/WEB-INF/classes/org/freebxml/omar/client/ui/thin/ に格納されています。たとえば、 columnHeader の値に Object Type と入力すると、Web コンソールのバッキング Bean は WebResourceBundle クラスを使ってそのキーを持つメッセージを検索します。WebResourceBundle は、メッセージを見つけられない場合、キーを小文字に変換して再度検索します。それでも見つからない場合は、メッセージの値を "???"+key+"???" に設定し、リソースバンドルエントリが見つからないという警告メッセージをログにとります。このため、新しくローカライズされた columnHeader 値を追加するには、このディレクトリに格納されている ResourceBundle ファイルに新しいメッセージキーを入力してください。
columnWidth 属性は、Web コンソールには使用されません。
editable 属性は、Web コンソールには使用されません。
ほとんどの場合、ebXML Registry Information Model Version 3.0 仕様のクラス属性から method 属性のメソッド名を推測できます (詳細については、「お読みになる前に」を参照)。getStatusAsString メソッドは、RegistryObjectImpl 実装クラスで見つけることができます。ただし、Service Registry の今回のリリースに API のマニュアルは付属しません。
omar.client.xml.registry.infomodel クラス名ごとに ObjectTypeConfig 要素を複数設定することはできません。
registry-browser-config.xml ファイルを保存して閉じます。
再構成の結果を確認するため、Web コンソールの「検索」メニューまたは「探索」メニューを使って、変更した列を持つオブジェクトを表示します。