サーバー・サイト・マップの更新
デフォルトの Eclipse 更新サーバーは URL アクセス可能なサーバーです。
デフォルトのインプリメンテーションは、レイアウト修正サーバーを想定します。
サーバーの内容 (使用可能なフィーチャーおよびプラグインに関する) は、サイト・マップ・ファイルの site.xml に記述されています。
このファイルは手操作で保守、またはサーバーによって動的に処理することができます。
サイト・マップ
更新サーバー URL は、サイト・マップ・ファイルへの完全 URL として、またはサイト・マップ・ファイルを含むディレクトリー・パスの
URL として指定できます (index.html 処理と同様)。
サイト・マップ site.xml のフォーマットは、以下の dtd によって定義されます。
<?xml encoding="ISO-8859-1"?>
<!ELEMENT site (description?, feature*, archive*, category-def*)>
<!ATTLIST site
type
CDATA #IMPLIED
url
CDATA #IMPLIED
mirrorsURL CDATA #IMPLIED
>
<!ELEMENT description (#PCDATA)>
<!ATTLIST description
url
CDATA #IMPLIED
>
<!ELEMENT feature (category*)>
<!ATTLIST feature
type
CDATA #IMPLIED
id
CDATA #IMPLIED
version
CDATA #IMPLIED
url
CDATA #REQUIRED
patch
(false | true) false
os CDATA #IMPLIED
nl
CDATA #IMPLIED
arch CDATA #IMPLIED
ws
CDATA #REQUIRED
>
<!ELEMENT archive EMPTY>
<!ATTLIST archive
path
CDATA #REQUIRED
url
CDATA #REQUIRED
>
<!ELEMENT category EMPTY>
<!ATTLIST category
name
CDATA #REQUIRED
>
<!ELEMENT category-def (description?)>
<!ATTLIST category-def
name
CDATA #REQUIRED
label
CDATA #REQUIRED
>
エレメントおよび属性の定義は次のとおりです。
- <site> - サイト・マップを定義します。
- type - オプションのサイト型仕様。
この値は、インストール・ フレームワーク拡張ポイント経由で登録される型ストリングを指します。
指定されないと、型はデフォルトの Eclipse サイト型 (この文書に指定) と想定されます。
- url - 更新サイト・ベースライン URL を定義するオプションの URL (個々の <feature> および <archive> ロケーションを判断するために使用)。
相対または絶対のいずれかにできます。
相対の場合、site.xml に関連します。
指定されないと、デフォルトは site.xml ファイルの URL ロケーションになります。
- mirrorsURL - 更新サイト・ミラー定義を含むファイルをポインティングする、
オプションの URL。この URL は、このサイトに対して絶対または相対にすることができます。このミラー・ファイルについては、
本書で後述します。
- <description> - 単純なテキストとしての要旨。翻訳されることを前提としています。
- url - HTML による完全な説明の URL (オプション)。
URL は、絶対パスまたは相対パスで指定できます。
相対パスの場合、この URL は site.xml を基準にします。
NL 処理の場合、それぞれの言語ごとに代替 URL を指定できるよう、URL 値を分離しなければならないことに注意してください。
- <feature> - 参照されているフィーチャー・アーカイブを識別します。
- type - オプションのフィーチャー型仕様。
この値は、インストール・ フレームワーク拡張ポイント経由で登録される型ストリングを指します。
指定されないと、型はサイトのデフォルトのフィールド型と想定されます。
サイト型がデフォルトの Eclipse サイト型の場合、デフォルト・フィーチャー型はパッケージされたフィールド型になります (この文書に指定)。
- id - オプションのフィーチャー ID。
この情報は、フィーチャーの検索速度を上げるためのパフォーマンス最適化として使用されます。
参照アーカイブの feature.xml に指定された ID (URL 属性) に一致していなければなりません。
この値を指定した場合、バージョン属性も指定する必要があります。
- version - オプションのフィーチャー・バージョン。
この情報は、フィーチャーの検索速度を上げるためのパフォーマンス最適化として使用されます。
参照アーカイブの feature.xml に指定されたバージョン (URL 属性) に一致していなければなりません。
この値を指定した場合、ID 属性も指定する必要があります。
- url - フィーチャー・アーカイブへの必須 URL 参照。
相対または絶対のいずれかにできます。
相対の場合、site.xml ファイルのロケーションに関連します。
注: デフォルト・サイト実装を使用すると、
<feature> 項目を使用して明示的に宣言しなくても、フィーチャーにアクセスすることができます。
デフォルトでは、宣言されていないフィーチャー参照は、"features/<id>_<version>.jar" として解釈されます。
注: 検索パフォーマンスを改善するには、常に ID およびバージョン属性を定義してください。
- patch - パッチ (特殊なタイプのフィーチャー) であることを示す属性 (オプション)。
注: ルックアップ・パフォーマンスを改善するために、常にこの属性を定義してください。
- os - オペレーティング・システムの仕様 (オプション)。
Eclipse で定義されているオペレーティング・システム指定子の、コンマで区切られたリスト (org.eclipse.core.runtime.Platform の Javadoc を参照)。
指定された OS の 1 つにだけ、このフィーチャーをインストールする必要があることを示します。
この属性が指定されていない場合、フィーチャーをすべてのシステムにインストールできます (ポータブル・インプリメンテーション)。
この情報は、インストールおよび更新サポートでヒントとして使用されます (この設定に関係なく、ユーザーはインストールを強制できます)。
- arch - マシン・アーキテクチャーの仕様 (オプション)。
Eclipse によって定義された、コンマで区切られたアーキテクチャー指定機能のリスト (org.eclipse.core.runtime.Platform については Javadoc を参照)。
指定されたシステムのいずれかにのみ、このフィーチャーをインストールしなければならないことを指示します。
この属性が指定されていない場合、フィーチャーをすべてのシステムにインストールできます (ポータブル・インプリメンテーション)。
この情報は、インストールおよび更新サポートでヒントとして使用されます (この設定に関係なく、ユーザーはインストールを強制できます)。
- ws - ウィンドウ操作システムの仕様 (オプション)。
Eclipse で定義されているウィンドウ・システム指定子の、コンマで区切られたリスト (org.eclipse.core.runtime.Platform の Javadoc を参照)。
指定された WS の 1 つにだけ、このフィーチャーをインストールする必要があることを示します。
この属性が指定されていない場合、フィーチャーをすべてのシステムにインストールできます (ポータブル・インプリメンテーション)。
この情報は、インストールおよび更新サポートでヒントとして使用されます (この設定に関係なく、ユーザーはインストールを強制できます)。
- nl - ロケール仕様 (オプション)。
Java によって定義された、コンマで区切られたロケール指定機能のリスト。
互換ロケールで稼働している (Java ロケール・マッチング規則を使用) システムにのみ、このフィーチャーをインストールしなければならないことを指示します。
この属性が指定されていない場合、フィーチャーをすべてのシステムにインストールできます (言語に中立なインプリメンテーション)。
この情報は、インストールおよび更新サポートでヒントとして使用されます (この設定に関係なく、ユーザーはインストールを強制できます)。
- <archive> - 参照されている「ストレージ」アーカイブを識別します (実際のファイルは、フィーチャー・マニフェストの <plugin> または <data> 要素を介して参照されます)。
このサイトは、パス対 URL のマップとして単にアーカイブを管理します。
デフォルトの Eclipse サイト実装では、サイト・マップ (site.xml) に <archive> セクションを組み込む必要はありません。
<archive> セクションの一部として明示的に定義されていないアーカイブ参照は、site.xml ファイルのロケーションに対応する URL に
"<archivePath>" の形式でマップされているものと想定されます。
- path - 必須アーカイブ・パス ID。
これは、このアーカイブを参照するフィーチャーによって決定され、サイトによっては解釈されない
(ルックアップ・トークンとしてではなく) ストリングです。
- url - アーカイブへの必須 URL 参照。
相対または絶対のいずれかにできます。
相対の場合、site.xml ファイルのロケーションに関連します。
- <category-def> - インストールおよび更新のサポートでフィーチャーを階層的に編成するために使用できるカテゴリーの定義 (オプション)。
- name - カテゴリー名。
/ で区切られたネーム・トークンのパスとして指定されます。
- label - 表示可能ラベル。
翻訳されることを前提としています。
- <category> - フィーチャー・エントリーの実際のカテゴリー仕様。
一般に、feature.xml マニフェスト文書は、UTF-8 エンコードを指定する必要があることに注意してください。
以下に例を示します。
<?xml version="1.0" encoding="UTF-8"?>
site.xml に含まれている翻訳可能テキストは、Java プロパティー・バンドル規則を使用して、site<_locale>.properties ファイルに分離できます。
翻訳されたストリングは、インストール時に使用されます (つまり、プラグイン・フラグメント・ランタイム機構は使用しません)。
プロパティー・バンドルは、site.xml ロケーションに対応して位置指定されます。
デフォルト・サイト・レイアウト
<site root>/
site.xml
features/
フィーチャー・アーカイブ
(例えば org.eclipse.javatools_1.0.1.jar)
<featureId>_<featureVersion>/
(オプション)
フィーチャーの非プラグイン・ファイル
plugins/
プラグイン・アーカイブ
(例えば、org.eclipse.ui_1.0.3.jar)
ミラー・ファイル
更新ミラー・ファイル (<site> の mirrorsURL 属性により指示される) には、
更新サイト・ミラー用定義が含まれます。フォーマットは、以下の dtd によって定義されます。
<?xml encoding="ISO-8859-1"?>
<!ELEMENT mirrors (mirror*))>
<!ELEMENT mirror EMPTY>
<!ATTLIST mirror
url
CDATA #REQUIRED
label
CDATA #REQUIRED
>
- <mirrors> - 使用可能な更新サイト・ミラーを定義します。
- <mirror> - ミラー・サイトを定義します。
- url - ミラー・サイトの URL。
- label - 表示可能ラベル。
翻訳されることを前提としています。
アクセスの制御
デフォルトの Eclipse サイト・インプリメンテーションは、基本的なユーザー認証 (ユーザー ID とパスワード) による
http アクセスのサポートを提供します。
カスタム・アクセス制御機構は、以下のいずれかの方法で基本 Eclipse に追加できます。
-
更新サーバーにサーバー・サイド・ロジックを提供する
(例えば site.xml マップを計算するサーブレットを実装し、いくつかのユーザー基準に基づいて個々のアーカイブへのアクセスを制御する)
-
サイト・オブジェクトの具体的なカスタム・インプリメンテーションを提供する
(クライアント・マシンにインストールした場合、更新サーバーは <site type=""> を指定)。
具体的なカスタム・サイト実装は、サーバー・サイド・ロジックとともに必要な制御機構をサポートします。
Eclipse では、フィーチャー・キー・ファイルに基づくアクセス機構のインプリメンテーションを示す例を提供しています。