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
>
<!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
>
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 zur Definition der Update Site Baseline-URL (zur Festlegung der Adresse von einzelnen <feature> und <archive>). Kann relativ oder absolut sein. Bei relativer Angabe ist diese relativ zu site.xml. Wenn nicht angegeben, wird standardmäßig die URL-Adresse der site.xml-Datei herangezogen.
-
<description> - Kurzbeschreibung als einfacher Text. Zur Übersetzung gedacht.
-
url - Optionale URL für die vollständige Beschreibung als HTML. Die URL kann absolut oder relativ angegeben werden. Bei relativer Angabe ist diese relativ zu site.xml.
Beachten Sie, dass der URL-Wert für die Verarbeitung der Landessprachen getrennt sein sollte, so dass unterschiedliche URLs für die einzelnen Landessprachen angegeben werden können.
-
<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 Komponentenverweis als "features/<id>_<version>.jar" interpretiert.
-
<archive> - Kennzeichnet das "Speicher"-Archiv, auf das verwiesen wird (die eigentlichen Dateien, auf die über die Elemente <plugin> oder <data> im Komponentenmanifest 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. Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
Umsetzbarer Text in site.xml kann mit Hilfe von Java-Merkmalsbündelungskonventionen 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 Merkmals-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 argives
(eg. org.eclipse.ui_1.0.3.jar)
Zugriffskonorolle
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.