Eclipse proporciona varias estrategias para dar soporte a las instalaciones multiusuario. Cada estrategia satisface un escenario específico. Este documento abarca estas estrategias y describe cuándo debe utilizarse cada una de ellas. Los lectores previstos son técnicos de productos que configuren un producto basado en Eclipse para su distribución, administradores del sistema que configuren productos basados en Eclipse para utilizarlos en una red y desarrolladores interesados en crear conectores que tengan un comportamiento correcto en tales configuraciones.
Última modificación: 17 de junio de 2005
Como se describe en el artículo Opciones de entorno de ejecución Eclipse, hay tres ubicaciones diferentes que son importantes en el contexto de desplegar Eclipse en una configuración multiusuario:
Antes de que Eclipse se ejecute por primera vez, el área de configuración es básicamente un directorio vacío. Esta ubicación se llena gradualmente con el entorno de ejecución de Eclipse y otros conectores durante las sesiones de Eclipse. La mayor parte de los metadatos guardados por el entorno de ejecución de Eclipse (por ejemplo, dependencias de conector o el registro de extensiones) se graban durante la conclusión de la primera sesión. Si no se efectúan cambios en el conjunto de conectores instalados, no tienen que escribirse datos durante las sesiones posteriores. Diremos entonces que la configuración se ha inicializado. Cuando la configuración se encuentra en este estado, es incluso posible hacer que el área de configuración sea de sólo lectura. Hacer que el área de configuración sea de sólo lectura es útil en situaciones tales como, por ejemplo, las configuraciones compartidas (hablaremos más de esto más adelante).
La opción de línea de mandatos -initialize
permite inicializar
el área de configuración sin que sea necesario ejecutar la aplicación Eclipse.
El procedimiento de inicialización fuerza la creación de metadatos que se
graban en la ubicación de configuración durante la primera sesión de Eclipse.
Sin embargo, hay otros archivos mantenidos en el área de configuración que sólo
se crean cuando son necesarios.
Ejemplos de éstos son los siguientes:
Platform.asLocalURL(URL)
. El resultado es que, si el URL hace
referencia a un archivo dentro de un archivo JAR, ese archivo se extraerá al
sistema de archivos bajo el área de configuración.
Una vez que se haya extraído un archivo, las llamadas posteriores a
Platform.asLocalURL()
podrán encontrarlo, por lo que no se
producirán extracciones adicionales para ese archivo. Una situación
similar (de hecho, la original) donde se
utiliza Platform.asLocalURL
que tiene las mismas consecuencias se
relaciona para asegurar que el contenido remoto (por ejemplo, un archivo
accesible a través de un URL http) está disponible localmente.
Para estos casos (y otros que los conectores de terceros podrían introducir), el procedimiento de inicialización no es suficiente para inicializar completamente el área de configuración. Todavía será necesario grabar en el área de configuración, aunque esta necesidad tiende a desaparecer, ya que se visitan todas las vías de acceso de ejecución de la aplicación que causan la creación de archivos en el área de configuración. Sólo después de esto podrá decirse que el área de configuración está totalmente inicializada y no será necesario ningún acceso de grabación para que Eclipse se ejecute.
Realmente es una situación de un solo usuario. La instalación de Eclipse la utiliza un solo usuario y éste tiene privilegios de acceso completos. La ubicación del área de configuración es por omisión el directorio de configuración bajo la ubicación de instalación.
El procedimiento para configurar esta situación sólo requiere asegurarse de que el usuario tenga derechos completos a la ubicación de instalación.
En esta situación, una sola área de instalación la comparten muchos usuarios. El directorio "configuration" bajo el área de instalación sólo aloja el archivo config.ini tal como se envía con el producto (no está inicializado). Cada usuario tiene su propia ubicación de configuración autónoma local.
La configuración de esta situación requiere hacer que el área de instalación sea de sólo lectura para usuarios normales. Cuando los usuarios inician Eclipse, esto hace que el área de configuración automáticamente tome por omisión un directorio bajo el directorio inicial del usuario. Si no se toma esta medida, todos los usuarios acabarán utilizando la misma ubicación para su área de configuración, lo que no está soportado.
Los usuarios comparten en este caso no sólo un área de instalación, sino también un área de configuración maestro. Los usuarios, por omisión, todavía tienen sus propias áreas de configuración grabables privadas. Un área de configuración privada del usuario se muestra en cascada en la configuración maestra y no contendrá datos interesantes si la configuración maestra se ha inicializado por completo y no se ha producido ningún cambio en el conjunto de conectores que se han de instalar.
En esta situación, el administrador del sistema inicializa la configuración maestra (normalmente bajo la ubicación de instalación) y asegura que todas las áreas de instalación y configuración maestras son de sólo lectura para los usuarios. Cuando los usuarios ejecutan el producto basado en Eclipse desde la ubicación de instalación compartida, ya que no tienen privilegios de acceso de grabación en el área de configuración bajo el área de instalación, un área de configuración local se calculará y se inicializará automáticamente.
Cuanto más completamente inicializado esté la configuración compartida, menos necesidad habrá de que se creen archivos bajo la configuración local.
La ubicación por omisión para un área de configuración privada es:
<dir-ínicio-usuario>/.eclipse/<id-producto>_<versión-producto>/configuration
El directorio de inicio del usuario se determina con la propiedad del
sistema Java user.home
.
El ID y la versión del producto se obtienen del archivo de marcador de producto
.eclipseproduct
bajo la instalación de Eclipse.
Un área de configuración que no sea por omisión puede establecer la
propiedad del sistema
osgi.configuration.area
.
Esta propiedad puede establecerla el usuario final, pero es más práctico
establecerla en el archivo .ini del
lanzador o en el archivo config.ini en la ubicación de configuración base.
Los conectores pueden instalarse en/eliminarse de la configuración compartida. Los usuarios alcanzarán estos cambios la próxima vez que se ejecute Eclipse. Es necesario asegurarse de que los usuarios tengan la configuración compartida ya que su configuración maestra no ejecuta Eclipse.
Los usuarios pueden modificar sus áreas de configuración local instalando conectores adicionales. Esto no causa ningún cambio en la configuración compartida, para que otros usuarios no vean los cambios. Tenga en cuenta que los conectores configurados en la configuración compartida no pueden eliminarse. Si lo son, se volverán a instalar la próxima vez que se inicie la plataforma.