Estensione di JavaScript in IBM Connections

È 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.

  1. Scaricare il seguente bundle di esempio:
    com.mycompany.example_1.0.0.jar
  2. Distribuire il bundle di esempio.
    1. 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à.

    2. Copiare il bundle di esempio nella directory webresources.
    3. Riavviare il file Common.ear.
    4. 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.
  3. 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/
    1. Arrestare Common.ear.
    2. Aggiungere i nuovi file JavaScript, HTML, immagine o CSS nel file JAR nella directory resources/.
    3. Riavviare Common.ear.
    4. 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
  4. 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.

  5. Riavviare Common.ear per acquisire le modifiche nel file plugin.xml.
  6. Modificare il nome del bundle.
    1. 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.
    2. 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.

    3. 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.
    4. 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
    5. Riavviare Common.ear.
    6. 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