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
mirrorURL CDATA #IMPLIED
availableLocales CDATA #IMPLIED
digestURL CDATA #IMPLIED
associateSitesURL CDATA #IMPLIED
pack200 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>). Elle peut être
relative ou complète. Si elle est relative, elle l'est par rapport à site.xml. Si elle
n'est pas spécifiée, 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.
- availableLocales - Liste facultative des environnements locaux pour lesquels des prétraitements sont disponibles
- digestURL - URL facultative qui pointe sur le répertoire contenant les prétraitements. Lors de l'exécution, selon les environnements locaux disponibles, l'un des prétraitements du répertoire indiqué dans digestURL sera utilisé afin de sélectionner les propriétés issues de la classe java.util.ResourceBundle. Les fichiers de prétraitement doivent être nommés digest<locale>.zip, où locale correspond à une chaîne vide (prétraitement par défaut) ou à un environnement local défini dans java.util.Locale.
- associateSitesURL - URL facultative qui pointe sur le fichier xml répertoriant les sites qui doivent être ouverts au même moment sur ce site
- pack200 - Cet attribut indique au gestionnaire de mise à jour que du contenu compressé doit être téléchargé à la place du fichier jar normal. Si cet attribut n'est pas défini, le gestionnaire de mise à jour n'ouvre jamais le contenu compressé et télécharge le fichier jar. Pour extraire un fichier jar d'un site de mise à jour indiquant la valeur pack200="true", le gestionnaire de mise à jour recherche au préalable un fichier pack.gz à côté du fichier jar qu'il recherche. Par exemple, lorsque vous téléchargez le fichier foo.jar, le gestionnaire de mise à jour recherche en premier lieu le fichier foo.jar.pack.gz. Si le fichier pack.gz existe, il sera téléchargé à la place du fichier jar.
Une fois le fichier pack.gz téléchargé, il est décompressé afin de pouvoir extraire le fichier jar original.
Si le fichier pack.gz n'existe pas sur le site de mise à jour, le fichier jar normal sera téléchargé.
- <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. 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.
Fichier de prétraitement
Les fichiers de prétraitement (ceux désignés par l'attribut digestURL du <site>) sont des fichiers XML zippés avec le DDT suivant :
<?xml encoding="ISO-8859-1"?>
<!ELEMENT digest (feature*)>
Où la définition de la fonction est identique à celle du manifeste de la fonction.
Fichiers de site associés
Le fichier de site associé (celui désigné par l'attribut associateSitesURL du <site>) contient la définition des sites associés. Son format est défini par le dtd suivant :
<?xml encoding="ISO-8859-1"?>
<!ELEMENT associateSites (associateSite*)>
<!ELEMENT associateSites EMPTY>
<!ATTLIST associateSite
url
CDATA #REQUIRED
label
CDATA #REQUIRED
>
- <associateSites> - définit les sites associés à ce site de mise à jour
- <associateSite> - définit un site associé
- url - URL du site associé
- 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.