Palvelimen sivustokartan päivitys
Eclipse-päivityksen oletuspalvelin voi olla mikä tahansa URL-käyttöinen palvelin. Oletustoteutuksessa palvelimen asettelu on kiinteä. Palvelimen sisältö
(käytettävissä olevat tuoteominaisuudet ja lisäosat) kuvataan sivustokarttatiedostossa,
jonka nimi on site.xml. Tiedostoa voidaan ylläpitää manuaalisesti, tai
palvelin voi laskea sen dynaamisesti.
Sivustokartta
Päivityspalvelimen URL-osoite voidaan määrittää täydellisenä URL-osoitteena sivustokarttatiedostoon
tai sivustokarttatiedoston sisältävän hakemistopolun URL-osoitteena (kuten index.html-tiedoston
käsittelyssä). Sivustokartan site.xml-tiedoston muodon DTD-määritys on seuraava:
<?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
>
Elementin ja määritteen määritykset ovat seuraavat:
- <site> - määrittää sivustokartan
- type - valinnainen sivuston lajin määritys. Arvo viittaa lajin merkkijonoon,g
joka on rekisteröity asennusrakenteen laajennuspisteen kautta. Jos arvoa ei ole määritetty, lajin oletetaan olevan Eclipse-ympäristön sivuston oletuslaji (sellaisena kuin se määritetään tässä asiakirjassa).
- url - valinnainen URL-osoite, jonka avulla määritetään päivityssivuston URL-perusosoite (sen avulla määritetään
yksittäinen <feature>- ja <archive>-sijainti). URL-osoite voi olla suhteellinen
tai tarkka. Jos se on suhteellinen, se on suhteessa site.xml-tiedostoon. Jos arvoa ei ole määritetty,
oletusarvona on site.xml-tiedoston URL-sijainti.
- mirrorsURL - valinnainen URL-osoite, joka viittaa päivityssivuston kahdennusmääritykset sisältävään tiedostoon. URL-osoite voi olla tarkka tai suhteessa tähän sivustoon. Kahdennussivustotiedostoa
kuvataan jäljempänä tässä asiakirjassa.
- availableLocales - valinnainen luettelo paikallistunnuksista,
joille koosteet ovat käytettävissä
- digestURL - Valinnainen URL-osoite, joka viittaa koosteita
sisältävään hakemistoon. Ajon aikana valitaan yksi
digestURL-kohdassa määritetyn hakemiston koosteista availableLocales-tiedon perusteella ja saman algoritmin avulla, jota
käytetään ominaisuuksien
valitsemiseen luokassa java.util.ResourceBundle. Koostetiedostojen nimi pitää olla
muotoa digest<paikallistunnus>.zip, missä paikallistunnus on
joko tyhjä (oletuskooste) tai paikallistunnus siinä muodossa kuin se
on määritelty luokassa java.util.Locale.
- associateSitesURL - valinnainen URL-osoite, joka viittaa yhtä aikaa tämän sivuston kanssa
avattavien sivustojen xml-tiedostossa olevaan luetteloon
- pack200 - Tämä määrite kertoo päivitystenhallinnalle, että
käytettävissä on pakattua sisältöä, joka on ladattava normaalin
jar-tiedoston sijasta. Jos määritettä ei ole asetettu,
päivitystenhallinta ei edes etsi pakattua sisältöä vaan lataa aina
normaalin jar-tiedoston. Jos päivityssivustossa on määritetty, että
pack200="true", päivitystenhallinta hakee jar-tiedoston etsimällä ensimmäiseksi pack.gz-tiedostoa tarvitsemansa jar-tiedoston
vierestä. Jos esimerkiksi ladataan tiedostoa foo.jar,
päivitystenhallinta etsii ensimmäiseksi pakkausta foo.jar.pack.gz. Jos
pack.gz-tiedosto on olemassa, se ladataan jar-tiedoston sijasta.
Latauksen jälkeen pack.gz-tiedosto puretaan, ja alkuperäinen
jar-tiedosto tulee tilalle.
Jos päivityssivustossa ei ole pack.gz-tiedostoa, ladataan tavalliseen
tapaan normaali jar-tiedosto.
- <description> - lyhyt kuvaus yksinkertaisena tekstinä. Se on tarkoitus kääntää.
- url - valinnainen URL-osoite koko kuvaukseen HTML-muodossa. URL-osoite voidaan määrittää
tarkkana tai suhteellisena. Suhteellinen URL-osoite on suhteessa site.xml-tiedostoon.
Huomaa, että URL-arvo on erotettava kansallisten kielten käsittelyssä, jotta
kullekin kielelle voidaan määrittää vaihtoehtoiset URL-osoitteet.
- <feature> - yksilöi viitatun tuoteominaisuusarkiston
- type - valinnainen tuoteominaisuuden lajin määritys. Arvo viittaa lajin merkkijonoon,g
joka on rekisteröity asennusrakenteen laajennuspisteen kautta. Jos arvoa ei ole määritetty, lajin oletetaan olevan sivuston tuoteominaisuuden
oletuslaji. Jos sivuston laji on Eclipse-ympäristön sivuston oletuslaji,
tuoteominaisuuden oletuslaji on paketoidun tuoteominaisuuden laji (sellaisena kuin se määritetään tässä
asiakirjassa).
- id - tuoteominaisuuden valinnainen tunnus. Tietoa käytetään suoritustehon
optimointiin tuoteominaisuushakujen nopeuttamiseksi. Sen on vastattava
viitatun arkiston feature.xml-tiedostossa määritettyä tunnusta (url-määrite).
Jos arvo on määritetty, on määritettävä myös version arvo.
- version - valinnainen tuoteominaisuuden versio. Tietoa käytetään suoritustehon
optimointiin tuoteominaisuushakujen nopeuttamiseksi. Sen on vastattava
viitatun arkiston feature.xml-tiedostossa määritettyä versiota (url-määrite).
Jos arvo on määritetty, on määritettävä myös tunnuksen arvo.
- url - pakollinen URL-viittaus tuoteominaisuusarkistoon. URL-osoite voi olla suhteellinen tai
tarkka. Jos se on suhteellinen, se on suhteessa site.xml-tiedoston sijaintiin.
Huomautus:
Sivuston oletustoteutus sallii tuoteominaisuuksien käytön ilman, että
se esitellään erikseen <feature>-merkinnän avulla. Esittelemätön
tuoteominaisuusviittaus tulkitaan oletusarvoisesti muotoon "features/<id>_<version>.jar".
Huomautus: Määritä aina tunnuksen ja version
arvot hakutehon parantamiseksi.
- patch - valinnainen määrite, joka osoittaa, että tämä on ohjelmakorjaus (tuoteominaisuuden erityislaji).
Huomautus: Määritä aina tämä arvo hakutehon parantamiseksi.
- os - valinnainen käyttöjärjestelmän määritys. Tämä on pilkuin erotettu luettelo
Eclipse-ympäristön määrittämistä käyttöjärjestelmän nimistä (ks. luokan
org.eclipse.core.runtime.Platform Javadoc. Se osoittaa, että tämä tuoteominaisuus asennetaan vain
määritettyyn käyttöjärjestelmään. Jos tämän määritteen arvoa
ei ole määritetty, tuoteominaisuus voidaan asentaa kaikkiin järjestelmiin (kannettava
toteutus). Tätä tietoa käytetään vihjeenä asennuksen ja
päivityksen tuessa (käyttäjä voi pakottaa tuoteominaisuuden asennuksen tästä asetuksesta huolimatta).
- arch - valinnainen koneen arkkitehtuurin määritys. Tämä on pilkuin erotettu luettelo
Eclipse-ympäristön määrittämistä arkkitehtuurin nimistä (ks. luokan
org.eclipse.core.runtime.Platform) Javadoc. Se osoittaa, että tämä tuoteominaisuus asennetaan vain
määritettyyn järjestelmään. Jos tämän määritteen arvoa
ei ole määritetty, tuoteominaisuus voidaan asentaa kaikkiin järjestelmiin (kannettava
toteutus). Tätä tietoa käytetään vihjeenä asennuksen ja
päivityksen tuessa (käyttäjä voi pakottaa tuoteominaisuuden asennuksen tästä asetuksesta huolimatta).
- ws - valinnainen ikkunointijärjestelmän määritys. Tämä on pilkuin erotettu luettelo
Eclipse-ympäristön määrittämistä ikkunointijärjestelmän nimistä (ks. luokan
org.eclipse.core.runtime.Platform) Javadoc. Se osoittaa, että tämä tuoteominaisuus asennetaan vain
määritettyyn ikkunointijärjestelmään. Jos tämän määritteen arvoa
ei ole määritetty, tuoteominaisuus voidaan asentaa kaikkiin järjestelmiin (kannettava
toteutus). Tätä tietoa käytetään vihjeenä asennuksen ja
päivityksen tuessa (käyttäjä voi pakottaa tuoteominaisuuden asennuksen tästä asetuksesta huolimatta).
- nl - valinnainen paikallistunnuksen määritys. Tämä on pilkuin erotettu luettelo Javan määrittämistä paikallistunnuksen nimistä. Se osoittaa, että tämä tuoteominaisuus asennetaan vain järjestelmään,
jossa on yhteensopiva paikallistunnus (Javan paikallistunnusten vastaavuussääntöjen mukaan). Jos tämän määritteen arvoa
ei ole määritetty, tuoteominaisuus voidaan asentaa kaikkiin järjestelmiin (kielellisesti neutraali
toteutus). Tätä tietoa käytetään vihjeenä asennuksen ja
päivityksen tuessa (käyttäjä voi pakottaa tuoteominaisuuden asennuksen tästä asetuksesta huolimatta).
- <archive> - tämän avulla määritetään viitattu muistiarkisto (varsinaiset tiedostot,
joihin viitataan tuoteominaisuuden manifest-tiedoston <plugin>- tai <data>-elementin
kautta). Sivustossa ylläpidetään arkistoja polkuna URL-karttaan. Eclipse-ympäristön sivuston oletustoteutus ei edellytä <archive>-osan
sisällyttämistä sivustokarttaan (site.xml). Kaikkien arkistoviittausten,
joita ei erikseen määritetä osana <archive>-osaa, oletetaan
liittyvän <archivePath>-muodossa olevaan URL-osoitteeseen, joka on suhteessa
site.xml-tiedoston sijaintiin.
- path - pakollinen arkistopolun tunnus. Tähän arkistoon viittaava tuoteominaisuus määrittää tämän merkkijonon, eikä sivusto tulkitse sitä muuten (paitsi
hakusanakkeena).
- url - pakollinen URL-viittaus arkistoon. URL-osoite voi olla suhteellinen tai
tarkka.
Jos se on suhteellinen, se on suhteessa site.xml-tiedoston sijaintiin.
- <category-def> - sen luokan valinnainen määritys, jota
asennuksen ja päivityksen tuki voivat käyttää tuoteominaisuuksien järjestämiseen hierarkkisesti
- name - luokan nimi. Se määritetään vinoviivoin / erotettujen nimisanakkeiden polkuna
- label - näytettävä nimiö. Se on tarkoitus kääntää.
- <category> - tuoteominaisuusmerkinnän varsinaisen luokan määritys
Huomaa, että feature.xml-manifest-asiakirjoissa on yleensä määritettävä
UTF-8-koodaus.
Esimerkiksi:
<?xml version="1.0" encoding="UTF-8"?>
Käännettävä teksti site.xml-tiedostossa voidaan erottaa site<_locale>.properties-tiedostoiksi,
joissa käytetään Javan ominaisuustiedostoryhmäkäytäntöjä. Huomaa, että käännettyjä
merkkijonoja käytetään asennuksen aikana (älä siis käytä lisäosafragmentin
ajonaikaista mekanismia). Ominaisuustiedostoryhmät sijaitsevat suhteessa site.xml-tiedoston
sijaintiin.
Sivuston oletusasettelu
<site root>/
site.xml
features/
feature archives
(esimerkiksi org.eclipse.javatools_1.0.1.jar)
<featureId>_<featureVersion>/
(valinnainen)
tuoteominaisuuden muut kuin lisäosatiedostot
plugins/
plug-in archives
(esimerkiksi org.eclipse.ui_1.0.3.jar)
Kahdennussivustotiedosto
Päivityksen kahdennussivustotiedosto (johon
<site>-määritteen kahdennussivustojen URL-määrite viittaa) sisältää päivityksen kahdennussivustojen määritykset. Sen muodon DTD-määritys on seuraava:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT mirrors (mirror*))>
<!ELEMENT mirror EMPTY>
<!ATTLIST mirror
url
CDATA #REQUIRED
label
CDATA #REQUIRED
>
- <mirrors> - määrittää käytettävissä olevat päivityksen kahdennussivustot
- <mirror> - määrittää kahdennussivuston
- url - kahdennussivuston URL-osoite
- label - näytettävä nimiö. Se on tarkoitus kääntää.
Koostetiedosto
Koostetiedostot (joihin <site>-määritteen
digestURL osoittaa) pakataan xml-tiedostoksi, jossa on seuraava
DTD-määritys:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT digest (feature*)>
missä tuoteominaisuuden määrittely on sama kuin tuoteominaisuuden
manifest-tiedostossa.
Liitesivustotiedosto
Liitesivustotiedosto (johon <site>-määritteen
associateSitesURL-määrite viittaa) sisältää liitesivustojen
määrityksen. Sen muodon DTD-määritys on seuraava:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT associateSites (associateSite*)>
<!ELEMENT associateSites EMPTY>
<!ATTLIST associateSite
url
CDATA #REQUIRED
label
CDATA #REQUIRED
>
- <associateSites> - määrittää tähän päivityssivustoon
liitetyt sivustot
- <associateSite> - määrittää yhden liitesivuston
- url - liitesivuston URL-osoite
- label - näytettävä nimiö. Se on tarkoitus kääntää.
Käyttöoikeuden tarkistus
Eclipse-ympäristön oletussivuston toteutus tukee HTTP-yhteyttä,
jossa on käyttäjän perustodennus (käyttäjätunnus ja salasana).
Eclipse-perusympäristöön voidaan lisätä mukautettuja käyttöoikeuden tarkistusmekanismeja kahdella
tavalla:
-
toimittamalla palvelimen puoleinen logiikka päivityspalvelimeen (esimerkiksi toteuttamalla palvelinsovelmia,
jotka laskevat site.xml-vastaavuuden ja tarkistavat yksittäisten arkistojen käyttöoikeuden
tiettyjen perusteiden mukaan)
-
toimittamalla sivusto-objektin mukautettu konkreettinen toteutus (asennettuna
työasemaan, päivityspalvelimeksi määritetty <site type="">).
Mukautettu konkreettinen sivuston toteutus yhdessä mahdollisen palvelimen puoleisen
logiikan kanssa tukee pakollisia tarkistusmekanismeja.
Eclipse-ympäristö on esimerkki tuoteominaisuuden avaintiedostoihin perustuvan käyttöoikeusmekanismin toteutuksesta.