Atualizar Mapa do Site do Servidor
O servidor de atualização do Eclipse padrão é qualquer servidor acessível do URL. A
implementação padrão assume um servidor de layout fixo. O conteúdo do servidor
(em termos de recursos e plug-ins disponíveis) está descrito em um arquivo de mapa do
site, site.xml. Esse arquivo pode ser manualmente mantido ou pode
ser dinamicamente computado pelo servidor.
Mapa do Site
O URL do servidor de atualização pode ser especificado como um URL completo para o arquivo de mapa do site
ou um URL de um caminho do diretório que contém o arquivo de mapa do site (semelhante ao processamento do
index.html). O formato de site.xml do mapa do site é definido pelo seguinte 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
>
As definições de elemento e atributo são as seguintes:
-
<site> - define o mapa do site
-
type - especificação de tipo do site opcional. O valor se refere a uma cadeia de tipo
registrada através do ponto de extensão da estrutura de
instalação. Se não for especificado, o tipo assumido será o tipo de site do Eclipse
padrão (conforme especificado neste documento).
-
url - o URL opcional que define o URL de linha de base do site de atualização (utilizado para determinar
o <feature> individual e a localização do <archive>). Pode ser relativo
ou absoluto. Se for relativo, será relativo para site.xml. Se não for especificado, o
padrão será a localização do URL do arquivo site.xml.
-
<description> - descrição breve como texto simples. Planejado para ser convertido.
-
url - URL opcional para descrição completa como HTML. O URL pode ser especificado
como absoluto de relativo. Se for relativo, será relativo para site.xml.
Observe que, para NL que manipula o valor de URL
deve ser separado para permitir que URLs alternativos sejam especificados para cada idioma nacional.
-
<feature> - identifica o archive de recurso mencionado
-
type - especificação de tipo de recurso opcional. O valor se refere a uma cadeia de tipo
registrada através do ponto de extensão da estrutura de
instalação. Se não for especificado, o tipo assumido será o tipo de recurso
padrão para o site. Se o tipo de site for o tipo de site do Eclipse padrão, o
tipo de recurso padrão será o tipo de recurso compactado (conforme especificado neste
documento).
-
id - identificador de recurso opcional. As informações são utilizadas como uma otimização de desempenho
para avançar as pesquisas de recursos. Devem corresponder ao identificador
especificado no feature.xml do archive mencionado (o atributo de url).
Se especificado, o atributo da versão também deverá ser especificado.
-
version - versão do recurso opcional. As informações são utilizadas como uma otimização de desempenho
para avançar as pesquisas de recursos. Devem corresponder à versão
especificada no feature.xml do archive mencionado (o atributo de url).
Se especificado, o atributo do ID também deverá ser especificado.
-
url - referência de URL requerida para o archive de recurso. Pode ser relativo ou
absoluto. Se for relativo, ele será relativo para a localização do arquivo site.xml.
Nota:
a implementação do site padrão permite que os recursos sejam acessados sem
serem explicitamente declarados utilizando uma entrada <feature>. Por padrão, uma referência
de recursos não declarados é interpretada como "features/<id>_<version>.jar"
-
<archive> - identifica o archive de "armazenamento" mencionado (os arquivos reais
mencionados através dos elementos <plugin> ou <data>
no manifesto do recurso). O site simplesmente gerencia archives como um mapa do caminho
para URL. A implementação de site do Eclipse padrão não requer que a seção <archive>
seja incluída no mapa do site (site.xml). Qualquer referência de archive
explicitamente não definida como parte de uma seção <archive> é assumida para
ser mapeada para um url no formato "<archivePath>" relativa à localização do
arquivo site.xml.
-
path - identificador de caminho do archive requerido. Esta é uma cadeia que é determinada
pelo recurso que faz referência
a este archive e, do contrário, não é interpretada pelo site (diferente de
um token de procura).
-
url - referência de URL requerida para o archive. Pode ser relativo ou
absoluto. Se for relativo, ele será relativo para a localização do arquivo site.xml.
-
<category-def> - uma definição opcional de uma categoria que pode ser utilizada
pelo suporte de instalação e de atualização para organizar hierarquicamente recursos
-
name - nome da categoria. É especificado como um caminho de tokens de nomes separados por
/
-
label - rótulo de exibição. Planejado para ser convertido.
-
<category> - especificação de categoria real para uma entrada de recurso
Observe que, em geral os documentos de manifesto de feature.xml devem especificar
a codificação UTF-8. Por exemplo
<?xml version="1.0" encoding="UTF-8"?>
O texto traduzível contido no site.xml pode ser separado nos arquivos
site<_locale>.properties utilizando as convenções de pacote de propriedade Java. Observe que, as cadeias traduzíveis
são utilizadas no tempo de instalação (isto é, não
empregam o mecanismo de tempo de execução de fragmento do plug-in). Os pacotes de propriedade estão localizados na localização
site.xml.
Layout do Site Padrão
<site root>/
site.xml
features/
feature archives
(eg. org.eclipse.javatools_1.0.1.jar)
<featureId>_<featureVersion>/
(opcional)
arquivos sem plug-in para recurso
plug-ins/
plug-in argives
(eg. org.eclipse.ui_1.0.3.jar)
Controlando Acesso
A implementação de site do Eclipse padrão fornece suporte para acesso http
com autenticação do usuário básica (ID do usuário e senha).
Os mecanismos de controle de acesso personalizados podem ser incluídos no Eclipse base de uma
das 2 maneiras:
-
fornecendo a lógica de lado do servidor no servidor de atualização (por exemplo, implementando servlets
que computam o mapa site.xml e controlam acesso a archives individuais
baseados em alguns critérios do usuário)
-
fornecendo uma implementação concreta personalizada do objeto do site (instalado
na máquina do cliente, servidor de atualização especificado <site type="">).
A implementação do site concreta personalizada, junto com qualquer lógica do lado do servidor
que suporte os mecanismos de controle requeridos.
O Eclipse fornece um exemplo demonstrando uma implementação de um mecanismo
de acesso baseado em arquivos chave do recurso.