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.
- 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.
- Implementieren Sie das Beispielpaket.
- 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.
- Kopieren Sie das Beispielpaket in das Verzeichnis webresources.
- Starten Sie die Datei Common.ear erneut.
- 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.
- 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/
- Stoppen Sie die Datei Common.ear.
- Fügen Sie Ihre neuen JavaScript-, HTML-,
Bild- oder CSS-Dateien zum Verzeichnis resources/ der
JAR-Datei hinzu.
- Starten Sie die Datei Common.ear erneut.
- 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
- 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.
- Starten Sie die Datei Common.ear erneut, damit die Änderungen in der Datei plugin.xml übernommen werden.
- Ändern Sie den Namen des Pakets.
- Ä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.
- Ä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.
- Ä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.
- 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
- Starten Sie die Datei Common.ear erneut.
- Ü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