Oversigt over opdateringswebsted for server
Standard Eclipse-opdateringsserveren er en vilkårlig server, der er adgang til via en URL. Standardimplementeringen forudsætter en server med fast layout. Indholdet af serveren (dvs. tilgængelige funktioner og plugins) beskrives i en oversigtsfil, site.xml. Denne fil kan vedligeholdes manuelt, eller den kan beregnes dynamisk af serveren.
Webstedskort
Opdateringsserver-URL'en kan angives som en fuldstændig URL til webstedsoversigtsfilen eller en URL på en bibliotekssti, der indeholder webstedsoversigtsfilen (det samme som behandling af index.html).
Formatet på webstedsoversigtsfilen site.xml defineres af følgende 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- og attributdefinitionerne er følgende:
- <site> - Definerer webstedsoversigten.
- type - Valgfri angivelse af webstedstypen. Værdien henviser til en type streng, der er registreret via udvidelsespunktet til installationsrammen. Hvis det ikke angives, antages det, at typen er standard-Eclipse-webstedstypen (som angivet i dette dokument).
- url - Valgfri URL, der definerer basis-URL'en til opdateringswebstedet (anvendes til at bestemme en placeringen af individuel <feature> og <archive>. Kan være relativ eller absolut.
Hvis den er relativ, er den relativ til site.xml. Hvis den ikke angives, er standardværdien URL-placeringen af filen site.xml.
- mirrorsURL - Valgfri URL, der er peger på en fil, som indeholder spejldefinitioner til opdateringswebstedet.
Denne URL kan være absolut eller relativ til dette websted. Spejlfilen beskrives senere i dette dokument.
- availableLocales - Valgfri liste med sprogkonventioner, som der er oversigter til rådighed for.
- digestURL - Valgfri URL, der peger på det bibliotek, der indholder oversigter. Ved runtime vælges en af de oversigter fra det bibliotek, der er angivet i digestURL baseret på availableLocales med brug af den samme algoritme, som anvendes til at vælge egenskaber i klassen
java.util.ResourceBundle. Oversigtsfiler skal kaldes digest<locale>.zip, hvor sprogkonventionen enten er en tom streng (standard) eller den sprogkonvention, der er defineret i java.util.Locale.
- associateSitesURL - Valgfri URL, der peger på den xml-fil, der indeholder de websteder, der skal være åbne samtidig med dette websted.
- pack200 - Denne attribut fortæller Opdateringsstyring, at der kan være pakket indhold, som skal overføres i stedet for den normale JAR-fil.
Hvis denne attribut ikke er angivet, vil Opdateringsstyring søge efter pakket indhold og altid overføre den normale JAR-fil. For at hente en JAR fra et opdateringswebsted, der angiver pack200="true", vil Opdateringsstyring først søge efter filen pack.gz ud over den JAR, der skal anvendes. Når f.eks. foo.jar overføres, ser Opdateringsstyring først efter foo.jar.pack.gz. Hvis filen pack.gz findes, overføres den i stedet for JAR-filen.
Når pack.gz er overført, udpakkes den for at levere den oprindelige JAR-fil. Hvis filen pack.gz ikke findes på opdateringswebstedet, overføres den normale JAR-fil som normalt.
- <description> - En kort beskrivelse i form af almindelig tekst. Kan oversættes.
- url - Valgfri URL til den fulde beskrivelse i form af HTML. URL'en kan angives som
absolut eller relativ. Hvis den er relativ, er URL'en relativ til site.xml.
Bemærk, at URL-værdien skal være separeret af hensyn til håndtering af
nationale sprog, så det er muligt at angive andre URL'er for hvert sprog.
- <feature> - Angiver det funktionsarkiv, der henvises til.
- type - Valgfri specifikation af funktionstype. Værdien henviser til en type streng, der er registreret via udvidelsespunktet til installationsrammen. Hvis det ikke angives, antages det, at typen er standardfunktionstypen for dette websted. Hvis webstedstypen er standard-Eclipse-webstedstypen, er standardfunktionstypen den pakkede funktionstype (som angivet i dette dokument).
- id - Valgfri funktions-id. Oplysningerne anvendes til optimering af ydeevnen for at øge hastigheden ved søgninger efter funktioner. Id'en skal matche den id, der er angivet i filen feature.xml til det arkiv, der henvises til (URL-attributten). Hvis den er angivet, skal versionsattributten også angives.
- version - Valgfri funktionsversion. Oplysningerne anvendes til optimering af ydeevnen for at øge hastigheden ved søgninger efter funktioner. Id'en skal matche den version, der er angivet i filen feature.xml til det arkiv, der henvises til (URL-attributten). Hvis den er angivet, skal id-attributten også angives.
- url - Påkrævet URL-reference til funktionsarkivet. Kan være relativ eller absolut.
Hvis den er relativ, er den relativ til placeringen af filen site.xml.
Bemærk: Standardwebstedsimplementeringen gør det muligt at få adgang til funktioner uden at være eksplicit erklæret ved hjælp af indgangen <feature>. Som standard fortolkes en ikke-erklæret funktionsreference som "features/<id>_<version>.jar".
Bemærk: For at optimere ydeevnen i forbindelse med opslag skal du altid definere id- og versionsattributter.
- patch - Valgfri attribut, der skal angive, at dette er et patch (speciel funktionstype).
Bemærk: For at optimere ydeevnen i forbindelse med opslag skal du altid definere denne attribut.
- os - Valgfri angivelse af styresystem. En kommasepareret liste med styresystembetegnelser, som er
defineret af Eclipse (se Javadoc til
org.eclipse.core.runtime.Platform).
Angiver, at funktionen kun bør installeres på et af de angivne styresystemer.
Hvis attributten ikke angives, kan funktionen installeres på alle systemer
(flytbar implementering). Installations- og opdateringsunderstøttelsen bruger oplysningerne
som vejledning (brugeren kan gennemtvinge installationen af funktionen uanset indstillingen).
- arch - Valgfri angivelse af maskinarkitektur. En kommasepareret liste med arkitekturbetegnelser, som er
defineret af Eclipse (se Javadoc til
org.eclipse.core.runtime.Platform).
Angiver, at funktionen kun bør installeres på en af de angivne arkitekturer. Hvis attributten ikke angives, kan funktionen installeres på alle systemer
(flytbar implementering). Installations- og opdateringsunderstøttelsen bruger oplysningerne
som vejledning (brugeren kan gennemtvinge installationen af funktionen uanset indstillingen).
- ws - Valgfri angivelse af vinduessystem. En kommasepareret liste med vinduessystembetegnelser, som er
defineret af Eclipse (se Javadoc til
org.eclipse.core.runtime.Platform).
Angiver, at funktionen kun bør installeres på et af de angivne vinduessystemer. Hvis attributten ikke angives, kan funktionen installeres på alle systemer
(flytbar implementering). Installations- og opdateringsunderstøttelsen bruger oplysningerne
som vejledning (brugeren kan gennemtvinge installationen af funktionen uanset indstillingen).
- nl - Valgfri angivelse af sprogkonvention. En kommasepareret liste med sprogkonventionsbetegnelser, som
er defineret af Java. Angiver, at funktionen kun bør installeres på et system
med en kompatibel sprogkonvention (ved brug af Java-regler for sprogkonventionslighed). Hvis attributten ikke
angives, kan funktionen installeres på alle systemer
(sproguafhængig implementering). Installations- og opdateringsunderstøttelsen bruger oplysningerne
som vejledning (brugeren kan gennemtvinge installationen af funktionen uanset indstillingen).
- <archive> - Identificerer "storage"-arkiv, der henvises til (de faktiske filer, der henvises til via elementerne <plugin> eller <data> i funktionsmanifestet).
Webstedet administrerer ganske enkelt arkiver som en sti-til-URL-oversigt.
Standard Eclipse-webstedsimplementeringen kræver ikke, at afsnittet <archive> inkluderes i webstedsoversigten (site.xml). En arkivreference, der ikke eksplicit er defineret som en del af et <archive>-afsnit formodes at skulle tilknyttes vha. mapping til en URL i formatet "<archivePath>" i forhold til placeringen af filen site.xml.
- path - Påkrævet id for arkivsti. Det er en streng, der bestemmes af den funktion, der henviser til dette arkiv og som ikke på anden fortolkes af webstedet (på anden måde end som et opslagselement).
- url - Påkrævet URL-reference til arkivet. Kan være relativ eller absolut.
Hvis den er relativ, er den relativ til placeringen af filen site.xml.
- <category-def> - En valgfri definition af en kategori, der kan anvendes af installations- og opdateringsunderstøttelsen til at organisere funktioner hierarkisk.
- name - Kategorinavn. Angives som en sti af navneelementer adskilt af /
- label - Etiket, som kan vises. Kan oversættes.
- <category> - Den faktiske kategorispecifikation for en funktionsindgang.
Bemærk, at feature.xml-manifestdokumenter normalt skal angive UTF-8-kodning. Eksempel:
<?xml version="1.0" encoding="UTF-8"?>
Tekst i site.xml, som kan oversættes, kan udskilles i site<_sprogkonvention>.properties-filer vha. Java-reglerne for ressourcebundter. Bemærk, at de oversatte strenge bruges på installationstidspunktet, hvilket vil sige, at de ikke
anvender plugin-fragmentets runtime-mekanisme. Egenskabsbundter er placeret i forhold til placeringen af site.xml.
Layout på standardwebsted
<webstedsrod>/
site.xml
features/
funktionsarkiver
(f.eks. org.eclipse.javatools_1.0.1.jar)
<featureId>_<featureVersion>/
(valgfrit)
ikke-plugin-filer til funktion
plugins/
plugin-arkiver
(f.eks. org.eclipse.ui_1.0.3.jar)
Spejlfil
Opdateringsspejlfilen (den fil, der peges på af attributten mirrorsURL til <site>) indeholder definition til opdateringswebstedsspejle. Dens format er defineret af følgende dtd:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT mirrors (mirror*))>
<!ELEMENT mirror EMPTY>
<!ATTLIST mirror
url
CDATA #REQUIRED
label
CDATA #REQUIRED
>
- <mirrors> - Definerer de tilgængelige spejle til opdateringswebstedet.
- <mirror> - Definerer spejlingswebsted.
- url - URL'en på spejlingswebstedet.
- label - Etiket, som kan vises. Kan oversættes.
Oversigtsfil (digest)
Oversigtsfiler, der udpeges af attributten digestURL for <site>, er zippede xml-filer med følgende DDT:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT digest (feature*)>
Hvor funktionsdefinitionen er den samme som i funktionsmanifestet.
Tilknyttede webstedsfiler
Den tilknyttede webstedsfiler, (den fil, der peges på af attributten associateSitesURL til <site>) indeholder definition på tilknyttede websteder. Formatet defineres med følgende DTD:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT associateSites (associateSite*)>
<!ELEMENT associateSites EMPTY>
<!ATTLIST associateSite
url
CDATA #REQUIRED
label
CDATA #REQUIRED
>
- <associateSites> - Angiver de websteder, der er knyttet til dette opdateringswebsted.
- <associateSite> - Angiver et tilknyttet websted.
- url - URL'en for det tilknyttede websted.
- label - Etiket, som kan vises. Kan konverteres.
Styring af adgang
Standardimplementeringen af Eclipse-webstedet understøtter http-adgang med grundlæggende brugervalidering (bruger-id og kodeord).
Tilpassede adgangskontrolmekanismer kan føjes til basis-Eclipse på en af to måder:
-
Ved at anvende logik på serversiden på opdateringsserveren (f.eks. implementere miniservere, som beregner site.xml-definitionen og styrer adgangen til individuelle arkiver baseret på visse brugerkriterier).
-
Ved at anvende en tilpasset, konkret implementering af webstedsobjektet (installeret på klientmaskinen og opdateringsserver angivet <site type="">).
Den tilpassede, konkrete implementering af webstedet sammen med logik på serversiden understøtter de nødvendige kontrolmekanismer.
Eclipse indeholder et eksempel, der demonstrerer en implementering af en adgangsmekanisme baseret på funktionsnøglefiler.