Benutzer-Werkzeuge

Webseiten-Werkzeuge


develop:repository

Dies ist eine alte Version des Dokuments!


Aufbau eines Online-Repositories für Jameica-Plugins

mit Jameica ab Version 1.8 und Installation des Plugins jameica.update können Jameica-Plugins nun auch online installiert werden. Siehe hierzu der Blog-Beitrag Online-Updates für Jameica-Plugins.

Neben dem initial eingerichteten Repository „https://www.willuhn.de/projects/jameica/updates“ können noch beliebige weitere Repositories hinzugefügt werden. Diese Anleitung beschreibt den Aufbau eines solchen Repositories.

Grundlagen

Für ein Online-Repository ist abgesehen von einem Webserver keine weitere Software nötig. Im Basis-Verzeichnis des Online-Repositories (hier im Beispiel „https://www.willuhn.de/projects/jameica/updates“ muss sich lediglich eine Datei „repository.xml“ befinden, welche auf die Plugins verweist.

Aufbau der repository.xml

Das technische Dateiformat ist in dieser XML-Schema-Datei beschrieben. Beispielhafter Aufbau:

<?xml version="1.0" encoding="ISO-8859-1"?>
<repository xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:noNamespaceSchemaLocation="http://www.willuhn.de/schema/jameica-repository-1.0.xsd"
            name="Updates fuer Jameica-Plugins">
 
  <plugins>
    <plugin url="https://www.willuhn.de/projects/jameica/updates/jameica.webadmin" />
    <plugin url="https://www.willuhn.de/projects/jameica/updates/jameica.xmlrpc" />
    <plugin url="https://www.willuhn.de/projects/jameica/updates/jameica.soap" />
 
    <plugin url="https://www.willuhn.de/projects/jameica/updates/hibiscus/1.8" />
    <plugin url="https://www.willuhn.de/projects/jameica/updates/hibiscus/1.9" />
    <plugin url="https://www.willuhn.de/projects/jameica/updates/hibiscus.xmlrpc" />
 
    <plugin url="https://www.willuhn.de/projects/jameica/updates/syntax" />
  </plugins>
</repository>
<repository ... name="Updates fuer Jameica-Plugins">
name Legt den Namen des Repositories fest.

Plugins

<plugins>
  [...]
  <plugin url="https://www.willuhn.de/projects/jameica/updates/jameica.webadmin" />
  [...]
</plugins>
plugins Container-Element, welches die Liste der Plugins enthält.
plugin Ein einzelnes Plugin
url URL zum Plugin-Verzeichnis. In diesem Verzeichnis muss sich die „plugin.xml“ des Plugins befinden.

Plugin-Verzeichnis

Die in „repository.xml“ referenzierten Verzeichnisse müssen jeweils eine „plugin.xml“ enthalten. Hierbei handelt es sich schlicht um eine Kopie der „plugin.xml“ aus dem jeweiligen Plugin. Diese Datei wird verwendet, um die Download-URL des Plugins sowie Abhängigkeiten zu anderen Plugins zu ermitteln. Das Format ist in plugin.xml beschrieben. Daher hier beispielhaft nur der für das Online-Update relevante Teil am Beispiel „Hibiscus“.

<?xml version="1.0" encoding="ISO-8859-1"?>
 
<plugin xmlns="http://www.willuhn.de/schema/jameica-plugin"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.willuhn.de/schema/jameica-plugin http://www.willuhn.de/schema/jameica-plugin-1.0.xsd"
        name="hibiscus" version="1.9" class="de.willuhn.jameica.hbci.HBCI">
 
  <description>HBCI-Onlinebanking-Plugin für Jameica</description>
  <url>https://www.willuhn.de/projects/hibiscus/releases/1.9/hibiscus-1.9.zip</url>
  [...]
</plugin>

Das Element „url“ muss die Download-URL des Plugins enthalten. Das Archiv muss im ZIP-Format vorliegen und alle Dateien in einem Unterverzeichnis enthalten, dessen Name mit dem Namen des Plugins identisch ist. In unserem Beispiel also „hibiscus“.

Die „plugin.xml“ kann weiterhin Abhängigkeiten zu weiteren Plugins definieren. Das Format ist in dependencies beschrieben.

Installationsvoraussetzungen für Plugins

Damit ein Plugin via Online-Update installiert werden kann, müssen folgende Voraussetzungen erfüllt sein. Andernfalls wird der Menu-Eintrag „Herunterladen und installieren…“ von Jameica deaktiviert:

  • Plugin darf nicht bereits in einer aktuelleren Version installiert sein.
  • Plugin darf nicht bereits im System-Plugin-Ordner von Jameica installiert (unter Linux z.Bsp. „/opt/jameica/plugins“), da es dort vom Update-Manager nicht überschrieben werden kann.
  • Falls das Plugin Abhängigkeit zu weiteren Plugins besitzt, müssen diese bereits installiert sein. Eine automatisch Auflösung der Abhängigkeiten ist noch nicht implementiert.
  • Die in „<requires jameica=„$version“> angegebene Jameica-Version muss kompatibel zur installierten Jameica-Version sein.

Ablauf der Installation

Erfüllt ein Plugin alle Installationsvoraussetzungen, kann es durch den User mittels Rechtsklick und Auswahl des Menueintrages „Herunterladen und installieren…“ heruntergeladen werden. Hierbei wird die ZIP-Datei im Benutzer-Ordner “.jameica/deploy„ gespeichert. Beim nächsten Start von Jameica überprüft der „DeployService“, um sich in diesem Verzeichnis neue zu installierende Plugins befinden. Ist das der Fall, entpackt er sie nach “.jameica/plugins„. Ist das Plugin in diesem Verzeichnis bereits in einer gleichen oder älteren Version installiert, wird die Vorversion automatisch gelöscht. Durch das Löschen wird verhindert, dass eine neuere Version über die alte „drüberkopiert“ wird und hierbei Programmfragmente der Vorversion erhalten bleiben könnten. Hat der User also manuelle Änderungen am Plugin-Verzeichnis vorgenommen (aus welchen Gründen auch immer), gehen diese hierbei verloren. Plugins werden durch den Download-Manager also nicht im System-Plugin-Ordner (unter Linux “/opt/jameica/plugins„) sondern im User-Plugins-Ordner (unter Linux “/home/<username>/.jameica/plugins„) installiert.

Künftige Erweiterungen

  • Das Plugin „jameica.update“ soll künftig (voraussichtlich ab Jameica 1.8) direkt Bestandteil von Jameica werden.
  • Der Update-Manager soll künftig auch für die Installation von Patches verwendet werden können.
  • Der Update-manager soll um eine Funktion zum automatischen Prüfen, Herunterladen und Installieren von Updates erweitert werden. Dies kann intervall- oder event-gesteuert (z.Bsp. „täglich“ oder „einmalig nach dem Start von Jameica“) erfolgen.

FAQ

  • Frage Wie kann ich ein Plugin in mehreren Versionen anbieten?
    Antwort Wenn die Plugin-Abhängigkeiten korrekt formuliert sind, kann das Plugin in verschiedenen Versionen im Repository angeboten werden. Der Update-Manager aktiviert dann nur jene Versionen, die zur aktuellen Jameica-Installation des Users kompatibel sind. Siehe Hibiscus 1.8/1.9 im obigen Beispiel.


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