È possibile estendere i file
JavaScript utilizzati
da IBM® Connections quando si
desidera aggiungere nuove funzionalità, widget o script al
prodotto.
Prima di iniziare
IBM Connections
utilizza il file WAR di risorse condivise
connections.web.resources.war per aggregare e
fornire tutti i file JavaScript.
Questo file WAR si basa sul modello di estensione
OSGi, che consente l'aggiunta di nuove funzionalità a un sistema
tramite un meccanismo di plug-in. IBM
Connections sfrutta questo meccanismo per fornire le
seguenti funzionalità: - Esporre JavaScript
personalizzato in nuovo pacchetto di moduli Dojo
- Accertarsi che lo
JavaScript
personalizzato si carichi quando viene caricato un altro modulo
Per
estendere lo JavaScript
utilizzato in IBM Connections,
è necessario prima di tutto collocare i file
JavaScript in un bundle
OSGi (a un file file con un file MANIFEST.MF
speciale e alcune directory), quindi distribuire il bundle in IBM Connections. Successivamente,
è necessario collegare il
JavaScript per accertarsi
che venga caricato contemporaneamente al resto dello JavaScript in IBM Connections.
Il
metodo più semplice per estendere il
JavaScript utilizzato
in IBM Connections è avviarlo
assieme a un bundle di esempio, aggiungervi i file e distribuirlo
nell'ambiente di IBM Connections.
Per
modificare un file in un file JAR, arrestare il file
Common.ear, aggiornare il file JAR e riavviare
il file EAR. È possibile anche decomprimere il file JAR in una nuova
directory con lo stesso nome del file JAR meno l'estensione
.jar e apportare le modifiche in questa
posizione, ma potrebbe essere necessario riavviare il file EAR per
visualizzare le nuove versioni dei file.
Procedura
Effettuare le seguenti operazioni per estendere lo
JavaScript utilizzato
in
IBM Connections tramite un
bundle di esempio.
- Scaricare il seguente bundle di esempio:
com.mycompany.example_1.0.0.jar
- Distribuire il bundle di esempio.
- Localizzare la directory di provisioning delle risorse Web per IBM Connections. Il
programma di installazione crea questa directory nella seguente
posizione:
HOME_CONNECTIONS/data/shared/provision/webresources Questa directory contiene vari file JAR differenti, con
almeno un file per ogni applicazioni, e bundle di utilità.
- Copiare il bundle di esempio nella directory webresources.
- Riavviare il file Common.ear.
- Inserire il seguente URL nel browser Web:
http://server/connections/resources/web/com.mycompany.example/readme.txt
Viene
visualizzato il file readme.txt dal file JAR
nella visualizzazione della cartella resources/
nella finestra del browser.
- Aggiungere i file al bundle di esempio.
È possibile aggiornare il file JAR aggiungendo nuovi file. Collocare
i file nella directory
resources/ e visualizzare
il contenuto inserendo il seguente URL nel browser Web:
http://server/connections/resources/web/com.mycompany.example/
- Arrestare Common.ear.
- Aggiungere i nuovi file JavaScript,
HTML, immagine o CSS nel file JAR nella directory resources/.
- Riavviare Common.ear.
- Cancellare la cache del browser e accedere al nuovo file
direttamente visualizzandolo sul server.
Ad esempio:
http://server/connections/resources/web/com.mycompany.example/newfile
- Accertarsi che il
JavaScript venga caricato
quando viene caricato il modulo di
IBM Connections aggiornando il
file plugin.xml per aggiungere un nuovo elemento
<dojoModuleBinding>. Impostare l'attributo "to" nel
collegamento al nome della classe per poi caricare i file
personalizzati.
La maggior parte delle personalizzazioni richiedono il caricamento
in un determinato momento assieme ad altri
JavaScript di IBM Connections. Per
accertarsi che il modulo venga caricato, è necessario aggiornare il
file plugin.xml per aggiungere un nuovo elemento
<dojoModuleBinding>.
Nell'esempio, "com.mycompany.example.demonstration"
(demonstration.js) è collegato a un file che
possono caricare tutte le applicazioni IBM Connections, bundle_common.js.
Ogni qualvolta un'applicazione carica
bundle_common.js,
viene caricato anche demonstration.js. Il modulo
dimostrativo stampa una riga nella console di Firebug, visualizzabile
in IBM Connections.
- Riavviare Common.ear per acquisire
le modifiche nel file plugin.xml.
- Modificare il nome del bundle.
- Nel file META-INF/MANIFEST.MF, modificare
Bundle-SymbolicName e facoltativamente Bundle-Name.
Nota: Non rimuovere il testo ;singleton:=true
alla fine della riga. Questo testo è necessario per
l'analisi del file plugin.xml e il caricamento
dello JavaScript.
- Modificare ogni modulo
JavaScript Dojo nella
cartella resources/ in modo da avere un
pacchetto base differente. In alternativa, è possibile
modificare l'<alias> in plugin.xml per
definire un pacchetto base arbitrario.
Quando IBM Connections
tenta di cercare i moduli, cerca prima nel pacchetto base (nome del
bundle o <alias value="" /> definito in
plugin.xml), quindi cerca nella cartella resources/. Tuttavia,
l'istruzione dojo.provide(...) in ogni file
JavaScript deve
corrispondere al nome previsto, altrimenti
IBM Connections non è in grado
di caricare lo JavaScript.
- Modificare il nome del file JAR in
nuovo-nome_versione.jar.
Importante: quando si rinomina il file JAR, accertarsi che
la versione descritta da Bundle-Version in
MANIFEST.MF corrisponda alla fine del nome
JAR. Se non corrisponde, IBM
Connections non è in grado di caricare il file JAR.
- Rimuovere il vecchio file JAR dalla directory
webresources e copiare il nuovo file JAR nella directory.
Facoltativo: È possibile, inoltre, fare
riferimento ai bundle personalizzati salvati in un'altra posizione
all'esterno della directory di personalizzazione utilizzando un file
customresources.link salvato nella directory
webresources. Il
file
customresources.link
è un file di testo che specifica un elenco di directory aggiuntive in
cui eseguire la ricerca.
È possibile specificare qualunque numero di directory nel file, ad
esempio:
/local/opt/myCustomBundles
C:\customBundles
- Riavviare Common.ear.
- Controllare le modifiche accedendo al seguente URL nel browser. Viene visualizzato lo stesso file che si trova nel file JAR.
http://server/connections/resources/web/nuovo-nome/readme.txt