Benutzer-Werkzeuge

Webseiten-Werkzeuge


develop:plugin.xml

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
develop:plugin.xml [d.m.Y H:i] willuhndevelop:plugin.xml [d.m.Y H:i] (aktuell) – [Die Sektionen im Einzelnen] willuhn
Zeile 11: Zeile 11:
 <?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">
  
  
Zeile 20: Zeile 20:
   <license>GPL - http://www.gnu.org/copyleft/gpl.html</license>   <license>GPL - http://www.gnu.org/copyleft/gpl.html</license>
  
-  <requires>+  <requires jameica="1.7+">
     <import plugin="Name des benoetigten Plugins"/>     <import plugin="Name des benoetigten Plugins"/>
-    <import plugin="Name des benoetigten Plugins2"/>+    <import plugin="Name des benoetigten Plugins2" version="1.2-"/> 
 +    <import plugin="Name des benoetigten Plugins3" version="2.0" required="false"/>
     ...     ...
   </requires>   </requires>
Zeile 72: Zeile 73:
   </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>
Zeile 81: Zeile 90:
  
 <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>
  
Zeile 87: Zeile 96:
 | 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. |
  
  
Zeile 100: Zeile 110:
 | homepage | Homepage des Plugins/Herstellers | | homepage | Homepage des Plugins/Herstellers |
 | license | Bezeichnung der Lizenz des Plugins | | license | Bezeichnung der Lizenz des Plugins |
- 
  
 === Dependencies === === Dependencies ===
-Der Pluginloader löst Abhängigkeiten zwischen Plugins nun (seit 05.04.2007) selbst auf und lädt die Plugins in der gewünschten Reihenfolge. Existiert eine der Abhängigkeiten nicht oder kam es dort bei der Initialisierung zu einem Fehler, wird auch das betreffende Plugin nicht geladen um Folgefehler zu vermeiden.+Der Pluginloader löst Abhängigkeiten zwischen Plugins selbst auf und lädt die Plugins in der gewünschten Reihenfolge. Existiert eine der Abhängigkeiten nicht oder kam es dort bei der Initialisierung zu einem Fehler, wird auch das betreffende Plugin nicht geladen um Folgefehler zu vermeiden.
  
 <code xml> <code xml>
-  <requires>+  <requires jameica="1.7+">
     <import plugin="Name des benoetigten Plugins"/>     <import plugin="Name des benoetigten Plugins"/>
-    <import plugin="Name des benoetigten Plugins2"/>+    <import plugin="Name des benoetigten Plugins2" version="1.2-"/> 
 +    <import plugin="Name des benoetigten Plugins3" version="2.0" required="false"/>
     ...     ...
   </requires>   </requires>
Zeile 114: Zeile 124:
  
 | requires | Container für die Liste der Abhängigkeiten | | requires | Container für die Liste der Abhängigkeiten |
-| import | Ein benötigtes Plugin | +| jameica  | Versionsnummer der benötigten Jameica-Version (optional) | 
-| plugin | Name des benötigten Plugins. Das ist der Wert des Attributes *<plugin name=..."* des benötigten Plugins |+| import   | Ein benötigtes Plugin | 
 +| 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) | 
 +| 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: 
 + 
 +^ Beispiel   ^ Bemerkung             ^ 
 +| 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.7+       | Plugin/Jameica wird in einer Version benötigt, die **neuer** als 1.7 ist |
  
  
Zeile 207: Zeile 227:
 | 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>


Impressum | Datenschutz
develop/plugin.xml.1215701792.txt.gz · Zuletzt geändert: d.m.Y H:i von willuhn