Platsavbildning för uppdateringsservern
Standarduppdateringsservern för Eclipse är valfri server med URL-åtkomst. I en standardimplementering antas en server med fast layout. Innehållet i servern (i termer av tillgängliga funktioner och insticksprogram) beskrivs i en platsavbildningsfil, site.xml. Den här filen kan hanteras manuellt eller så kan den beräknas dynamiskt av servern.
Platsavbildning
Uppdateringsserver-URL-adressen kan anges som en fullständig URL-adress till platsavbildningsfilen eller som en URL-adress för en katalogsökväg som innehåller platsavbildningsfilen (liknande index.html-bearbetning). Formatet för site.xml för platsavbildningen definieras av följande dtd:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT site (description?, feature*, archive*, category-def*)>
<!ATTLIST site
type
CDATA #IMPLIED
url
CDATA #IMPLIED
mirrorURL CDATA #IMPLIED
availableLocales CDATA #IMPLIED
digestURL CDATA #IMPLIED
associateSitesURL CDATA #IMPLIED
pack200 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
patch
(false | true) false
os CDATA #IMPLIED
nl CDATA #IMPLIED
arch CDATA #IMPLIED
ws
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
>
Element- och attributdefinitionerna är de följande:
- <site> - definierar platsavbildningen
- type - valfri platstypspecifikation. Värdet hänvisar till en typsträng
som registrerats via utökningspunkten för installationsramverket. Om inget värde anges antas typen vara standardplatstypen för Eclipse (som anges i det här dokumentet).
- url - valfri URL-adress som definierar baslinje-URL-adressen till uppdateringsplatsen (används till att ange enskilda <feature>- och <archive>-platser). Kan vara relativ eller absolut. Om den är relativ är den relativ site.xml. Om den inte anges är standardinställningen URL-adressen för filen site.xml.
- mirrorsURL - valfri URL-adress som pekar på en fil som innehåller speglingsdefinitioner för uppdateringsplatsen. Den här URL-adressen kan vara absolut för eller relativ den här platsen. Speglingsfilen beskrivs senare i det här dokumentet.
- availableLocales - valfri lista med språk som det finns sammandrag för
- digestURL - valfri URL-adress som pekar på den katalog som innehåller sammandrag. Baserat på
availableLocales väljs under körning ett av sammandragen i den katalog som anges i digestURL med hjälp av samma
algoritm som används till att välja egenskaper i klassen java.util.ResourceBundle. Sammandragsfiler bör ha namnet sammandrag<språk>.zip där språk är antingen en tom sträng (standardsammandrag) eller det språk som anges i java.util.Locale.
- associateSitesURL - valfri URL-adress som pekar på den xml-fil där webbplatser som ska vara öppna samtidigt som den här webbplatsen anges
- pack200 - det här attributet informerar uppdateringshanteraren om att det kan finnas paketerat innehåll som bör hämtas i stället för den vanliga jar-filen. Om det här attributet inte anges söker uppdateringshanteraren aldrig efter paketerat innehåll och hämtar alltid den vanliga jar-filen. När uppdateringshanteraren hämtar en jar-fil från en uppdateringswebbplats där pack200="true" angetts görs en sökning efter en pack.gz-fil förutom den aktuella jar-filen. Till exempel när foo.jar hämtas görs först en sökning efter foo.jar.pack.gz. Om filen pack.gz finns hämtas den i stället för jar-filen.
När filen pack.gz har hämtats packas den ursprungliga jar-filen upp från paketet.
Om filen pack.gz inte finns på uppdateringswebbplatsen hämtas den vanliga jar-filen som vanligt.
- <description> - en kort beskrivning som vanlig text. Bör översättas.
- url - valfri URL-adress för den fullständiga beskrivningen i HTML-format. URL-adressen kan anges som
absolut eller relativ. Om den är relativ är den relativ site.xml.
Observera att för NL-hantering bör URL-värdet
avgränsas så att olika URL-adresser kan anges för olika språk.
- <feature> - identifierar refererat funktionsarkiv
- type - valfri funktionstypspecifikation. Värdet hänvisar till en typsträng
som registrerats via utökningspunkten för installationsramverket. Om inget värde anges antas typen vara standardfunktionstypen för platsen. Om platstypen är standardplatstypen för Eclipse är standardfunktionstypen paketeringsfunktionstypen (som anges i det här dokumentet).
- id - valfritt funktions-ID. Informationen används som prestandaoptimering för att göra sökningar efter funktioner snabbare. Måste överensstämma med det ID som angetts i feature.xml för det refererade arkivet (URL-attributet).
Om det anges måste även versionsattributet anges.
- version - valfri funktionsversion. Informationen används som prestandaoptimering för att göra sökningar efter funktioner snabbare. Måste överensstämma med den version som angetts i feature.xml för det refererade arkivet (URL-attributet).
Om det anges måste även ID-attributet anges.
- url - obligatorisk URL-referens till funktionsarkivet. Kan vara relativ eller absolut. Om den är relativ är den relativ platsen för filen site.xml.
Obs! I standardplatsimplementeringen kan funktioner användas utan att de deklareras explicit med posten <feature>. Som standard tolkas en ej deklarerad funktionsreferens som "features/<id>_<version>.jar".
Obs!: Du får bättre sökprestanda om du alltid definierar ID- och versionsattribut.
- patch - valfritt attribut för att ange att det här är en rättning (speciell typ av funktion).
Obs!: Du får bättre sökprestanda om du alltid definierar det här attributet.
- os - valfri operativsystemsspecifikation. En kommaavgränsad lista med
operativsystem-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc). Anger att den här funktionen endast bör installeras i något av de angivna operativsystemen. Om det här attributet inte anges kan funktionen installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- arch - valfri datorarkitekturspecifikation. En kommaavgränsad lista med
arkitektur-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc). Anger att den här funktionen endast bör installeras i något av de angivna systemen. Om det här attributet inte anges kan funktionen installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- ws - valfri fönstersystemspecifikation. En kommaavgränsad lista med
fönstersystem-ID:n som definieras av Eclipse (information om
org.eclipse.core.runtime.Platform) finns i Javadoc). Anger att den här funktionen endast bör installeras i något av de angivna fönstersystemen. Om det här attributet inte anges kan funktionen installeras i alla system (bärbar implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- nl - valfri språkmiljöspecifikation. En kommaavgränsad lista med språkmiljö-ID:n definierade av Java. Anger att den här funktionen endast bör installeras i ett system med en kompatibel språkmiljö (där Java-regler för språkmiljömatchning används). Om det här attributet inte anges kan funktionen installeras i alla system (språkneutral implementering). Installations- och uppdateringsfunktionerna använder den här informationen som ett tips (användaren kan välja att installera funktionen oavsett inställningen).
- <archive> - identifierar refererat lagringsarkiv (de faktiska filerna som refereras via elementen <plugin> eller <data> i funkstionsmanifestet). Platsen hanterar helt enkelt arkiv som sökväg-till-URL-avbildningar. I standardplatsimplementeringen för Eclipse krävs inte att avsnittet <archive>
ingår i platsavbildningen (site.xml). En arkivreferens som inte definierats explicit som en del av ett <archive>-avsnitt antas vara avbildad till en URL-adress i formatet <archivePath> relativt platsen för filen site.xml.
- path - obligatoriskt arkivsökvägs-ID. Det här är en sträng som bestäms av den funktion som refererar till det här arkivet och tolkas inte på något annat sätt av platsen (annat än som ett sökningstoken).
- url - obligatorisk URL-referens till arkivet. Kan vara relativ eller absolut.
Om den är relativ är den relativ platsen för filen site.xml.
- <category-def> - en valfri definition av en kategori som kan användas av
installations- och uppdateringsfunktioner till att organisera funktioner hierarkiskt
- name - kategorinamn. Anges som en sökväg för namntoken avgränsade med /
- label - visningsbar etikett. Bör översättas.
- <category> - faktisk kategorispecifikation för en funktionspost
Observera att feature.xml-manifestetdokumenten i allmänhet bör ange UTF-8-kodning. Exempel:
<?xml version="1.0" encoding="UTF-8"?>
Översättningsbar text i site.xml kan delas upp i
site<_locale>.properties-filer med hjälp av Java-konventioner för egenskapssamlingspaket. Observera att de översatta strängarna används vid installation (dvs. använd inte
Runtime-mekanismen för insticksprogramsfragment). Egenskapssamlingspaket finns relativt platsen för site.xml.
Standardplatslayout
<site root>/
site.xml
features/
feature archives
(eg. org.eclipse.javatools_1.0.1.jar)
<featureId>_<featureVersion>/
(optional)
non-plug-in files for feature
plugins/
plug-in archives
(eg. org.eclipse.ui_1.0.3.jar)
Speglingsfil
Speglingsfilen för uppdatering (den som mirrorsURL-attributet för
<site> pekar på) innehåller en definition av speglingar för uppdateringsplats. Formatet definieras av följande dtd:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT mirrors (mirror*))>
<!ELEMENT mirror EMPTY>
<!ATTLIST mirror
url
CDATA #REQUIRED
label
CDATA #REQUIRED
>
- <mirrors> - definierar tillgängliga speglingar för uppdateringsplats
- <mirror> - definierar en speglingsplats
- url - URL-adressen till speglingsplatsen
- label - visningsbar etikett. Bör översättas.
Sammandragsfil
Sammandragsfiler (de som attributet digestURL för
<site> pekar på) är zippade xml-filer med följande DDT:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT digest (feature*)>
Där funktionsdefinitionerna är densamma som i funktionsmanifestet.
Fil med associerade webbplatser
Fil med associerade webbplatser (den som attributet associateSitesURL för <site> pekar på) innehåller definitioner av associerade webbplatser. Formatet för den definieras av följande dtd:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT associateSites (associateSite*)>
<!ELEMENT associateSites EMPTY>
<!ATTLIST associateSite
url
CDATA #REQUIRED
label
CDATA #REQUIRED
>
- <associateSites> - definierar de webbplatser som är associerade med den här uppdateringswebbplatsen
- <associateSite> - definierar en associerad webbplats
- url - URL-adressen till den associerade webbplatsen
- label - visningsbar etikett. Bör översättas.
Kontrollera åtkomst
Standardplatsimplementeringen för Eclipse har funktioner för http-åtkomst med allmän användarautentisering (användar-ID och lösenord).
Anpassade åtkomstkontrollmekanismer kan läggas till i bas-Eclipse på något av följande två sätt:
-
genom att tillhandahålla logik på serversidan för uppdateringsservern (till exempel implementering av servletprogram som beräknar site.xml-avbildningen och kontrollerar åtkomst till enskilda arkiv baserat på vissa användarvillkor)
-
genom att tillhandahålla en anpassad konkret implementering av platsobjektet (installerat på den klientdator, uppdateringsserver som angetts med <site type="">).
Den anpassade konkreta platsimplementeringen tillsammans med eventuell logik på serversidan
ger möjlighet att använda de kontrollmekanismer som krävs.
I Eclipse kan du visa en exempeldemonstration av implementering av en åtkomstmekanism baserat på funktionsnyckelfiler.