Het updatebeleid van Eclipse besturen

Met de bijwerkfunctie van Eclipse kunnen gebruikers zoeken naar de updates voor de huidige geïnstalleerde functies. Voor elke geïnstalleerde functie wordt gebruikgemaakt van de ingebedde URL om een verbinding te maken met de server op afstand en naar nieuwe versies te zoeken. Als er updates aanwezig zijn, stelt Eclipse de gebruiker in staat om de installatieprocedure te starten. Na het downloaden, installeren en opnieuw starten van het platform, is de nieuwe versie van de functie klaar voor gebruik.

In bedrijven met veel gebruikers van hetzelfde op Eclipse gebaseerde product (doorgaans een commercieel product) kan deze bijwerkmethode tot verschillende problemen leiden:

  1. Updates voor zeer grote producten (bijvoorbeeld 500+ plugins) zijn zelf ook zeer groot. IT-supportteams zitten niet te wachten op honderden ontwikkelaars die elk updates van 500 MB naar hun eigen machine downloaden. Zulke grote downloadopdrachten kunnen mislukken, wat leidt tot herhaalde pogingen en meer tijd waarin het systeem niet voor de ontwikkelaars beschikbaar is.
  2. Sommige bedrijven willen niet dat ontwikkelaars rechtstreeks producten downloaden vanaf het internet. Ze kunnen bijvoorbeeld een lokaal supportteam opzetten dat mogelijk geen verzoeken kan afhandelen met betrekking tot de versie van een product dat al beschikbaar is op de updatesite van de leverancier. Ze kunnen updates en fixes beperken tot een lijst met intern goedgekeurde producten. In het beste geval doen ze dat door 'proxy' updatesites op het LAN op te zetten (achter de firewall).
  3. Als de updates eenmaal op de proxysites zijn geïnstalleerd, moeten de beheerders beschikken over een methode om de gebruikers van de nieuwe updates op de hoogte te stellen.

2. Updatebeleid biedt uitkomst

2.1 Ondersteuning voor het maken van lokale updatesites

De eerste stap die een productbeheerder uitvoert, is het instellen van een lokale updatesite voor Eclipse op een server die is verbonden met het LAN van het bedrijf (achter de firewall). De updatesite is een subset van de updatesite op het internet omdat deze alleen de functies en plugins bevat die het bedrijf op dat moment wil toepassen. In technisch opzicht is deze site een gewone updatesite met site.xml, functie- en pluginarchieven.

Beheerders kunnen deze site op twee manieren opzetten:

  1. Teams voor productondersteuning maken een zipbestand van de updatesite voor dit doel beschikbaar. Beheerders downloaden dit zipbestand vervolgens vanaf de webpagina met productondersteuning en pakken het bestand uit op de lokale server. Deze aanpak is handig voor hele grote zipbestanden die moderne downloadprogramma's vereisen (programma's die verder kunnen gaan waar ze zijn gestopt wanneer er verbindingsproblemen optreden).
  2. Eclipse Update biedt een tool waarmee updatesites op afstand volledig kunnen worden gespiegeld of waarmee beheerders de te downloaden updates en fixes kunnen selecteren. Deze spiegelfunctionaliteit voorziet in volledige automatisering en maakt de taak van van de beheerder een stuk gemakkelijker, maar is wel afhankelijk van ondersteuning van een verbinding met het updatenetwerk.

2.2 Algemeen updatebeleid

Aangezien voor functies de URL van de updatesite in de lijst is ingebed, zijn ze niet op de hoogte van de lokale updatesites die door de beheerders zijn ingesteld. Het is dan ook van belang om een omleidingsvoorziening in te stellen. U kunt deze en andere beleidsinstellingen voor een Eclipse-product opgeven door een bestand met updatebeleid te maken en de bijwerkfunctie zo in te stellen dat van dit bestand gebruik wordt gemaakt.

Het bestand in kwestie heeft een XML-indeling en kan elke willekeurige naam hebben. U kunt het bestand instellen in Voorkeuren > Installeren/bijwerken in het veld Updatebeleid. Standaard is het tekstveld leeg: gebruikers kunnen de URL van het bestand met het bijwerkbeleid opgeven. Het bestand wordt beheerd door de lokale beheerder en wordt door alle productinstallaties gedeeld. Er zijn twee manieren om het bestand te delen:

Het beleidsbestand moet moet aan de volgende DTD voldoen:

<?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
>

url-map

Dit element wordt gebruikt voor het overschrijven van bijwerk-URL's die in functielijsten zijn ingebed. Bij het zoeken naar nieuwe updates zoekt Eclipse naar het updatebeleid (indien aanwezig) en controleert of url-map voor de bijbehorende functieprefix is opgegeven. Wanneer er een overeenkomst wordt gevonden, wordt de toegewezen URL gebruikt in plaats van de ingebedde URL. Op deze manier kunnen beheerders Eclipse-producten laten zoeken naar updates op de lokale server achter de firewall. Functies van derden worden nog steeds volgens de standaardmethode geïnstalleerd, omdat deze functies geen overeenkomsten in het bestand met updatebeleid vinden.

Er kunnen diverse url-map-elementen in het bestand bestaan. Functieprefixes kunnen meer of minder specifiek zijn. Om bijvoorbeeld alle Eclipse-updates om te leiden, kan het patroonkenmerk "org.eclipse" zijn. Ook is het mogelijk om een volledig functie-ID als een patroon te gebruiken als omleiding per functie is vereist.

Patronen in het bestand kunnen worden gekozen om de mogelijke overeenkomsten steeds meer te beperken. Dit kan in meerdere overeenkomsten voor een bepaalde functie resulteren. In dit geval wordt de overeenkomst met het langste patroon gebruikt. Voorbeeld:

<?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>

In het bovenstaande geval worden alle Eclipse-functies bijgewerkt vanaf URL1, met uitzondering van org.eclipse.jdt dat wordt bijgewerkt vanaf URL2.

Bestanden met updatebeleid bevatten geen te vertalen tekenreeksen en vereisen dus ook geen speciale NL-bewerking. Over het algemeen moeten de bestanden UTF-8-codering gebruiken.

2.3 Automatisch zoeken van updates

Het derde onderdeel van de totale oplossing wordt in een ander onderwerp behandeld maar wordt hier toch genoemd omdat het een onlosmakelijk onderdeel van de oplossing vormt. Automatische updates stellen Eclipse in staat om volgens een bepaalde schema naar updates te zoeken (bij opstarten, een keer per dag, een keer per week, enzovoort).

3. Samenvatting

Hier volgt een overzicht van de stappen van deze oplossing:

  1. Beheerder wijst een server in het LAN van het bedrijf aan als host voor de lokale productupdates. In eerste instantie bevat deze server geen updatesites. Er moet een HTTP-server op deze machine actief zijn.
  2. Beheerder installeert een bestand met updatebeleid op die server en geeft alle gebruikers de instructie om bij de voorkeuren de URL van het bestand met het updatebeleid op te geven.
  3. Wanneer de productleverancier updates en fixes op de updatesite plaatst, downloadt beheerder deze naar de lokale server.
  4. Automatische updates die op gezette tijden worden uitgevoerd, zoeken naar lokale updates en stellen de gebruiker hiervan op de hoogte.
  5. Gebruiker kiest ervoor om de gevonden updates te installeren.

Verwante taken
Automatisch updateplanner