「Eclipse 更新」では、ユーザーは、現在インストール済みのフィーチャーの更新の検索 することができます。 インストールされているフィーチャーごとに、「更新」は組み込み URL を使用してリモート・サーバーと接続し、新規のバージョンを検索します。 更新があると、Eclipse はユーザーがインストール手順を開始できるようにします。 ダウンロード、インストール、およびプラットフォームの再始動の後に、新規フィーチャー・バージョン を使用することができます。
同じ Eclipse ベースの製品 (一般的に市販の製品) に多数のユーザーがいる会社では、 このモデルからいくつかの問題が生じる可能性があります。
製品管理者が行うべき最初のステップは、会社の LAN (ファイアウォールの後ろ) と接続されたサーバー上にローカル Eclipse 更新サイトをセットアップすることです。 更新サイトは、会社がその時点で適用したいと思っている更新に関連したフィーチャーおよびプラグインのみを含むので、 インターネット上の製品の更新サイトのサブセットになります。 技術的には、このサイトは、site.xml、フィーチャー、およびプラグインのアーカイブを持つ 通常の Eclipse 更新サイトになります。
管理者がこのサイトを構成するには、以下の 2 つの方法があります。
フィーチャーには、マニフェスト内に組み込まれた更新サイト URL があるので、 フィーチャーは、管理者によってセットアップされたローカル更新サイトについては認識しません。 したがって「リダイレクト機能」を提供することが重要になります。更新ポリシー・ファイルを作成し、 検索時にそのファイルを使用するように「更新」を構成することで、Eclipse 製品に対して この設定および他の更新ポリシー設定を設定することができます。
このファイルでは、XML フォーマットを使用し、任意の名前を付けることができます。 ファイルは、「更新ポリシー」フィールド内の「設定」>「インストール/更新」 で設定できます。 テキスト・フィールドはデフォルトでは空です。 ユーザーは、更新ポリシー・ファイルの URL を設定することもできます。 このファイルはローカル管理者によって管理され、すべての製品インストールで共用されます。 共用は 2 つの方法で達成されます。
org.eclipse.update.core/updatePolicyFile = <URL value>
ポリシー・ファイルは以下の DTD に準拠しなければなりません。
<?xml encoding="ISO-8859-1"?>
<!ELEMENT update-policy (url-map)*>
<!ATTLIST update-policy
><!ELEMENT url-map EMPTY>
<!ATTLIST url-map
pattern CDATA #REQUIRED
url CDATA #REQUIRED
>
このエレメントは、フィーチャー・マニフェストに組み込まれた更新 URL をオーバーライドするために使用されます。 新規更新を探すとき、Eclipse 検索は (もしあるならば) 更新ポリシーを確認し、 マッチング・フィーチャー接頭部の「url-map」が指定されているかどうかをチェックします。 一致が検出された場合は、組み込み URL の代わりに、マップされた URL が使用されます。 このようにして管理者は、ファイアウォールの後ろにあるローカル・サーバーの更新を検索するように、Eclipse を構成することができます。 一方、「Eclipse 更新」によってインストールされたサード・パーティーのフィーチャーは、 デフォルトのメカニズムを使用した更新を続けます (ポリシー内に一致を検出できないため)。
幾つかの「url-map」エレメントがファイルの中に存在することがあります。
特定度を小さくしたり、大きくしたりするよう、フィーチャーの接頭部を選択することができます。
例えば、すべての Eclipse 更新をリダイレクトするには、パターン属性は "org.eclipse"
になります。 同様に、リダイレクトがフィーチャーごとを基本として要求されている場合、
完全なフィーチャー ID をパターンとして使用することも可能です。
ファイル内のパターンは、潜在的な一致を徐々に狭めていくように選択されます。 その結果、与えられたフィーチャーに対して、複数が一致します。 このケースでは、「一番長いパターンで一致」が使用されます。 例:
<?xml version="1.0" encoding="UTF-8"?> <update-policy> <url-map pattern="org.eclipse" url="URL1"/> <url-map pattern="org.eclipse.jdt" url="URL2"/> </update-policy>
上記のケースでは、URL2 を使用する org.eclipse.jdt
以外は、すべての
Eclipse フィーチャーが URL1 から更新されます。
更新ポリシー・ファイルは、翻訳可能なストリングを含んでいないので、特殊な NL 処理を必要としません。 一般的に、それらのファイルでは UTF-8 エンコードを使用する必要があります。
全体的なソリューションの 3 番目の部分については、他の トピックで扱いますが、ソリューションの不可欠な部分なので、ここで言及しました。 自動更新は、Eclipse が指定されたスケジュール (始動ごと (デフォルト)、1 日 1 回、1 週間に 1 回、など) で更新の検索を実行できるようにします。
以下がソリューションを構成するステップの完全なシーケンスです。