Sitetoewijzing Updateserver

De standaardupdateserver van Eclipse is een updateserver die toegankelijk is met URL's. De standaardimplementatie gaat uit van een server met een vaste indeling. De inhoud van de server (in termen van beschikbare features en plug-ins) wordt beschreven in een siteoverzichtsbestand, site.xml. U kunt dit bestand handmatig onderhouden of automatisch door de server laten genereren.

Siteoverzicht

De URL van de updateserver kan worden opgegeven als de volledige URL van het siteoverzichtsbestand, of als URL van een directorypad met het siteoverzichtsbestand (zoals bij de verwerking van index.html). De indeling van het siteoverzichtsbestand site.xml wordt gedefinieerd door de volgende 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
>

De elementen en kenmerken worden als volgt gedefinieerd:

Gewoonlijk moet de codering van feature.xml-manifestdocumenten worden ingesteld op UTF-8. Voorbeeld:

<?xml version="1.0" encoding="UTF-8"?>

Vertaalbare tekst in het bestand site.xml kan worden ondergebracht in afzonderlijke site<_locale>.properties-bestanden met Java-eigenschappenbundelconventies. Let wel, de vertaalde tekenreeksen worden gebruikt ten tijde van de installatie (niet in het runtime-mechanisme voor pluginfragmenten). De eigenschappenbundels worden opgezocht via een relatief pad ten opzichte van de locatie van site.xml.

Standaardsitelayout

<site root>/
    site.xml
    features/
        feature-archieven   (bijvoorbeeld org.eclipse.javatools_1.0.1.jar)
        <featureId>_<featureVersion>/    (optioneel)
            niet-pluginbestanden voor feature
    plugins/
        plugin-archieven    (bijvoorbeeld org.eclipse.ui_1.0.3.jar)

Mirrorbestand

Het updatemirrorbestand (waarnaar wordt verwezen door het kenmerk mirrorsURL van <site>) bevat definities voor updatesitemirrors. De indeling wordt gedefinieerd door de volgende DTD:

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

<!ELEMENT mirrors (mirror*))>
 

<!ELEMENT mirror EMPTY>
<!ATTLIST mirror
    url           CDATA #REQUIRED    
    label         CDATA #REQUIRED
>

Digestbestand

Digestbestanden (de bestanden waarnaar wordt verwezen in het kenmerk digestURL van <site>) zijn gezipte XML-bestanden met de volgende DDT:

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

<!ELEMENT digest (feature*)>

Hierbij is de definitie van feature hetzelfde als in het featuremanifest.

Bestand met gekoppelde sites

Het bestand met gekoppelde sites (waarnaar wordt verwezen door het kenmerk associateSitesURL van <site>) bevat definities van gekoppelde sites. De indeling wordt gedefinieerd door de volgende DTD:

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

<!ELEMENT associateSites (associateSite*)>
 

<!ELEMENT associateSites EMPTY>
<!ATTLIST associateSite
    url           CDATA #REQUIRED    
    label         CDATA #REQUIRED
>

Toegangsbeheer

De standaardsite-implementatie van Eclipse biedt ondersteuning voor HTTP-toegang met basisgebruikersverificatie (gebruikers-ID en wachtwoord).

U kunt de basistoegangsbeheermechanismen van Eclipse op twee manieren aanpassen:

Eclipse bevat een voorbeeldimplementatie van een toegangsmechanisme op basis van featuresleutelbestanden.