更新伺服器網站對映
預設的 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
>
<!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
>
<!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 位置。
-
<description> - 純文字的簡要說明。用以被翻譯。
-
URL - 完整說明的選用 URL 為 HTML。URL 可被指定為絕對的相對。
如果是相對的,相對於 site.xml 檔。
附註,NL 處理的 URL 值應該是分別的,讓每一個國家語言指定替代的 URL。
-
<feature> - 識別被參照的特性保存檔
-
type - 選用的特性類型規格。其值參照透過安裝組織架構延伸點登錄的類型字串。如果未指定,類型假設為網站預設的特性類型。如果網站類型為預設的 Eclipse
網站類型,預設的特性類型是套件特性類型(如此文件中所指定的)。
-
id - 選用的特性識別碼。效能最佳化所使用的資訊以加速搜尋特性。
必須符合被參照的保存檔 feature.xml 中指定的特性(URL 屬性)。
如果指定,也必須指定版本屬性。
-
version - 選用的特性版本。效能最佳化所使用的資訊以加速搜尋特性。
必須符合被參照的保存檔 feature.xml 中指定的版本(URL 屬性)。
如果指定,也必須指定 ID 屬性。
-
url - 必要的 URL 參照特性保存檔。可為相對或絕對。
如果是相對,相對於 site.xml 檔中的位置。
附註:
預設的網站實作容許存取特性,而不需使用 <feature> 項目明確地宣告。依預設,未宣告的特性參照
翻譯為「features/<id>_<version>.jar」。
-
<archive> - 識別被參照的「儲存體」保存檔(在特性處理中,透過 <plugin> 或 <data> 元素參照的確實檔案)。
網站簡單管理保存檔為 path-to-URL 對映。
預設的 Eclipse 網站實作不需要在網站對映(site.xml)中包含 <archive>。
任何保存檔參照未明確地定義為 <archive> 區段中的一部份,會假設對映至套表
<archivePath>" 相對於 site.xml 檔案的位置中的 URL。
-
path - 必要的保存檔識別碼。這是利用特性參照這個保存檔所決定的字串,並未由網站所直譯(查閱記號之外)。
-
url - 必要的 URL 參照至保存檔。可為相對或絕對。
如果是相對,相對於 site.xml 檔中的位置。
-
<category-def> - 種類的選用定義,可利用安裝和更新支援階層化組織特性來使用。
-
name - 種類名稱。指定為記號名稱的路徑用 / 分開
-
label - 可顯示的標籤。用以被翻譯。
-
<category> - 特性項目確切的種類規格
請注意,一般來說 feature.xml 處理文件應該指定 UTF-8 編碼。
例如,
<?xml version="1.0" encoding="UTF-8"?>
包含在 site.xml 檔中的可翻譯文字,可利用 Java property bundle 使用慣例將檔案依語言環境分為 site<_locale>.properties 檔。
請注意,在安裝時期使用可翻譯的字串(例如,勿使用外掛程式片段執行時期機制)。
property bundle 位於與 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)
控制存取
預設的 Eclipse 網站實作以基礎使用者鑑別(使用者 ID 和密碼)來提供 HTTP 存取支援。
新增自訂存取控制機制至基礎 Eclipse,有兩個方法:
-
藉著在更新伺服器上提供伺服器端邏輯(例如,實作計算 site.xml 對映的 Servlet,
並依據某些使用者準則控制對個別保存檔的存取權)。
-
藉著提供網站物件的自訂具體實作(已安裝在用戶端機器上,更新伺服器指定 <site type="">)。
自訂具體網站實作和支援必要控制機制的伺服器端邏輯。
Eclipse 提供示範依據特性金鑰檔存取機制的實作範例。