Aggiornamento della mappa del sito del server
Il server di aggiornamento predefinito di Eclipse è un server accessibile tramite URL. L'implementazione predefinita presuppone la presenza di un server con layout fisso. Il contenuto del server
(in termini di funzioni e plug-in disponibili) è descritto in un file di mappa del sito, denominato site.xml. Questo file può essere gestito manualmente o elaborato dinamicamente dal server.
Mappa del sito
L'URL del server di aggiornamento può essere specificato come URL completo per il file di mappa del sito oppure come URL del percorso a una directory contenente il file di mappa del sito (come per l'elaborazione di index.html). Il formato della mappa del sito site.xml viene definito dalla seguente dichiarazione dtd:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT site (description?, feature*, archive*, category-def*)>
<!ATTLIST site
type
CDATA #IMPLIED
url
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
>
<!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
>
Di seguito sono riportate le definizioni degli elementi e degli attributi:
-
<site> - definisce la mappa del sito
-
type - specifica facoltativa del tipo di sito. Il valore si riferisce a un tipo di stringa registrato mediante il punto di estensione della struttura di installazione. Se non è specificato, si presuppone che il tipo sia quello predefinito del sito Eclipse
(come specificato in questo documento).
-
url - URL facoltativo che definisce l'URL di riferimento del sito di
aggiornamento (utilizzato per determinare i percorsi individuali di
<feature> e <archive>). Può essere relativo o assoluto. Se relativo, è relativo al sito site.xml. Se non è specificato, il valore predefinito è il percorso di URL del file site.xml.
-
<description> - breve descrizione in forma di testo semplice. Da
utilizzare per la traduzione.
-
url - URL facoltativo per la descrizione completa in HTML. Può essere specificato come assoluto o relativo. Se relativo, è relativo a site.xml.
Si noti che per la gestione NL il valore di URL deve essere separato per consentire di specificare URL alternativi per ciascuna lingua.
-
<feature> - identifica un'archivio di funzioni di riferimento
-
type - specifica facoltativa del tipo di funzione. Il valore si riferisce a un tipo di stringa registrato mediante il punto di estensione della struttura di installazione. Se il tipo non è specificato, si presuppone che sia il tipo di funzione predefinito per il sito. Se
il tipo di sito è quello predefinito di Eclipse, il tipo di funzione
predefinito è quello interno al pacchetto (come specificato in questo documento).
-
id - identificativo di funzione facoltativo. Questa informazione viene
utilizzata come ottimizzazione delle prestazioni per aumentare la velocità di
ricerca delle funzioni. Deve corrispondere all'identificativo specificato nel file feature.xml dell'archivio di riferimento (l'attributo url).
Se specificato, è necessario specificare anche l'attributo version.
-
version - versione facoltativa della funzione. Questa informazione viene utilizzata come ottimizzazione delle prestazioni per aumentare la velocità di ricerca delle funzioni. Deve corrispondere alla versione specificata nel file feature.xml dell'archivio di riferimento (l'attributo url).
Se specificato, è necessario specificare anche l'attributo id.
-
url - riferimento necessario all'URL per l'archivio della funzione. Può essere relativo o assoluto. Se relativo, è relativo al percorso del file site.xml.
Nota:
l'implementazione del sito predefinita consente di accedere alle funzioni senza la necessità di dichiararle esplicitamente utilizzando un elemento <feature>. Per impostazione predefinita, un riferimento a funzioni non dichiarate viene interpretato come "features/<id>_<version>.jar"
-
<archive> - identifica un archivio "storage" di riferimento (i file effettivamente referenziati mediante gli elementi <plugin> o <data> nel manifest della funzione). Il sito gestisce semplicemente gli archivi come una mappa di percorsi URL. L'implementazione predefinita del sito di Eclipse non richiede che la sezione <archive> sia inclusa nella mappa del sito (site.xml). Qualsiasi riferimento all'archivio non definito esplicitamente come parte di una sezione <archive> si presuppone sia mappata su un url nella forma "<archivePath>" relativa al percorso del file site.xml.
-
path - identificativo necessario del percorso dell'archivio. È una stringa determinata dalla funzione che fa riferimento all'archivio in questione e non viene altrimenti interpretata dal sito (se non come un token di ricerca).
-
url - riferimento necessario all'URL per l'archivio. Può essere relativo o assoluto.
Se relativo, è relativo al percorso del file site.xml.
-
<category-def> - una definizione facoltativa di una categoria che può essere utilizzata dal supporto di installazione e aggiornamento per organizzare gerarchicamente le funzioni.
-
name - nome della categoria. Viene specificato come un percorso dei token dei nomi separati da
/
-
label - etichetta visualizzabile. Da utilizzare per la traduzione.
-
<category> - specifica della categoria attuale per un elemento feature
name - nome della categoria.
In generale i documenti di manifest di feature.xml devono specificare la codifica UTF-8. Ad esempio
<?xml version="1.0" encoding="UTF-8"?>
Il testo traducibile contenuto in site.xml può essere separato all'interno dei file site<_locale>.properties utilizzando le convenzioni per l'insieme delle proprietà Java. Si
noti che le stringhe tradotte vengono utilizzate al momento dell'installazione (ad esempio, non adoperano il meccanismo di run-time del frammento di plug-in). Gli
insiemi di proprietà si trovano in una posizione relativa al percorso di
site.xml.
Layout predefinito del sito
<directory principale del sito>/
site.xml
funzioni/
archivi delle funzioni (ad esempio, org.eclipse.javatools_1.0.1.jar)
<featureId>_<featureVersion>/
(facoltativo)
file non di plug-in per le funzioni
plugins/
archivi di plug-in
(eg. org.eclipse.ui_1.0.3.jar)
Accesso di controllo
L'implementazione predefinita del sito Eclipse fornisce il supporto per accesso http con autenticazione di base degli utenti (id utente e password).
Un meccanismo di controllo degli accessi personalizzato può essere aggiunto alle funzioni di base di Eclipse in uno dei seguenti due modi:
-
fornendo una logica lato server al server di aggiornamento (ad esempio implementando servlet che elaborano la mappa di site.xml e controllano l'accesso ai singoli archivi sulla base di alcuni criteri per gli utenti)
-
fornendo un'implementazione concreta personalizzata dell'oggetto sito (installato sul computer client, server di aggiornamento specificato <site type="">).
L'implementazione concreta personalizzata del sito, insieme con qualsiasi logica lato server, supportano il meccanismo di controllo richiesto.
Eclipse fornisce un esempio dimostrativo di un'implementazione di un meccanismo di accesso basato sulla funzione dei file chiave.