更新伺服器網站對映
預設的 Eclipse 更新伺服器是任何可存取 URL 的伺服器。預設實作假設固定佈置的伺服器。
伺服器的內容(就是可用的特性和外掛程式),在網站對照表檔案 site.xml 中說明。
這個檔案可以手動方式維護,或利用伺服器動態的計算。
網站對照表
更新伺服器 URL 可以被指定為網站對照表檔案的完整 URL、或包含網站對照表檔案之目錄路徑的 URL(近似於 index.html 程序)。
利用下列 dtd 定義網站對照表 site.xml 格式:
<?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 - 完整說明的選用 URL 為 HTML。URL 可被指定為絕對的相對。
如果是相對的,URL 便會相對於 site.xml。
附註,NL 處理的 URL 值應該是分別的,讓每一個國家語言指定替代的 URL。
- <feature> - 識別被參照的特性保存檔
- type - 選用的特性類型規格。其值參照透過安裝組織架構延伸點登錄的類型字串。如果未指定,類型假設為網站預設的特性類型。如果網站類型為預設的 Eclipse
網站類型,預設的特性類型是套件特性類型(如此文件中所指定的)。
- id - 選用的特性 ID。效能最佳化所使用的資訊以加速搜尋特性。
必須符合被參照的保存檔 feature.xml 中指定的特性(URL 屬性)。
如果指定,也必須指定版本屬性。
- version - 選用的特性版本。效能最佳化所使用的資訊以加速搜尋特性。
必須符合被參照的保存檔 feature.xml 中指定的版本(URL 屬性)。
如果指定,也必須指定 ID 屬性。
- url - 必要的 URL 參照特性保存檔。可為相對或絕對。
如果是相對,相對於 site.xml 檔中的位置。
附註:
預設的網站實作容許存取特性,而不需使用 <feature> 項目明確地宣告。依預設,
未宣告的特性參照解譯為 "features/<id>_<version>.jar"。附註:為了提高查閱的效能,請務必定義 ID 和版本屬性。
- 修補程式 - 選擇性屬性,代表這是修補程式(特性的特殊類型)。
附註:為了提高查閱的效能,請務必定義這個屬性。
- os - 選用的作業系統規格。以逗點區隔 Eclipse 定義的作業系統指定元清單(請參閱
org.eclipse.core.runtime.Platform 的 Javadoc)。
表示這項特性應該只安裝在其中一個指定的 OS 中。
如果未指定這個屬性,可在所有系統上安裝這項特性(可移植的實作)。
這項資訊用來作為安裝和更新支援的提示(使用者可強制特性安裝,不管這項設定)。
- arch - 選用的機器架構規格。以逗點區隔 Eclipse 定義的架構指定元清單(請參閱
org.eclipse.core.runtime.Platform 的 Javadoc)。
表示這項特性應該只安裝在指定系統的之一。
如果未指定這個屬性,可在所有系統上安裝這項特性(可移植的實作)。
這項資訊用來作為安裝和更新支援的提示(使用者可強制特性安裝,不管這項設定)。
- ws - 選用的 Windows 系統規格。以逗點區隔 Eclipse 定義的 Windows 系統指定元清單(請參閱
org.eclipse.core.runtime.Platform 的 Javadoc)。
表示這項特性應該只安裝在其中一個指定的 WS 中。
如果未指定這個屬性,可在所有系統上安裝這項特性(可移植的實作)。
這項資訊用來作為安裝和更新支援的提示(使用者可強制特性安裝,不管這項設定)。
- nl - 選用的語言環境規格。以逗點區隔的 Java 所定義的語言環境指定元清單。
表示這項特性應該只安裝在有相容的語言環境的系統中。(使用 Java locale-matching 環境規則)
如果未指定這個屬性,可在所有系統上安裝這項特性(語言中立的實作)。
這項資訊用來作為安裝和更新支援的提示(使用者可強制特性安裝,不管這項設定)。
- <archive> - 識別被參照的「儲存體」保存檔(在特性處理中,透過 <plugin> 或 <data> 元素參照的確實檔案)。網站簡單管理保存檔為 path-to-URL 對映。
預設的 Eclipse 網站實作不需要在網站對映(site.xml)中包含 <archive>。
任何保存檔參照未明確地定義為 <archive> 區段中的一部分,會假設對映至表單
<archivePath>" 相對於 site.xml 檔案的位置中的 URL。
- path - 必要的保存檔 ID。這是利用特性參照這個保存檔所決定的字串,並未由網站所直譯(查閱記號之外)。
- url - 必要的 URL 參照至保存檔。可為相對或絕對。
如果是相對,相對於 site.xml 檔中的位置。
- <category-def> - 種類的選用定義,可利用安裝和更新支援階層化組織特性來使用。
- name - 種類名稱。指定為記號名稱的路徑用 / 分開
- label - 可顯示的標籤。預計要翻譯。
- <category> - 特性項目確切的種類規格
請注意,一般來說 feature.xml Manifest 文件應該指定 big5 編碼。
比方說:
<?xml version="1.0" encoding="big5"?>
包含在 site.xml 檔中的可翻譯文字,可利用 Java 內容軟體組使用慣例將檔案依語言環境分為 site<_locale>.properties 檔。
請注意,在安裝時期使用可翻譯的字串(例如,勿使用外掛程式片段執行時期機制)。
內容軟體組位於與 site.xml 相對的位置。
預設的網站佈置
<網站根目錄>/
site.xml
features/
特性保存檔
(例如, org.eclipse.javatools_1.0.1.jar)
<featureId>_<featureVersion>/
(選用)
特性非外掛程式 (non-plug-in) 檔案
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 對映的 Servlet,
並依據某些使用者準則控制對個別保存檔的存取權)。
-
藉著提供網站物件的自訂具體實作(已安裝在用戶端機器上,更新伺服器指定 <site type="">)。
自訂具體網站實作和支援必要控制機制的伺服器端邏輯。
Eclipse 提供示範依據特性金鑰檔存取機制的實作範例。