A Atualização do Eclipse permite que os usuários procurem por atualizações dos recursos atualmente instalados. Para cada recurso instalado, a Atualização utiliza o URL incorporado para conectar-se ao servidor remoto e procurar por novas versões. Se existirem atualizações, o Eclipse permite que os usuários iniciem o procedimento de instalação. Depois de fazer download, instalar e reiniciar a plataforma, a nova versão do recurso estará pronta para uso.
Em empresas com muitos usuários do mesmo produto com base no Eclipse (normalmente, um comercial), vários problemas podem surgir com este modelo:
A primeira etapa para um administrador do produto seria configurar um site de atualização local do Eclipse em um servidor conectado à LAN da empresa (protegido pelo firewall). O site de atualização seria um subconjunto do site de atualização do produto na Internet, pois ele conteria apenas os recursos e os plug-ins relacionados às atualizações que a empresa deseja aplicar no momento. Tecnicamente, esse site seria um site de atualização comum do Eclipse com archives site.xml, de recursos e de plug-in.
Os administradores poderiam construir esse site de duas maneiras:
Como os recursos possuem o URL do site de atualização incorporado no manifesto, eles não estão cientes dos sites locais de atualização configurados pelos administradores. Assim, é importante fornecer recurso de redirecionamento. Esta e outras configurações da política de atualização podem ser definidas para um produto do Eclipse criando-se um arquivo de política de atualização e configurando a Atualização para utilizar esse arquivo ao procurar.
O arquivo em questão utiliza o formato XML e pode ter qualquer nome. O arquivo pode ser definido em Preferências>Instalação/Atualização no campo Política de Atualização. O campo de texto está vazio por padrão: os usuários podem definir o URL do arquivo da política de atualização. O arquivo é gerenciado pelo administrador local e é compartilhado por todas as instalações do produto. O compartilhamento pode ser alcançado de duas maneiras:
org.eclipse.update.core/updatePolicyFile = <valor do URL>
O arquivo de política deve estar em conformidade com o seguinte DTD:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT update-policy (url-map)*>
<!ATTLIST update-policy
><!ELEMENT url-map EMPTY>
<!ATTLIST url-map
pattern CDATA #REQUIRED
url CDATA #REQUIRED
>
Esse elemento é utilizado para substituir URLs de Atualização incorporados nos manifestos do recurso. Ao procurar por novas atualizações, a procura do Eclipse verificará a política de atualização (se estiver presente) e verificará se url-map do prefixo do recurso correspondente está especificado. Se uma correspondência for localizada, o URL mapeado será utilizado em vez do que está incorporado. Desta maneira, os administradores podem configurar os produtos Eclipse para procurar por atualizações no servidor local protegido pelo firewall. Enquanto isso, recursos de terceiros instalados pela Atualização do Eclipse continuarão a ser atualizados utilizando o mecanismo padrão, porque eles não localizarão correspondências na política.
Podem existir vários elementos url-map no arquivo. Os prefixos de recursos podem ser
escolhidos para serem menos ou mais específicos. Por exemplo, para redirecionar todas as atualizações do
Eclipse, o atributo padrão seria "org.eclipse"
. De maneira semelhante, é
possível utilizar um ID completo de recurso como um padrão se o redirecionamento for requerido
para cada recurso.
Os padrões no arquivo podem ser escolhidos para limitar progressivamente as correspondências potenciais. Isso pode resultar em várias correspondências para um determinado recurso. Neste caso, a correspondência com o padrão mais longo será utilizada. Por exemplo:
<?xml version="1.0" encoding="UTF-8"?> <update-policy> <url-map pattern="org.eclipse" url="URL1"/> <url-map pattern="org.eclipse.jdt" url="URL2"/> </update-policy>
No caso acima, todos os recursos do Eclipse serão atualizados a partir do URL1, exceto org.eclipse.jdt
, que utilizará o URL2.
Os arquivos da política de atualização não contêm cadeias traduzíveis e, portanto, não requerem manipulação especial de NL. Em geral, os arquivos devem utilizar a codificação UTF-8.
A terceira parte da solução geral é coberta por outro tópico, mas é mencionada aqui porque é uma parte integral da solução. As Atualizações automáticas permitirão que o Eclipse execute a procura da atualização em um planejamento especificado (em cada inicialização (o padrão), uma vez por dia, uma vez por semana e etc.).
Aqui está a seqüência completa de etapas que compõem a solução: