JavaScript in IBM Connections erweitern

Sie können die JavaScript-Dateien, die von IBM® Connections verwendet werden, erweitern, wenn Sie neue Funktionen, Widgets oder Scripts zum Produkt hinzufügen möchten.

Vorbereitende Schritte

IBM Connections verwendet die geteilte WAR-Ressourcendatei connections.web.resources.war, um alle JavaScript-Dateien zu aggregieren und bereitzustellen. Diese WAR-Datei basiert auf dem OSGi-Erweiterungsmodell, mit dessen Hilfe neue Funktionen über einen Plug-in-Mechanismus zu einem System hinzugefügt werden können. IBM Connections nutzt diesen Mechanismus zur Bereitstellung der folgenden Funktionen:
  • Benutzerdefiniertes JavaScript in einem neuen Dojo-Modul-Paket bereitstellen
  • Sicherstellen, dass beim Laden eines anderen Moduls das benutzerdefinierte JavaScript geladen wird

Um das in IBM Connections verwendete JavaScript zu erweitern, müssen Sie zuerst Ihre JavaScript-Dateien in einem OSGi-Paket (eine JAR-Datei mit einer speziellen MANIFEST.MF-Datei und einigen Verzeichnissen) zusammenfassen und das Paket in IBM Connections implementieren. Dann müssen Sie Ihr JavaScript verlinken, um sicherzustellen, dass es zur selben Zeit wie das verbleibende JavaScript in IBM Connections geladen wird.

Die einfachste Weise, das JavaScript in IBM Connections zu erweitern, besteht darin, ein Beispielpaket zu starten, ihm Dateien hinzuzufügen und es in der IBM Connections-Umgebung zu implementieren.

Wenn Sie eine Datei in der JAR-Datei ändern möchten, müssen Sie die Datei Common.ear stoppen, die JAR-Datei aktualisieren und dann die EAR-Datei erneut starten. Sie können auch die JAR-Datei in ein neues Verzeichnis mit dem Namen der JAR-Datei ohne die Erweiterung .jar entpacken und dort die Änderungen vornehmen, müssen dann aber möglicherweise die EAR-Datei erneut starten, damit die neuen Versionen dieser Datei angezeigt werden.

Vorgehensweise

Gehen Sie wie folgt vor, um das JavaScript in IBM Connections mithilfe eines Beispielpakets zu erweitern.

  1. Laden Sie das folgende Beispielpaket herunter:

    http://public.dhe.ibm.com/software/dw/lotus/connections/4/reference/com.mycompany.example_1.0.0.jar

    Anmerkung: Das JAR-Versionsformat muss "_x.x.x" lauten, damit es von Connections ordnungsgemäß erkannt wird.
  2. Implementieren Sie das Beispielpaket.
    1. Suchen Sie Ihr Bereitstellungsverzeichnis für Webressourcen für IBM Connections. Das Installationsprogramm erstellt dieses Verzeichnis an der folgenden Position:
      CONNECTIONS_HOME/data/shared/provision/webresources

      Dieses Verzeichnis enthält viele verschiedene JAR-Dateien, einschließlich mindestens einer JAR-Datei pro Anwendung, sowie Dienstprogrammpakete.

    2. Kopieren Sie das Beispielpaket in das Verzeichnis webresources.
    3. Starten Sie die Datei Common.ear erneut.
    4. Geben Sie die folgende URL in Ihren Web-Browser ein:
      http://server/connections/resources/web/com.mycompany.example/readme.txt
      Sie sollten die Datei readme.txt aus der JAR-Datei im Ordner resources/ im Browserfenster angezeigt sehen.
  3. Fügen Sie Dateien zum Beispielpaket hinzu.
    Sie können die JAR-Datei aktualisieren, indem Sie neue Dateien hinzufügen. Stellen Sie die Dateien in das Verzeichnis resources/ und zeigen Sie den Inhalt des Verzeichnisses an, indem Sie die folgende URL in den Web-Browser eingeben:
    http://server/connections/resources/web/com.mycompany.example/
    1. Stoppen Sie die Datei Common.ear.
    2. Fügen Sie Ihre neuen JavaScript-, HTML-, Bild- oder CSS-Dateien zum Verzeichnis resources/ der JAR-Datei hinzu.
    3. Starten Sie die Datei Common.ear erneut.
    4. Löschen Sie den Browser-Cache und greifen Sie auf die neue Datei direkt zu, indem Sie sie auf dem Server anzeigen.
      Zum Beispiel:
      http://server/connections/resources/web/com.mycompany.example/newfile
  4. Stellen Sie sicher, dass JavaScript geladen wird, wenn ein IBM Connections-Modul geladen wird, indem Sie die Datei plugin.xml um ein neues <dojoModuleBinding>-Element ergänzen. Setzen Sie das Attribut "to" in der Bindung auf den Namen der Klasse, die von Ihren angepassten Dateien im Anschluss geladen werden soll.

    Die meisten Anpassungen müssen zu einem bestimmten Zeitpunkt, zusammen mit einem anderen IBM Connections JavaScript, geladen werden. Um sicherzustellen, dass Ihr Modul geladen wird, müssen Sie die Datei plugin.xml um ein neues <dojoModuleBinding>-Element ergänzen.

    In dem Beispiel "com.mycompany.example.demonstration" ist die Datei demonstration.js an eine Datei gebunden, die von allen IBM Connections-Anwendungen geladen wird, nämlich an bundle_common.js. Immer, wenn eine Anwendung die Datei bundle_common.js lädt, wird auch die Datei demonstration.js geladen. Das Demonstrationsmodul schreibt eine Zeile in die Firebug-Konsole, die Sie in IBM Connections anzeigen können.

  5. Starten Sie die Datei Common.ear erneut, damit die Änderungen in der Datei plugin.xml übernommen werden.
  6. Ändern Sie den Namen des Pakets.
    1. Ändern Sie in der Datei META-INF/MANIFEST.MF die Einträge "Bundle-SymbolicName" und (optional) "Bundle-Name".
      Anmerkung: Entfernen Sie nicht den Text ;singleton:=true am Ende der Zeile. Dieser Text ist erforderlich, damit die Datei plugin.xml analysiert wird und Ihr JavaScript geladen wird.
    2. Ändern Sie die einzelnen Dojo-JavaScript-Module im Ordner resources/, indem Sie unterschiedliche Basispakete dafür angeben. Alternativ dazu können Sie die Angabe für <alias> in der Datei plugin.xml ändern und ein willkürliches Basispaket angeben.

      Wenn IBM Connections versucht, Ihre Module zu suchen, sucht es zuerst nach dem Basispaket (nach dem Namen des Pakets oder nach der Angabe <alias value="" /> in der Datei plugin.xml) und dann im Ordner resources/. Die Anweisung dojo.provide(...) in den einzelnen JavaScript-Dateien muss jedoch dem erwarteten Namen entsprechen, andernfalls kann IBM Connections Ihr JavaScript nicht laden.

    3. Ändern Sie den Namen der JAR-Datei in new-name_version.jar.
      Wichtig: Achten Sie beim Umbenennen der JAR-Datei darauf, dass die in MANIFEST.MF in "Bundle-Version" angegebene Version der Version am Ende des JAR-Namens entspricht. Stimmen die beiden Angaben nicht überein, kann IBM Connections die JAR-Datei nicht laden.
    4. Entfernen Sie die alte JAR-Datei aus dem Verzeichnis webresources und kopieren Sie die neue JAR-Datei in das Verzeichnis.
      Optional: Sie können auch auf benutzerdefinierte Pakete verweisen, die an einer anderen Position außerhalb Ihres Anpassungsverzeichnisses gespeichert sind, indem Sie die Datei customresources.link verwenden, die in Ihrem webresources-Verzeichnis gespeichert ist. Bei der Datei customresources.link handelt es sich um eine Textdatei, die eine Liste zusätzlicher Verzeichnisse angibt, die durchsucht werden sollen. Sie können in der Datei beliebig viele Verzeichnisse angeben. Beispiel:
      /local/opt/myCustomBundles
      C:\customBundles
    5. Starten Sie die Datei Common.ear erneut.
    6. Überprüfen Sie die Änderungen, indem Sie im Browser auf die folgende URL zugreifen. Ihnen sollte die Datei angezeigt werden, die sich in der JAR-Datei befindet.
      http://server/connections/resources/web/new name/readme.txt