Inhaltsverzeichnis

Hibiscus: Scripting-Plugin erstellen

Mit Jameica 2.4 ist es erstmals möglich, Plugins zu erstellen, die keinen Java-Code enthalten. Das ist z.Bsp. für Plugins nützlich, die lediglich Bibliotheken (Jar-Dateien) für andere Plugins bereitstellen oder für Scripting-Plugins. Das folgende Tutorial beschreibt letzteres beispielhaft an einem Plugin „hibiscus.script.abcbank“, welches Hibiscus um ein Javascript zur Umsatz-Synchronisierung mit der Bank „abcbank“ erweitert und hierfür auch ein paar benötigte Jar-Dateien mitbringt.

Aufbau des Plugins

Das Plugin befindet sich in einer ZIP-Datei „hibiscus.script.abcbank.zip“. Dieses enthält auf oberster Ebene lediglich einen Ordner mit dem selben Namen wie das Plugin. Hier also „hibiscus.script.abcbank“. In diesem befindet sich eine Datei mit dem Namen „plugin.xml“, eine Javascript-Datei mit dem Namen „hibiscus.script.abcbank.js“ sowie einen Ordner „lib“ mit den benötigten Jar-Dateien (im Beispiel sind es die Jar-Dateien von HTMLUnit.

  hibiscus.script.abcbank.zip
    |
    +-- hibiscus.script.abcbank (Ordner)
         |-- plugin.xml
         |-- hibiscus.script.abcbank.js
         +-- lib
              |-- commons-codec-1.4.jar
              |-- commons-io-1.4.jar
              |-- cssparser-0.9.5.jar
              |-- serializer-2.7.1.jar
              |-- xml-apis-1.3.04.jar
              |-- commons-collections-3.2.1.jar
              |-- commons-lang-2.4.jar
              |-- htmlunit-2.7.jar
              |-- nekohtml-1.9.14.jar
              |-- xalan-2.7.1.jar
              |-- commons-httpclient-3.1.jar
              |-- commons-logging-1.1.1.jar
              |-- htmlunit-core-js-2.7.jar
              |-- sac-1.3.jar
              |-- xercesImpl-2.9.1.jar
              +-- LICENSE.TXT

Aufbau der plugin.xml

Die Datei „plugin.xml“ ist das Manifest eines Plugins (siehe auch). Es beschreibt die Eigenschaften des Plugins sowie dessen Abhängigkeiten zu anderen Plugins. Im konkreten Beispiel erfordert es Jameica mindestens in Version 2.4.0 (erst seit dieser Version ist es möglich, Plugins ohne Java-Code zu erstellen), ausserdem die Plugins „hibiscus“ und „jameica.scripting“ in mindestens den angegebenen Versionen. Das Plugin sendet ausserdem eine Message an die Queue „jameica.scripting.add“ mit dem Inhalt „${manifest.pluginDir}/hibiscus.script.abcbank.js“. Diese Queue wird vom Plugin „jameica.scripting“ bereitgestellt. Die Message bewirkt, dass die Javascript-Datei „hibiscus.script.abcbank.js“ beim Start von Jameica automatisch registriert wird. Die Variable „${manifest.pluginDir}“ wird hierbei von Jameica automatisch gegen den Installationspfad des Plugins ersetzt.

<?xml version="1.0" encoding="ISO-8859-1"?>
 
<plugin name="hibiscus.script.abcbank" version="1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="http://www.willuhn.de/schema/jameica-plugin-1.3.xsd">
 
  <description>Scripting-Support für abcbank</description>
  <homepage>http://www.meinewebseite.de/</homepage>
  <license>GPL - http://www.gnu.org/copyleft/gpl.html</license>
 
  <requires jameica="2.4.0+">
    <import plugin="jameica.scripting" version="2.3.0+" />
    <import plugin="hibiscus" version="2.4.0+" />
  </requires>
 
  <messaging>
    <message queue="jameica.scripting.add">
      <![CDATA[
        ${manifest.pluginDir}/hibiscus.script.abcbank.js
      ]]>
    </message>
  </messaging>
</plugin>

Fertig. Die ZIP-Datei kann nun bequem über den Plugin-Manager von Jameica (im Menu zu finden unter Datei→Einstellungen→Plugins) installiert werden. Bei der Installation prüft Jameica selbständig, ob die angegebenen Plugins in den benötigten Versionen vorhanden sind.

Nochmal der Hinweis: Das funktioniert erst seit Jameica 2.4.

Beachte bitte auch, die Lizenz-Informationen von Jar-Dateien mitzuliefern, insofern deren Lizenz das verlangt.