Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
develop:plugin.xml [d.m.Y H:i] – willuhn | develop:plugin.xml [d.m.Y H:i] (aktuell) – [Die Sektionen im Einzelnen] willuhn |
---|
<?xml version="1.0" encoding="ISO-8859-1"?> | <?xml version="1.0" encoding="ISO-8859-1"?> |
| |
<plugin name="hibiscus" version="1.7" class="de.willuhn.jameica.hbci.HBCI" | <plugin name="hibiscus" version="1.7" class="de.willuhn.jameica.hbci.HBCI" shared="true" |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
xsi:noNamespaceSchemaLocation="http://www.willuhn.de/schema/jameica-plugin-1.0.xsd"> | xsi:noNamespaceSchemaLocation="http://www.willuhn.de/schema/jameica-plugin-1.3.xsd"> |
| |
| |
<import plugin="Name des benoetigten Plugins"/> | <import plugin="Name des benoetigten Plugins"/> |
<import plugin="Name des benoetigten Plugins2" version="1.2-"/> | <import plugin="Name des benoetigten Plugins2" version="1.2-"/> |
<import plugin="Name des benoetigten Plugins3" version="2.0"/> | <import plugin="Name des benoetigten Plugins3" version="2.0" required="false"/> |
... | ... |
</requires> | </requires> |
</services> | </services> |
| |
| <messaging> |
| <consumer queue="mein.queue.name" class="implementierung.eines.MessageConsumer" /> |
| <message queue="jameica.scripting.add"> |
| <![CDATA[ |
| ${manifest.pluginDir}/meinscript.js |
| ]]> |
| </message> |
| </messaging> |
</plugin> | </plugin> |
</code> | </code> |
| |
<code xml> | <code xml> |
<plugin name="hibiscus" version="1.7" class="de.willuhn.jameica.hbci.HBCI"> | <plugin name="hibiscus" version="1.7" class="de.willuhn.jameica.hbci.HBCI" shared="true"> |
</code> | </code> |
| |
| version | Versionsnummer bestehend aus Major- und Minor-Number. | | | version | Versionsnummer bestehend aus Major- und Minor-Number. | |
| class | "Plugin-Activator". Die hier angegebene Klasse muss von *de.willuhn.jameica.plugin.AbstractPlugin* abgeleitet sein. Bei der Initialisierung des Plugins wird eine Instanz erzeugt und die Methode *init()* bzw. ggg. *update()* oder *install()* aufgerufen | | | class | "Plugin-Activator". Die hier angegebene Klasse muss von *de.willuhn.jameica.plugin.AbstractPlugin* abgeleitet sein. Bei der Initialisierung des Plugins wird eine Instanz erzeugt und die Methode *init()* bzw. ggg. *update()* oder *install()* aufgerufen | |
| | shared | Legt fest, ob die Klassen dieses Plugins auch für andere Plugins sichtbar sein sollen (Default=true). Wert kann auf "false" gesetzt werden, wenn das Plugin beispielsweise JAR-Bibliotheken mitbringt, welche mit anderen Plugins kollidieren. | |
| |
| |
| homepage | Homepage des Plugins/Herstellers | | | homepage | Homepage des Plugins/Herstellers | |
| license | Bezeichnung der Lizenz des Plugins | | | license | Bezeichnung der Lizenz des Plugins | |
| |
| |
=== Dependencies === | === Dependencies === |
<import plugin="Name des benoetigten Plugins"/> | <import plugin="Name des benoetigten Plugins"/> |
<import plugin="Name des benoetigten Plugins2" version="1.2-"/> | <import plugin="Name des benoetigten Plugins2" version="1.2-"/> |
<import plugin="Name des benoetigten Plugins3" version="2.0"/> | <import plugin="Name des benoetigten Plugins3" version="2.0" required="false"/> |
... | ... |
</requires> | </requires> |
| plugin | Name des benötigten Plugins. Das ist der Wert des Attributes *<plugin name=..."* des benötigten Plugins | | | plugin | Name des benötigten Plugins. Das ist der Wert des Attributes *<plugin name=..."* des benötigten Plugins | |
| version | Versionsnummer der benötigten Plugin-Version (optional) | | | version | Versionsnummer der benötigten Plugin-Version (optional) | |
| | required | Legt fest, ob die Abhängigkeit erfüllt sein muss oder nicht (default="true"). Ist eine Abhängigkeit mit "required=false" als optional markiert, kann das Plugin auch dann gestartet werden, wenn die Abhängigkeit **nicht** erfüllt ist. Ist das abhängige Plugin jedoch installiert, dann stellt Jameica sicher, dass es **vor** dem Plugin geladen wird. | |
| |
Versionsnummern können in den folgenden Formaten angegeben werden: | Versionsnummern können in den folgenden Formaten angegeben werden: |
| |
^ Beispiel ^ Bemerkung ^ | ^ Beispiel ^ Bemerkung ^ |
| 2.0 | Plugin/Jameica wird exakt in dieser Version benötigt | | | 2.0 | Plugin/Jameica wird **exakt** in dieser Version benötigt | |
| 1.2- | Plugin/Jameica wird in einer Version benötigt, die **älter** als 1.2 ist | | | 1.2- | Plugin/Jameica wird in einer Version benötigt, die **älter** als 1.2 ist | |
| 1.7+ | Plugin/Jameica wird in einer Version benötigt, die **neuer** als 1.7 ist | | | 1.7+ | Plugin/Jameica wird in einer Version benötigt, die **neuer** als 1.7 ist | |
| class | Name der Java-Klasse oder eines Interfaces, welches *de.willuhn.datasource.Service* implementiert. Ist die zugehörige Implementierung dem Classfinder bekannt, wird sie automatisch gefunden | | | class | Name der Java-Klasse oder eines Interfaces, welches *de.willuhn.datasource.Service* implementiert. Ist die zugehörige Implementierung dem Classfinder bekannt, wird sie automatisch gefunden | |
| share | Legt fest, ob der Dienst im Server-Betrieb via RMI erreichbar sein soll | | | share | Legt fest, ob der Dienst im Server-Betrieb via RMI erreichbar sein soll | |
| |
| |
| === Messaging === |
| |
| Das Messaging ist eine elegante Möglichkeit, Plugins innerhalb von Jameica miteinander kommunizieren zu lassen. Ein "Message-Consumer" ist eine Klasse, die das Interface *de.willuhn.jameica.messaging.MessageConsumer* implementiert und auf einer Queue mit frei gewähltem Namen registriert werden kann. Anschließend können (sowohl das eigene Plugin als auch andere) Messages an diese Queue gesendet werden, die der Message-Consumer empfängt. Ein Message-Consumer kann sowohl mittels Java-Code für eine Queue registriert werden als auch direkt im Manifest. Im Beispiel wird eine Klasse mit dem Namen "implementierung.eines.MessageConsumer" auf die Queue "mein.queue.name" registriert. |
| Außerdem können in diesem Abschnitt des Manifests auch direkt Messages versendet werden. Das ist z.Bsp. für Plugins sinnvoll, die keinen eigenen Java-Code mitbringen aber dennoch eine Message versenden wollen. Die Message wird immer beim Start von Jameica versendet. Der Content des XML-Elements "message" wird als "Payload" gesendet. Die Variable "${manifest.pluginDir}" wird hierbei gegen den Pfad ersetzt, in dem das Plugin installiert ist. |
| |
| <code xml> |
| <messaging> |
| <consumer queue="mein.queue.name" class="implementierung.eines.MessageConsumer" /> |
| <message queue="jameica.scripting.add"> |
| <![CDATA[ |
| ${manifest.pluginDir}/meinscript.js |
| ]]> |
| </message> |
| </messaging> |
| </code> |