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
>
<!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
>
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.
-
<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, 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"
-
<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/
archivados de conector
(por ejemplo, org.eclipse.ui_1.0.3.jar)
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.
