Mappe du site du serveur de mise à jour
Tout serveur accessible par URL peut servir de serveur de mise à jour
Eclipse par défaut. L'implémentation par défaut considère que
le serveur utilisé est un serveur à présentation fixe. Le contenu du serveur
(en termes de plug-in et de fonctions disponibles) est décrit dans le
fichier de mappe de site site.xml. Ce fichier peut-être
édité manuellement ou généré dynamiquement par le serveur.
Mappe du site
L'URL du serveur de mise à jour peut être spécifiée comme URL
complète du fichier de mappe du site ou comme URL d'un chemin
de répertoire contenant le fichier de mappe du site (revient à
traiter index.html). Le format site.xml de la mappe de site est
défini par le dtd suivant :
<?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
>
Les définitions d'élément et d'attribut sont les suivantes :
-
<site> : définit la mappe de site
-
type : spécification facultative du type de site. Cette
valeur fait référence à une chaîne de type enregistrée via
l'extension de la structure d'installation. Si elle n'est pas spécifiée, le type de
site Eclipse par défaut est utilisé (comme spécifié dans le présent document).
-
url : URL facultative définissant l'URL de base du site
de mise à jour (utilisée pour déterminer chaque emplacement
de <fonction> et <d'archive>). Ce chemin peut être relatif
ou complet. S'il est relatif, il l'est par rapport à site.xml. S'il
n'est pas spécifié, la valeur par défaut correspond à l'emplacement
de l'URL du fichier site.xml.
-
<description> : brève description sous forme de texte simple. A
traduire.
-
url : URL facultative de la description intégrale, sous forme
de fichier HTML. L'URL peut être spécifiée comme complète ou relative. Si elle est relative, elle l'est par rapport à site.xml.
Pour le traitement des versions localisées, la valeur de l'URL
doit être séparée afin d'autoriser la spécification d'une autre URL
pour chaque langue.
-
<feature> : identifie l'archive d'une fonction référencée
-
type : spécification de type de fonction facultative. Cette
valeur fait référence à une chaîne de type enregistrée via
l'extension de la structure d'installation. Si elle n'est pas
spécifiée, le type de fonction par défaut du site est utilisé. Si le
type de site correspond au type de site Eclipse par défaut, le type
de fonction par défaut est le type de fonction livré (comme
spécifié dans le présent document).
-
id : identificateur de fonction facultatif. Ces informations sont
utilisées pour l'optimisation des performances (accélération des
recherches de fonction). Il doit correspondre à celui spécifié dans
le fichier feature.xml de l'archive référencée (attribut url).
S'il est spécifié, l'attribut de version doit également être spécifié.
-
version : version de fonction facultative. Ces informations sont
utilisées pour l'optimisation des performances (accélération des
recherches de fonction). Cette version doit correspondre à celle
spécifiée dans le fichier feature.xml de l'archive référencée (attribut url).
Si elle est spécifiée, l'attribut id doit également être spécifié.
-
url : référence d'URL requise pour l'archive de la fonction. Elle peut être
relative ou complète. Si elle est relative, elle l'est par
rapport à l'emplacement du fichier .xml.
Remarque :
L'implémentation du site par défaut permet d'accéder à des
fonctions sans que ces dernières ne soient explicitement
déclarées à l'aide d'une entrée <feature>. Par défaut, une
référence de fonction non déclarée est interprétée comme fichier
"features/<id>_<version>.jar"
-
<archive> : identifie une archive de "stockage" référencée
(les fichiers référencés via l'élément <plugin> ou
<data> dans le manifeste des fonctions). Le site gère
simplement les archives sous forme de mappe chemin/URL. Pour
l'implémentation par défaut
du site Eclipse, il n'est pas nécessaire d'inclure la section
<archive> dans la mappe du site (site.xml). Toute référence
d'archive non définie de manière explicite comme partie de section
<archive> est considérée comme étant mappée à une url sous la
forme "<archivePath>" (chemin relatif à l'emplacement du fichier
site.xml).
-
path : identificateur de chemin d'archive requis. Il s'agit
d'une chaîne déterminée par la fonction référençant cette archive
et non interprétée par le site (sinon comme symbole de recherche).
-
url : référence d'URL requise pour l'archive. Elle peut être
relative ou complète.
Si elle est relative, elle l'est par rapport à
l'emplacement du fichier .xml.
-
<category-def> : définition facultative d'une catégorie
pouvant être utilisée par le support d'installation et de mise à jour
pour organiser les fonctions sous forme de hiérarchie
-
name : nom de la catégorie. Spécifié sous forme de chemin de
symboles de nom séparés par /
-
label : libellé affichable. A
traduire.
-
<category> : spécification de catégorie pour une entrée de fonction
name : nom de la catégorie
En général, les documents du manifeste feature.xml doivent
spécifier un encodage UTF-8. Par exemple
<?xml version="1.0" encoding="UTF-8"?>
Le texte traduisible du fichier site.xml peut être séparé en
fichiers site<_locale>.properties
à l'aide des conventions de regroupement des propriétés Java. Les
chaînes traduites sont utilisées lors de l'installation (n'utilisez
donc pas le mécanisme d'exécution des fragments de plug-in). L'emplacement
des groupes de propriétés est relatif à l'emplacement du fichier site.xml.
Présentation par défaut du site
<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)
Contrôle des accès
L'implémentation par défaut du site Eclipse prend en charge les
accès http avec l'authentification de base des utilisateurs (ID
utilisateur et mot de passe).
Des mécanismes de contrôle d'accès personnalisés peuvent être
ajoutés à la plateforme Eclipse de base de deux manières différentes :
-
en fournissant une logique côté serveur sur le serveur de mise à jour
(par exemple, en implémentant des servlets qui génèrent la mappe
site.xml et qui contrôlent l'accès à chaque archive en fonction de
critères définis par l'utilisateur)
-
en fournissant une implémentation concrète personnalisée de l'objet
du site (installée sur la machine client avec spécification du
serveur de mise à jour <site type="">).
L'implémentation concrète personnalisée du site et les logiques
côté serveur prennent en charge les mécanismes de contrôle
requis.
Eclipse fournit un exemple illustrant l'implémentation
d'un mécanisme d'accès en fonction des fichiers de clés de fonction.