Instalações de Multiusuários do Eclipse

O Eclipse fornece várias estratégias para suportar as instalações de multiusuários. Cada estratégia atende um cenário específico. Esse documento abrange essas estratégias, descrevendo quando cada uma deve ser utilizada. As leitoras planejadas são engenheiros do produto que configuram um produto baseado no Eclipse para distribuição, administradores de sistema que configuram produtos baseados no Eclipse a serem utilizados através de uma rede e desenvolvedores interessados na criação de plug-ins que são bons cidadãos em tais configurações.

Última Modificação: 17 de junho de 2005

Conceitos Básicos

Locais

Conforme descrito no artigo Opções de Tempo de Execução do Eclipse, há três locais diferentes importantes no contexto de implementação do Eclipse em uma configuração de multiusuários:

Inicialização de Configuração

Antes do Eclipse ter sido executado pela primeira vez, a área de configuração é basicamente um diretório vazio. Esse local é gradualmente ocupado pelo tempo de execução do Eclipse e outros plug-ins, através de sessões do Eclipse. A maioria dos metadados mantida pelo tempo de execução do Eclipse (por ex., dependências de plug-ins, o registro de extensão) é gravada durante o encerramento da primeira sessão. Se nenhuma alteração for feita para o conjunto de plug-ins instalados, nenhum dado precisará ser gravado durante as sessões subseqüentes. Dizemos que a configuração está inicializada. Quando a configuração está neste estado, é até possível criar a área de configuração de leitura. A criação da área de configuração de leitura é útil em cenários tais como as configurações compartilhadas (a maior parte posteriormente).

A opção da linha de comandos -initialize possibilita uma criação, para inicializar a área de configuração sem requer a execução de um aplicativo do Eclipse. O procedimento de inicialização força a criação de quaisquer metadados gravados fora do local de configuração, durante a primeira sessão do Eclipse. No entanto, há outros arquivos mantidos na área de configuração, criados apenas quando necessário. Por exemplo:

Para esses casos (e outros que os plug-ins de terceiros podem apresentar), o procedimento de inicialização não é suficiente para inicializar completamente a área de configuração. Ainda será necessário gravar na área de configuração, embora essa necessidade tende a desaparecer como todos os caminhos de execução no aplicativo, que fazem com que os arquivos a serem criados na área de configuração sejam visitados. Apenas depois disso pode-se dizer que a área de configuração está completamente inicializada e que nenhum acesso de gravação a ela jamais será requerido para execução do Eclipse.

Cenário #1 - Instalação Privada

Este realmente é um cenário de um único usuário. A instalação do Eclipse é utilizada por um único usuário e o usuário possui privilégios de acesso completos a ela. O local da área de configuração é padronizado para o diretório de configuração no local da instalação.

O procedimento para configuração desse cenário requer apenas certificar-se de que o usuário possui direitos totais no local de instalação.

Cenário #2 - Instalação Compartilhada

Neste cenário, uma única área de instalação é compartilhada por muitos usuários. O diretório de "configuração" na área de instalação é pessoal apenas para o config.ini conforme enviado com o produto (ele não é inicializado). Cada usuário possui seu próprio local de configuração independente.

A configuração desse cenário requer a criação da área de instalação de leitura para usuários comuns. Quando os usuários iniciam o Eclipse, isso faz com que a área de configuração seja automaticamente padronizada como um diretório no diretório pessoa do usuário. Se essa medida não for tomada, todos os usuários serão finalizados utilizando o mesmo local para a área de configuração, que não é suportada.

Cenário #3 - Configuração Compartilhada

Aqui os usuários compartilham não apenas uma área de instalação, mas também uma área de configuração mestre. Os usuários ainda têm, por padrão, suas próprias áreas de configuração gravável privada. A área de configuração privada de um usuário é colocada em cascata para a configuração mestre e não irá conter nenhum dado interessante, se a configuração mestre foi completamente inicializada e não ocorreu nenhuma alteração para instalação do conjunto de plug-ins.

Neste cenário, o administrador do sistema inicializa a configuração mestre (normalmente, no local de instalação) e garante que todas as áreas de instalação e configuração sejam de leitura para os usuários. Quando os usuários executam o produto baseado no Eclipse a partir do local de instalação compartilhado, desde que eles não tenham privilégios de acesso de gravação para a área de configuração na área de instalação, uma área de configuração local será automaticamente calculada e inicializada.

Quanto mais completamente inicializada for a configuração compartilhada, menos necessidade haverá de criação dos arquivos na configuração local.

Configurando o Local da Área de Configuração Privada

O local padrão para uma área de configuração privada é:

<user-home-dir>/.eclipse/<product-id>_<product-version>/configuration

O diretório pessoal do usuário é determinado pela propriedade de sistema Java user.home. O ID do produto e a versão são obtidos do arquivo marcador do produto .eclipseproduct na instalação do Eclipse.

Uma área de configuração que não seja padrão pode ser definida pela configuração da propriedade de sistema osgi.configuration.area. Essa propriedade pode ser configurada pelo usuário final, mas é mais conveniente configurá-la no arquivo .ini do ativador ou no arquivo config.ini no local de configuração de base.

Atualizando

Configuração Compartilhada

Os plug-ins podem ser instalados em/removidos da configuração compartilhada. Os usuários serão capturados com estas alterações, a próxima vez que o Eclipse for executado. É necessário certificar-se de que os usuários que têm a configuração compartilhada como sua configuração mestre não estejam executando o Eclipse.

Configuração Privada

Os usuários podem modificar suas áreas de configuração locais, instalando os plug-ins adicionais. Isso não causa nenhuma alteração na configuração compartilhada, entretanto, outros usuários não irão ver as alterações. Observe que os plug-ins configurados na configuração compartilhada não podem ser removidos. Se forem, eles serão reinstalados a próxima vez que a plataforma for iniciada.