Site-Übersicht des Aktualisierungsservers
Der standardmäßige Eclipse-Aktualisierungsserver ist jeder beliebige über URL zugreifbare Server. Die Standardimplementierung geht von einem Fixed Layout-Server aus. Der Inhalt des Servers (in Bezug auf die vorhandenen Komponenten und Plug-ins) wird in einer Website-Übersichtsdatei site.xml definiert. Diese Datei kann manuell oder dynamisch rechnergesteuert vom Server verwaltet werden.
Website-Übersicht
Die URL des Aktualisierungsservers kann als vollständige URL für die Website-Übersichtsdatei oder als URL eines Verzeichnispfads mit der Website-Übersichtsdatei (ähnlich der index.html-Verarbeitung) angegeben werden. Das Format der Website-Übersicht site.xml wird durch folgende dtd definiert:
<?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
>
Die Elemente und Attribute werden wie folgt definiert:
- <site> - Definiert die Website-Übersicht
- type - Optionale Spezifikation des Site-Typs. Der Wert bezieht sich auf eine Typzeichenfolge, die über den Erweiterungspunkt install framework registriert ist. Wenn nicht angegeben, wird für den Typ der standardmäßige Eclipse-Site-Typ (wie in diesem Dokument angegeben) herangezogen.
- url - Optionale URL, die die Schriftgrundlinien-URL der Update-Site definiert (wird verwendet, um einzelne Positionen von <Features> und <Archiven> festzulegen). Kann relativ oder absolut sein. Bei relativer Angabe ist diese relativ zu site.xml. Wenn keine Angabe vorhanden ist, wird standardmäßig die URL-Adresse der site.xml-Datei herangezogen.
- mirrorsURL - Optionale URL, die auf eine Datei verweist, die Definitionen des Aktualisierungssitespiegels enthält. Diese URL kann absolut oder im Verhältnis zu dieser Site sein. Die Spiegeldatei wird später in diesem Dokument beschrieben.
- <description> - Kurzbeschreibung als einfacher Text. Sollte übersetzt werden.
- url - Optionale URL für die vollständige Beschreibung als HTML. Die URL kann absolut oder relativ angegeben werden. Bei relativer Angabe ist die URL relativ zu site.xml.
Beachten Sie, dass für die NL-Bearbeitung der URL-Wert getrennt sein sollte, um die Angabe alternativer URLs für jede Landessprache zu ermöglichen.
- <feature> - Kennzeichnet das Komponentenarchiv, auf das verwiesen wird.
- type - Optionale Spezifikation des Komponententyps. Der Wert bezieht sich auf eine Typzeichenfolge, die über den Erweiterungspunkt install framework registriert ist. Wenn nicht angegeben, wird für den Typ der standardmäßige Komponententyp herangezogen. Wenn der Site-Typ der standardmäßige Eclipse-Site-Typ ist, ist der standardmäßige Komponententyp der paketierte Komponententyp (wie in diesem Dokument angegeben).
- id - Optionale Komponentenkennung. Die Information wird zur Performance-Optimierung verwendet, um die Suche nach Komponenten zu beschleunigen. Muss mit der in feature.xml des Archivs, auf das verwiesen wird, (das url-Attribut) angegebenen Kennung übereinstimmen.
Wenn angegeben, muss auch das Versionsattribut angegeben werden.
- version - Optionale Komponentenversion. Die Information wird zur Performance-Optimierung verwendet, um die Suche nach Komponenten zu beschleunigen. Muss mit der in feature.xml des Archivs, auf das verwiesen wird, (das url-Attribut) angegebenen Version übereinstimmen.
Wenn angegeben, muss auch das ID-Attribut angegeben werden.
- url - Erforderlicher URL-Verweis auf das Komponentenarchiv. Kann relativ oder absolut sein. Bei relativer Angabe ist er relativ zur Adresse der Datei site.xml.
Hinweis:
Die standardmäßige Site-Implementierung ermöglicht den Zugriff auf Komponenten ohne explizite Deklaration mit Hilfe des Eintrags <feature>. Standardmäßig wird ein nicht deklarierter Featureverweis als "features/<id>_<version>.jar" interpretiert.
Hinweis: Um eine bessere Darstellungsleistung zu erreichen, sind die ID und die Versionsattribute immer zu definieren.
- patch - Optionales Attribut, um anzugeben, dass es sich um einen Patch-Code handelt (spezieller Featuretyp).
Hinweis: Um eine bessere Darstellungsleistung zu erreichen, definieren Sie dieses Attribut immer.
- os - Optionale Spezifikation des Betriebssystems. Eine durch Kommas getrennte Aufstellung von Betriebssystem-Laufwerkskennzeichungen, die von Eclipse definiert werden (siehe Javadoc für
org.eclipse.core.runtime.Platform). Weist darauf hin, dass diese Komponente nur auf einem der angegebenen Betriebssysteme installiert werden sollte. Wenn dieses Attribut nicht angegeben wird, kann die Komponente auf allen Systemen installiert werden (tragbare Implementierung). Diese Information wird von der Installations- und Aktualisierungsunterstützung als ein Hinweis verwendet (Benutzer können die Installation eines Features ungeachtet dieser Einstellung erzwingen).
- arch - Optionale Spezifikation der Systemarchitektur. Eine durch Kommas getrennte Aufstellung von Architektur-Laufwerkskennzeichungen, die von Eclipse definiert werden (siehe Javadoc für
org.eclipse.core.runtime.Platform). Weist darauf hin, dass diese Komponente nur auf einem der angegebenen Systeme installiert werden sollte. Wenn dieses Attribut nicht angegeben wird, kann die Komponente auf allen Systemen installiert werden (tragbare Implementierung). Diese Information wird von der Installations- und Aktualisierungsunterstützung als ein Hinweis verwendet (Benutzer können die Installation eines Features ungeachtet dieser Einstellung erzwingen).
- ws - Optionale Angabe des Fenstertechniksystems. Eine durch Kommas getrennte Aufstellung von Fenstersystem-Laufwerkskennzeichungen, die von Eclipse definiert werden (siehe Javadoc für
org.eclipse.core.runtime.Platform). Weist darauf hin, dass diese Komponente nur auf einem der angegebenen Fenstersysteme installiert werden sollte. Wenn dieses Attribut nicht angegeben wird, kann die Komponente auf allen Systemen installiert werden (tragbare Implementierung). Diese Information wird von der Installations- und Aktualisierungsunterstützung als ein Hinweis verwendet (Benutzer können die Installation eines Features ungeachtet dieser Einstellung erzwingen).
- nl - Optionale Angabe der Locale. Eine durch Komma getrennte, von Java definierte Liste von Localedesignatoren. Weist darauf hin, dass diese Komponente nur auf einem System, das mit einer kompatiblen Locale läuft, installiert werden sollte. Wenn dieses Attribut nicht angegeben wird, kann die Komponente auf allen Systemen installiert werden (sprachunabhängige Implementierung). Diese Information wird von der Installations- und Aktualisierungsunterstützung als ein Hinweis verwendet (Benutzer können die Installation eines Features ungeachtet dieser Einstellung erzwingen).
- <archive> - Kennzeichnet das "Speicher"-Archiv, auf das verwiesen wird (die eigentlichen Dateien, auf die über die Elemente <plugin> oder <data> im Feature-Manifest verwiesen wird). Die Site verwaltet die Archive einfach als Zuordnung von Pfad zu URL. Für die standardmäßige Eclipse-Site-Implementierung muss der Abschnitt <archive> nicht in der Website-Übersicht (site.xml) enthalten sein. Bei allen nicht explizit als Teil eines Abschnitts <archive> definierten Archivverweisen wird davon ausgegangen, dass diese in Form von "<archivePath>" relativ zur Adresse der site.xml-Datei einer URL zugeordnet werden.
- path - Erforderliche Archivpfadkennung. Dies ist eine Zeichenfolge, die von der Komponente bestimmt wird, die auf dieses Archiv verweist und nicht anderweitig von der Site interpretiert wird (ausgenommen als Suchfunktions-Token).
- url - Erforderlicher URL-Verweis auf das Archiv. Kann relativ oder absolut sein.
Bei relativer Angabe ist er relativ zur Adresse der Datei site.xml.
- <category-def> - Eine optionale Definition einer Kategorie, die vom Installations- und Update-Support zur hierarchischen Organisation der Komponent en verwendet werden kann.
- name - Kategoriename. Wird als Pfad von Namens-Token angegeben, die durch / getrennt sind.
- label - Anzeigbare Bezeichnung. Zur Übersetzung gedacht.
- <category> - Eigentliche Kategoriespezifikation für einen Komponenteneintrag.
Beachten Sie, dass feature.xml-Manifestdokumente im allgemeinen UTF-8-Codierung angeben sollten. Hier ein Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
Umsetzbarer Text in site.xml kann mit Hilfe von Bündelungskonventionen für Java-Eigenschaften in site<_locale>.properties-Dateien getrennt werden. Beachten Sie, dass die übersetzten Zeichenfolgen zum Zeitpunkt der Installation verwendet werden (d.h. verwenden Sie nicht den Plug-in-Fragmentlaufzeitmechanismus). Die Eigenschaften-Bundles befinden sich relativ zur site.xml-Adresse.
Standardmäßiges Site-Layout
<site root>/
site.xml
features/
feature archives
(eg. org.eclipse.javatools_1.0.1.jar)
<featureId>_<featureVersion>/
(optional)
non-plug-in files for feature
plugins/
Plug-in-Archive
(eg. org.eclipse.ui_1.0.3.jar)
Spiegeldatei
Die Datei des Aktualisierungsspiegels (die, auf die durch das mirrorsURL-Attribut von <site> verwiesen wurde), enthält Definitionen für Aktualisierungssitespiegel. Das Format wird durch die folgende DTD definiert:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT mirrors (mirror*))>
<!ELEMENT mirror EMPTY>
<!ATTLIST mirror
url
CDATA #REQUIRED
label CDATA #REQUIRED
>
- <mirrors> - definiert die verfügbaren Aktualisierungssitespiegel
- <mirror> - definiert eine Spiegelsite
- url - die URL der Spiegelsite
- label - Anzeigbare Bezeichnung. Zur Übersetzung gedacht.
Zugriffskontrolle
Die standardmäßige Eclipse-Site-Implementierung liefert Unterstützung für http-Zugriff mit grundlegender Benutzerauthentifizierung (Benutzer-ID und Kennwort).
Angepasste Zugriffskontrollmechanismen können auf zwei Arten zu Basis-Eclipse hinzugefügt werden:
-
Durch eine serverseitige Logik auf dem Aktualisierungsserver (z.B. Implementieren von Servlets, die die site.xml-Zuordnung berechnen und den Zugriff auf einzelne Archive basierend auf einigen Benutzerkriterien steuern)
-
Durch eine angepasste konkrete Implementierung des Site-Objekts (auf der angegebenen Client-Maschine, Aktualisierungsserver installiert <site type="">).
Die angepasste konkrete Site-Implementierung unterstützt gemeinsam mit einer allfälligen serverseitigen Logik die erforderlichen Kontrollmechanismen.
Eclipse bietet ein Beispiel für die Implementierung eines Zugriffsmechanismus basierend auf Komponentenschlüsseldateien.