Obslužný prvek zásad aktualizace Eclipse

Aktualizace Eclipse umožňuje uživatelům vyhledávat aktualizace pro aktuálně nainstalované funkce. Funkce Aktualizace pro každou nainstalovanou funkci použije vloženou URL pro připojení ke vzdálenému serveru a vyhledá nové verze. Pokud jsou aktualizace k dispozici, Eclipse umožní uživatelům zahájit instalační postup. Po stažení, instalaci a restartu platformy bude funkce nové verze připravena k použití.

Ve společnostech s mnoha uživateli stejného produktu na bázi Eclipse (zpravidla komerčního) může z tohoto modelu vyvstat několik problémů:

  1. Aktualizace rozsáhlých produktů (např. 500+ modulů plug-in) jsou také velké. Týmům podpory IT se zřejmě nebude líbit idea se stovkami vývojářů, kteří by si individuálně stahovali 500MB aktualizace na jednotlivé počítače. Kromě zatížení šířky pásma mohou žádosti o stažení velkých souborů selhat a vést k opakovaným pokusům a narůstající době nečinnosti vývojářů.
  2. Některé společnosti výslovně nechtějí, aby vývojáři stahovali aktualizace přímo z internetu. Mohou například stanovit lokální tým podpory, jenž se může připravit na zpracování žádostí týkajících se verze produktu, který je již k dispozici na aktualizačním serveru poskytovatele. Mohou omezit aktualizace a opravy na interně schválený seznam. V ideálním případě to mohou zajistit nastavením aktualizačních serverů 'proxy' v síti LAN (za firewallem).
  3. Jakmile dojde k umístění aktualizací na výše uvedené servery proxy, administrátoři musejí dát uživatelům vědět, že aktualizace jsou k dispozici.

2. Zásady aktualizace pro záchranu

2.1 Podpora pro tvorbu lokálních site s aktualizacemi (proxy)

První krok administrátora produktů spočívá v nastavení lokálního webu (site) s aktualizacemi Eclipse na serveru připojeném k firemní síti LAN (za firewallem). Site s aktualizacemi bude podmnožinou webu (site) s aktualizacemi produktu na internetu, neboť bude obsahovat pouze funkce a moduly plug-in týkající se aktualizací, jež společnost hodlá v daný okamžik používat. Technicky bude tento site tvořen běžným webem (site) s aktualizacemi Eclipse včetně site.xml a archivů s funkcemi a moduly plug-in.

Administrátoři mohou tento site sestavit dvěma způsoby:

  1. Týmy podpory produktu mohou ihned zpřístupnit soubor zip webu (site) s aktualizacemi pro tento konkrétní účel. Administrátoři budou muset pouze stáhnout soubor zip z webové stránky pro podporu produktu pomocí libovolného nástroje a rozbalit jej na lokálním serveru. Tento přístup je vhodný pro velmi objemné soubory zip, jež vyžadují moderní, znovu spustitelné správce stahování souborů (takové, jež mohou pokračovat tam, kde skončily v případě problémů připojení).
  2. Aktualizace Eclipse Update obsahuje nástroj k úplnému zrcadlení vzdálených aktualizačních serverů nebo umožňuje administrátorům vybrat aktualizace a opravy ke stažení. Tato funkce zrcadlení bude plně zautomatizována a velmi zjednoduší úlohu administrátora, ale spoléhá na podporu připojení do sítě Update.

2.2 Společný obslužný prvek zásad aktualizace

Protože funkce mají URL webu (site) s aktualizacemi uložen v manifestu, nemají přehled o webech (site) s aktualizacemi zřízených administrátory. Proto je důležité poskytnout schopnost přesměrování. Toto a další nastavení zásad aktualizace lze nastavit pro produkt Eclipse vytvořením souboru zásad aktualizace a konfigurací služby Update k použití tohoto souboru při vyhledávání aktualizací.

Dotyčný soubor používá formát XML a může mít libovolný název. Soubor lze nastavit pomocí Předvolby>Instalovat/Aktualizacev poli Zásady aktualizace.Textové pole je standardně prázdné: uživatelé mohou nastavit adresu URL souboru zásad aktualizace. Soubor spravuje lokální administrátor a je sdílen pro všechny instalace produktu. Sdílení lze docílit dvěma způsoby:

Soubor zásad musí vyhovovat následujícímu DTD:

<?xml encoding="ISO-8859-2"?>

<!ELEMENT update-policy (url-map)*>
<!ATTLIST update-policy
>

<!ELEMENT url-map EMPTY>
	pattern	CDATA #REQUIRED
	url	CDATA #REQUIRED
>

url-map

Tento prvek slouží k překrytí adres URL pro Update v souborech manifest funkcí. Při vyhledávání nových aktualizací bude hledání Eclipse kontrolovat případné zásady aktualizace a zjišťovat, je-li zadána hodnota url-map pro odpovídající předponu funkce. Je-li nalezena shoda, mapovaná adresa URL bude použita místo vložené. Tak mohou administrátoři konfigurovat produkty Eclipse pro vyhledávání aktualizací na lokálním serveru za ochrannou bariérou (firewall). Mezitím funkce jiných dodavatelů nainstalované službou Eclipse Update budou i nadále aktualizovány pomocí výchozího mechanizmu, protože nenajdou odpovídající shody v zásadách.

V souboru může existovat několik prvků url-map. Předpony funkcí lze zvolit tak, aby byly více či méně specifické. Například pro přesměrování všech aktualizací Eclipse bude atribut vzoru "org.eclipse". Stejně tak lze jako vzor použít úplné ID funkce v případě, že je požadováno přesměrování na bázi jednotlivých funkcí.

Vzory v souboru lze zvolit tak, aby postupně zužovaly potenciální shody. Výsledkem může být více shod pro danou funkci. V tomto případě bude použita shoda s nejdelším vzorem. Například:

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

Ve výše uvedeném případu budou aktualizovány všechny funkce Eclipse z URL1 kromě org.eclipse.jdt, která použije URL2.

Soubory zásad aktualizace neobsahují přeložitelné řetězce, a proto nevyžadují zvláštní manipulaci s NL. Tyto soubory by měly obecně používat kódování UTF-8.

2.3 Automatické zjišťování aktualizací

Automatické aktualizace umožní modulu Eclipse spustit vyhledávání aktualizací podle určeného rozvrhu (při každém spuštění (výchozí), jednou denně, jednou týdně atd.).

3. Souhrn

Zde je uvedena úplná posloupnost kroků, z nichž sestává celé řešení:

  1. Administrátor přidělí server ve firemní síti LAN pro hostování lokálních aktualizací produktů. Zpočátku neobsahuje žádné weby (site) s aktualizacemi. Počítač musí mít spuštěn server HTTP.
  2. Administrátor nastaví soubor zásad aktualizace na tomto serveru a dá pokyny všem uživatelům k nastavení poskytnuté URL v předvolbě zásad aktualizace.
  3. Když poskytovatel produktů dá aktualizace a opravy na své weby (site) s aktualizacemi, administrátor stáhne podporované aktualizace na lokální server.
  4. Automatické aktualizace se provádějí s plánovanou četností při spuštěném produktu klienta, který načte lokální aktualizace a upozorní uživatele.
  5. Uživatel rozhodne o instalaci zjištěných aktualizací.