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
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
>
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.
- mirrorsURL - URL optionnelle pointant vers un fichier qui contient les définitions du miroir du site de mise à jour. Cette URL peut être absolue ou relative à ce site. Le fichier miroir est décrit plus loin dans ce document.
- <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 absolue 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".
Remarque : pour de meilleures performances de recherche, définissez toujours les attributs id et version.
- patch : attribut facultatif qui indique qu'il s'agit d'un correctif (type spécial de fonction).
Remarque : pour de meilleures performances de recherche, définissez toujours cet attribut.
- os : spécification facultative du système d'exploitation. Liste de désignateurs de systèmes d'exploitation, séparés par une virgule, définie par Eclipse (reportez-vous au
Javadoc pour org.eclipse.core.runtime.Platform). Indique que cette fonction ne doit être installée que sur l'un des systèmes de fenêtrage spécifiés. Si cet attribut n'est pas précisé, la fonction peut être
installée sur tous les systèmes (implémentation portable). Ces informations fournissent des
recommandations utiles au support d'installation et de mise à jour
(l'utilisateur peut forcer l'installation
d'une fonction quelle que soit la valeur de ce paramètre).
- arch : spécification facultative de
l'architecture de la machine. Liste de désignateurs d'architecture,
séparés par une virgule, définie par Eclipse (reportez-vous au
Javadoc pour org.eclipse.core.runtime.Platform). Indique que cette fonction ne doit être installée que sur l'un des
systèmes spécifiés. Si cet attribut n'est pas précisé, la fonction peut être
installée sur tous les systèmes (implémentation portable). Ces informations fournissent des
recommandations utiles au support d'installation et de mise à jour
(l'utilisateur peut forcer l'installation
d'une fonction quelle que soit la valeur de ce paramètre).
- ws : spécification facultative du système de fenêtrage. Liste de désignateurs de systèmes de fenêtrage, séparés par une virgule, définie par Eclipse (reportez-vous au
Javadoc pour org.eclipse.core.runtime.Platform). Indique que cette fonction ne doit être installée que sur l'un des systèmes de fenêtrage spécifiés. Si cet attribut n'est pas précisé, la fonction peut être
installée sur tous les systèmes (implémentation portable). Ces informations fournissent des
recommandations utiles au support d'installation et de mise à jour
(l'utilisateur peut forcer l'installation
d'une fonction quelle que soit la valeur de ce paramètre).
- nl : spécification facultative des paramètres régionaux. Liste
de désignateurs de paramètre régional, séparés par des
virgules, définie par Java. Indique que cette fonction ne doit être installée
que sur un système dont les paramètres régionaux sont compatibles
(à l'aide des règles Java pour la correspondance des paramètres
régionaux). Si cet attribut n'est pas précisé, la fonction peut être
installée sur tous les systèmes (implémentation
indépendante de la langue choisie). Ces informations fournissent des
recommandations utiles au support d'installation et de mise à jour
(l'utilisateur peut forcer l'installation
d'une fonction quelle que soit la valeur de ce paramètre).
- <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
(comme org.eclipse.javatools_1.0.1.jar)
<featureId>_<featureVersion>/
(facultatif)
non-plug-in files for feature
plugins/
archives de plug-ins
(eg. org.eclipse.ui_1.0.3.jar)
Fichiers miroir
Le fichier miroir de mise à jour (sur lequel pointe l'attribut mirrorsURL du
<site>) contient une définition des miroirs du site de mise à jour. Son format est définit par la DTD suivante :
<?xml encoding="ISO-8859-1"?>
<!ELEMENT mirrors (mirror*))>
<!ELEMENT mirror EMPTY>
<!ATTLIST mirror
url
CDATA #REQUIRED
label
CDATA #REQUIRED
>
- <mirrors> : définit les miroirs du site de mise à jour disponibles
- <mirror> : définit un site miroir
- url : l'URL du site miroir
- label : libellé affichable. A
traduire.
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.