Mapa del sitio del servidor de actualizaciones
El servidor de actualizaciones por omisión de Eclipse es cualquier servidor
accesible por URL. La implementación por omisión presupone un servidor de
diseño fijo. El contenido del servidor (en términos de características y
conectores disponibles) se describe en un archivo de mapa del sitio,
site.xml. El archivo se puede mantener de forma manual, pero el servidor
también lo puede calcular dinámicamente.
Mapa del sitio
El URL del servidor de actualizaciones se puede especificar como URL completo
del archivo de mapa del sitio, o bien como URL de una vía de acceso del
directorio que contiene el archivo de mapa del sitio (parecido al proceso de
index.html). El formato del archivo site.xml de mapa del sitio está definido
por la siguiente dtd:
<?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
>
Las definiciones de los elementos y atributos son las siguientes:
- <site>: define el mapa del sitio.
- type: especificación opcional del tipo de sitio. El valor hace referencia a una
serie de tipo registrada por medio del punto de extensión de la infraestructura
de instalación. Si no se especifica, se presupone que es el tipo de
sitio por omisión de Eclipse (tal como se ha especificado en este documento).
- url: valor opcional que define el URL de línea base del sitio de
actualizaciones (empleado para determinar la ubicación individual de <feature> y
<archive>). Puede ser relativo o absoluto.Si se especifica como
relativo, lo es en relación al archivo site.xml.Si no se especifica, el valor
por omisión es la ubicación del URL del archivo site.xml.
- mirrorsURL: URL opcional que apunta a un archivo que contiene definiciones de
sitios duplicados de actualización. Este URL puede ser absoluto o relativo a este sitio. El archivo de sitios
duplicados se describe posteriormente en este documento.
- <description>: texto descriptivo, corto y sencillo. Debe ser traducible.
- url: URL opcional de la descripción completa en forma de HTML. El URL se puede
especificar como absoluto o relativo. Si se especifica como relativo, el URL lo es
en relación al archivo site.xml.
Observe que, para el manejo de idiomas
nacionales (NL), el valor del URL debe estar separado para permitir especificar
URL alternativos para cada idioma nacional.
- <feature>: identifica el archivado de característica al que se hace referencia.
- type: especificación opcional del tipo de característica. El valor hace referencia a una
serie de tipo registrada por medio del punto de extensión de la infraestructura
de instalación. Si no se especifica, se presupone que es el tipo de
característica por omisión del sitio. Si el tipo de sitio es el que se toma por
omisión en Eclipse, el tipo de característica por omisión es el empaquetado
(tal como se ha especificado en este documento).
- id: identificador opcional de la característica. La información se emplea como
optimización del rendimiento, para agilizar las búsquedas de
características. Debe coincidir con el identificador especificado en el archivo
feature.xml del archivado al que se hace referencia (el atributo url).
Si se
especifica, hay que especificar también el atributo version.
- version: versión opcional de la característica. La información se emplea como
optimización del rendimiento, para agilizar las búsquedas de
características. Debe coincidir con la versión especificada en el archivo
feature.xml del archivado al que se hace referencia (el atributo url).
Si se
especifica, hay que especificar también el atributo id.
- url: atributo necesario que indica la referencia URL al archivado de la
característica. Puede ser relativo o absoluto. Si se especifica como relativo,
lo es en relación a la ubicación del archivo site.xml.
Nota: la implementación por omisión del sitio permite acceder a las
características sin que haga falta declararlas mediante una entrada
<feature>. Por omisión, una referencia a características no declaradas se
interpreta como "features/<id>_<version>.jar". Nota: para mejorar el
rendimiento de la búsqueda, defina siempre los atributos de ID y versión.
- patch: atributo opcional que indica que se trata de un parche (tipo
especial de característica).
Nota: para mejorar el rendimiento de la búsqueda, defina siempre este
atributo.
- os: especificación opcional de sistemas operativos. Lista separada por
comas de designadores de sistemas operativos definidos por Eclipse (consulte el
Javadoc de org.eclipse.core.runtime.Platform).
Indica que esta característica sólo se debe instalar en uno de los sistemas
operativos especificados. Si no se
especifica este atributo, la característica se puede instalar en todos los
sistemas (implementación transportable). Esta información se utiliza en el soporte
de instalación y actualización a modo de sugerencia (el usuario puede forzar la
instalación de la característica sin tener en cuenta este valor).
- arch: especificación opcional de arquitecturas de máquina. Lista separada por comas de
designadores de arquitectura definidos por Eclipse (consulte el Javadoc de
org.eclipse.core.runtime.Platform). Indica que esta característica solo
se debe instalar en uno de los sistemas especificados. Si no se
especifica este atributo, la característica se puede instalar en todos los
sistemas (implementación transportable). Esta información se utiliza en el soporte
de instalación y actualización a modo de sugerencia (el usuario puede forzar la
instalación de la característica sin tener en cuenta este valor).
- ws: especificación opcional de sistemas de colocación en ventanas. Lista
separada por comas de designadores de sistemas de ventanas definidos por
Eclipse (consulte el Javadoc de org.eclipse.core.runtime.Platform).
Indica que esta característica sólo se debe instalar en uno de los sistemas de
ventanas especificados. Si no se
especifica este atributo, la característica se puede instalar en todos los
sistemas (implementación transportable). Esta información se utiliza en el soporte
de instalación y actualización a modo de sugerencia (el usuario puede forzar la
instalación de la característica sin tener en cuenta este valor).
- nl: especificación opcional de entornos locales. Lista separada por comas de
designadores de entornos locales definidos por Java. Indica que esta
característica solo se debe instalar en un sistema que se ejecute con un
entorno local compatible (siguiendo las reglas Java de coincidencia con
entornos locales). Si no se especifica este atributo, la característica se
puede instalar en todos los sistemas (implementación independiente del
idioma). Esta información se utiliza en el soporte
de instalación y actualización a modo de sugerencia (el usuario puede forzar la
instalación de la característica sin tener en cuenta este valor).
- <archive>: identifica el archivado de "almacenamiento" al que se hace
referencia (los archivos reales a los que se hace referencia por medio de los
elementos <plugin> o <data> en el manifiesto de la
característica). El sitio gestiona los archivados tan solo como correlación
entre vía de acceso y URL. En la implementación de sitios por omisión de
Eclipse, no hace falta incluir la sección <archive> en el mapa del sitio
(site.xml). Se presupone que las referencias a archivados que no se hayan
definido explícitamente como parte de una sección <archive> están
correlacionadas con un url de formato "<víaAccesoArchivado>" y relativo a la
ubicación del archivo site.xml.
- path: identificador necesario de la vía de acceso del archivado. Es una serie
que viene determinada por la característica que hace referencia a este archivado y que el
sitio no interpreta de otra manera (que no sea un símbolo de búsqueda).
- url: atributo necesario que indica la referencia URL al
archivado. Puede ser relativo o absoluto.
Si se especifica como relativo,
lo es en relación a la ubicación del archivo site.xml.
- <category-def>: definición opcional de una categoría que el soporte de
instalación y actualización puede usar para organizar las características en
forma de jerarquía.
- name: nombre de la categoría. Se especifica como vía de acceso de símbolos
de nombres separados por una barra inclinada, /.
- label: etiqueta visualizable. Debe ser traducible.
- <category>: especificación de la categoría real de una entrada de
característica.
- name: nombre de la categoría.
Observe que, en general, los documentos del manifiesto feature.xml deben
especificar la codificación UTF-8. Por ejemplo:
<?xml version="1.0" encoding="UTF-8"?>
El texto traducible contenido en el archivo site.xml se puede separar en
archivos site<_entornoLocal>.properties siguiendo los convenios de
los paquetes compuestos de propiedades Java. Fíjese en que las series
traducidas se emplean en tiempo de instalación (es decir, no emplean el
mecanismo de tiempo de ejecución de los fragmentos de conector). La ubicación
de los paquetes compuestos de propiedades es relativa a la ubicación del archivo
site.xml.
Diseño de sitio por omisión
<directorio_raíz_sitio>/
site.xml
features/
archivados de característica
(por ejemplo, org.eclipse.javatools_1.0.1.jar)
<idCaracterística>_<versiónCaracterística>/
(opcional)
archivos no de conector de la característica
plugins/
archivadores de conectores
(eg. org.eclipse.ui_1.0.3.jar)
Archivo de sitios duplicados
El archivo de sitios duplicados de actualización (al que apunta el atributo
mirrorsURL de <sitio>) contiene una definición de sitios duplicados
de actualización. Su formato se define mediante la dtd siguiente:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT mirrors (mirror*))>
<!ELEMENT mirror EMPTY>
<!ATTLIST mirror
url
CDATA #REQUIRED
label
CDATA #REQUIRED
>
- <mirrors>: define los sitios duplicados de actualización disponibles
- <mirror>: define un sitio duplicado
- url - URL del sitio duplicado
- label: etiqueta visualizable. Debe ser traducible.
Controlar el acceso
La implementación de sitios por omisión de Eclipse proporciona soporte para el
acceso http con autenticación básica de los usuarios (ID de usuario y
contraseña).
Es posible añadir mecanismos de control de acceso personalizados al producto
Eclipse básico siguiendo uno de estos dos procedimientos:
-
suministrando lógica del lado del servidor en el servidor de actualizaciones
(por ejemplo, implementando servlets que calculan el mapa del archivo site.xml
y controlan el acceso a los archivados individuales tomando como base
determinados criterios del usuario)
-
suministrando una implementación personalizada concreta del objeto sitio
(<site type=""> especificado por el servidor de actualizaciones,
instalado en la máquina cliente).
La implementación
personalizada concreta del sitio junto con la lógica del lado del servidor
dan soporte a los mecanismos de control que se necesiten.
Eclipse proporciona un ejemplo que hace una demostración de la implementación
de un mecanismo de acceso basándose en los archivos de clave de característica.