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 plugin 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
mirrorsURL 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
>
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.
- mirrorsURL - URL facoltativo che fa riferimento ad un file che contiene le definizioni mirror del sito di aggiornamento. Questo URL
può essere assoluto o relativo a questo sito. Il file mirror viene descritto successivamente.
- <description> - breve descrizione in forma di testo semplice. Da utilizzare per la traduzione.
- url - URL facoltativo per la descrizione completa come HTML. Può essere specificato come assoluto o relativo. Se relativo, l'URL è relativo al sito site.xml.
Tenere presente che per la gestione delle lingue nazionali 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 features non dichiarato viene interpretato come
"features/<id>_<version>.jar".
Nota: per ricerche più efficienti, definire sempre gli attributi id e version.
- patch - attributo facoltativo per indicare che si tratta di una patch (speciale tipo di funzione).
Nota: per ricerche più efficienti, definire sempre questo attributo.
- os - specifica facoltativa del sistema operativo. Elenco di identificativi del sistema operativo,
separati da una virgola, definito da Eclipse (consultare Javadoc per
org.eclipse.core.runtime.Platform). Indica che questa funzione dovrebbe essere installata solo su
uno dei sistemi operativi specificati. Se tale attributo non è specificato, è possibile
installare la funzione su tutti i sistemi (implementazione trasferibile). Questa informazione viene utilizzata come suggerimento dal
supporto di installazione e di aggiornamento (l'utente può forzare
l'installazione della funzione senza tener conto di tale impostazione).
- arch - specifica facoltativa relativa all'architettura del computer. Elenco di
identificativi dell'architettura, separati da una virgola, definito da Eclipse
(consultare Javadoc per org.eclipse.core.runtime.Platform). Indica che questa funzione dovrebbe essere installata solo su uno dei
sistemi specificati. Se tale attributo non è specificato, è possibile
installare la funzione su tutti i sistemi (implementazione trasferibile). Questa informazione viene utilizzata come suggerimento dal
supporto di installazione e di aggiornamento (l'utente può forzare
l'installazione della funzione senza tener conto di tale impostazione).
- ws - specifica facoltativa relativa ai sistemi a finestre. Elenco di identificativi del sistema
a finestre, separati da una virgola, definito da Eclipse (consultare Javadoc per
org.eclipse.core.runtime.Platform). Indica che questa funzione dovrebbe essere installata solo su
uno dei sistemi a finestre specificati. Se tale attributo non è specificato, è possibile
installare la funzione su tutti i sistemi (implementazione trasferibile). Questa informazione viene utilizzata come suggerimento dal
supporto di installazione e di aggiornamento (l'utente può forzare
l'installazione della funzione senza tener conto di tale impostazione).
- nl - specifica facoltativa relativa alle impostazioni internazionali. Elenco
di identificativi delle impostazioni internazionali, separati da virgola,
definito da Java. Indica che questa funzione dovrebbe essere installata
solo su un sistema che utilizza un'impostazione internazionale compatibile
(che utilizza le regole di corrispondenza delle impostazioni
internazionali di Java). Se tale attributo non è specificato, è possibile
installare la funzione su tutti i sistemi (implementazione lingua di
sistema). Questa informazione viene utilizzata come suggerimento dal
supporto di installazione e di aggiornamento (l'utente può forzare
l'installazione della funzione senza tener conto di tale impostazione).
- <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 plugin). 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
features/
archivi delle funzioni (ad esempio, org.eclipse.javatools_1.0.1.jar)
<featureId>_<featureVersion>/
(facoltativo)
file non di plugin per le funzioni
plugins/
archivi di plugin (ad esempio, org.eclipse.ui_1.0.3.jar)
File mirror
Il file mirror di aggiornamento (quello indicato dall'attributo mirrorsURL di <site>) contiene la definizione per i mirror del
sito di aggiornamento. Il formato è definito dalla dtd seguente:
<?xml encoding="ISO-8859-1"?>
<!ELEMENT mirrors (mirror*))>
<s!ELEMENT mirror EMPTY>
<!ATTLIST mirror
url
CDATA #REQUIRED
label CDATA #REQUIRED
>
- <mirrors> - definisce i mirror del sito di aggiornamento disponibili
- <mirror> - definisce un sito mirror
- url - l'URL del sito mirror
- label - etichetta visualizzabile. Da utilizzare per la traduzione.
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.