Joomla! Programmierung/Programmierung/Aktualisierung einer Komponente/Teil 6

Aus Joomla! Dokumentation
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Artikel in dieser Serie

  1. Übersicht
  2. Manifest Datei
  3. Script.php
  4. Update SQL Dateien
  5. Kompnenten release Dateien
  6. Wie Sie dieses Beispiel verwenden sollten

[Bearbeiten] Normale Update Sequenz

Sie können folgende Sequenz zum installieren, updaten und deinstallieren verwenden, um die Effekte in diesem Beispiel sichtbar zu machen. Sie können diese Sequenz mit installieren, updaten und deinstallieren in all ihren eigenen Beispielen verwenden.

  • Voriger Status: Kein com_demoupdate ist installiert
  • installieren sie demoupdate_10.zip
    • Prüfen Sie, ob der Kontroll Text im Backend als echo ausgegeben wird.
    • Front-End: Prüfen Sie, ob die Datenbank, Dateien und Parameter Einstellungen korrekt sind.
    • Zusätzlich können Sie mittels phpMyAdmin überprüfen, ob:
      • jos_demoupdate_mytable existiert und über eine Zeile myvalue='1.0' verfügt.
      • Die Tabelle jos_extensions_table einen Eintrag für com_demoupdate verfügt.
        • Das Parameter Feld (JSON) drei Werte hat.
        • Ds manifest_cache Feld (JSON) die Version '1.0' anzeigt.
  • Der vorgängige Status ist: Version 1.0 installiert
  • Installieren Sie demoupdate_111.zip
    • Stellen Sie sicher, dass das update okey ist, indem Sie im Backend die Kontroll-Echoes überprüfen.
    • Front-End: übserprüfen Sie die Datenbank, Dateien und Parameter Einstellugen
    • Optional können sie in phpMyAdmin folgendes überprüfen:
      • Die Tabelle jos_demoupdate_mytable existiert und hat den Zeilenwert '1.1.1'.
      • Der jos_extensions Tabelle hat einen Eintrag für com_demoupdate.
        • Das Parameter Feld (JSON) enthällt drei Werte
      • "Das Feld manifest_cache (JSON) enthällt die Version '1.1.1'
  • Der vorherige Status ist '1.1.1' installiert.
  • Installieren Sie das Paket demoupdate_13.zip
    • Stellen Sie sicher, dass das Paket in Ordnung ist mittels Echoes-Ausgabe im Backend.
    • Front-End: Überprüfen Sie die Datenbank, Dateien und Feld Parameter Einstellungen.
      • Es sollten drei Zeilen in der Tabelle vorkommen
    • Optional können Sie wiederum die Einträge per phpMyAdmin kontrollieren.
      • Die Tabelle jos_demoupdate_mytable existiert noch und hat drei Zeilen Einträge '1.1.1', '1.2.1' und '1.3'.
      • Die com_extensions Tabelle hat drei Einträge für com_demoupdate.
        • Das parameter Feld (JSON) hat drei Einträge.
        • Das manifest_cache Feld (JSON) zeigt die Version '1.3' an.

[Bearbeiten] Versuchen sie als Test die umgekehrte Reihenfolge der Sequenz mit den Updates

  • Voriger Stand: Version 1.3 installiert
  • Installieren Sie demoupdate_10.zip
    • Das Update sollte scheitern, und sie bekommen die nötige Information als echo im Backend
    • Es sollten keinerlei Änderungen im Frontend angezeigt werden, daselbe gilt für phpMyAdmin Einträge.

[Bearbeiten] Vergewisseren Sie sich, dass Sie deinstallieren können

  • Die vorherige Installation war: Version 1.3 installiert.
  • Deinstallieren Sie com_demoupdate
    • Vergewissern Sie sich dass im Extensions Manager und im Frontend die Komponente com_demoupdate nicht mehr installiert ist.
    • Optional in phpMyAdmin: Die Komponenten Tabellen sind gelöscht und die jos_extensions Tabelle enthällt keinen Komponenten Eintrag com_demoupdate mehr

[Bearbeiten] Vergewissern Sie sich, dass jede der Revisionen korrekt funktioniert

  • Vorgängiger Status: Keine demoupdate Komponente installiert
  • Installieren Sie demoupdate_111
    • Stellen Sie sicher, dass die vollständige Installation und die Dateien, wie bei Version 1.1.1 erstellt wurden.
  • Vorgängiger Status: Version 1.1.1 installiert.
  • Deinstallieren sie com_demoupdate
  • Installieren sie democomupdate_13.zip
    • Stellen Sie sicher, dass die vollständige Installation und die Dateien, wie bei Version 1.3 erstellt wurden.

[Bearbeiten] Stellen Sie Sicher, dass die Jooomla Versions Prüfung funktioniert

  • Vorgängiger Status: Version 1.3 installiert
  • Deinstallieren Sie com_demoupdate
  • Installieren sie demoupdate_10j3.zip
    • Das update sollte nun scheitern und es sollten im Backend wichtige Informationen ausgegeben werden.
    • Es sollte keine Hinweise auf ds existiren des com_update Komponenten in /administrator/components (Backend) noch in /components (Frontend), noch in der Datenbank (phpMyAdmin) geben.

[Bearbeiten] Zusammenfassung

Siee können die Update Funktionen in Joomla 1.6 (und darüber) anbieten, und so dem Site Admininstrator die Möglichkeit geben Ihre Komponente sauber zu installieren und upzudaten.

  • Ihre Komponenten Versionsbezeichnung muss kompatibel sein zu der von der PHP Funktion 'version_compare'
  • Erstellen Sie für neue Versionen Ihrer Software Update SQL Dateien (ev. Mirations Logik), falls die DB angepasst werden musste.

Die Dateinamen der SQL Updates müssen mit der Versionsbezeichnung des Updates übereinstimmen (kompatibel zu version_compare).

  • Sie müssen die Versionsbezeichnung in jeder Manifest Datei anpassen.
  • Auch in script.php muss manuell die Versionsbezeichnung des Updates in
private $release = '1.0';

sowie allenfalls die Joomla Version '1.6' per

if( version_compare( $jversion->getShortVersion(), '1.6', 'lt' ) ) {

angepasst werden.
Falls Ihre Komponente zusätzliche Funktionalität bei Updates wie etwa Datenmigration benötigt, so können Sie dies in der script.php Datei anfügen. Sie können auch die update Methode weglassen und Ihre eingenen Methoden verwenden. Sie können spezielle Prüfungen bei update oder install einbauen. Sie sollten informative Nachrichten beim Update und der Installation ausgeben, so dass der Seiten Administrator den Prozess überprüfen kann.
Dieses Beispiel wurde absichtlich einfach gehalten, um das Debuggen zu erleichtern. Sie können dieses Beispiel als Grundlage für eingene installer scripts verwenden. Erst sollten Sie Testscripts in Testumgebungen laufen lassen und dann in Ihr Projekt integrieren. Bitte teilen Sie Ihre Erfolge mit der Joomla Community!

[Bearbeiten] Mitarbeitende

Dieser Artikel basiert auf dem Artikel Managing_Component_Updates_with_Joomla!1.6_-_Part_6 aus der offiziellen Joomla! Dokumentation und steht unter der Joomla! Electronic Documentation License. In der Joomla! Dokumentation ist eine Liste der Autoren verfügbar.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Sonstiges
Team Navigation
Werkzeuge