Plugin Updates

 
Fragz
koffeeinsuechtiger coding freak
Avatar
Geschlecht:
Herkunft: Neuss
Alter: 38
Homepage: fragz.de
Beiträge: 2217
Dabei seit: 03 / 2008
Betreff:

Re: Plugin Updates

 · 
Gepostet: 03.12.2014 - 01:24 Uhr  ·  #9
Hi Chris,

ich wollte nur Anmerken das das Problem leider immer noch besteht. Aktuell beim Versionsprung meiner Wiki von 2.0.0 auf 3.0.0.
Ausgangsversion auf dem Server ist die 2.0.0, so steht es auch in der package_info.php.
Die neue Version ist die 3.0.0, ebenfalls in der package_info.php angepasst.
Komisch an der Sache ist, er überschreibt die alten Datein, lediglich das Ausführen der DB Anweisungen will er nicht durch führen und dies auch nur bei dem Knowledge Plugin?

Der viele Code kommt daher da ich ab Version 1.8.0 auf Klassen gewechselt habe.

Code
public function module_update($old_version = '')
 // Riesenlanger Code entfernt von cback :D
        }
    }
cback
Admin
Avatar
Geschlecht:
Herkunft: Saarland
Alter: 38
Homepage: cback.net
Beiträge: 17615
Dabei seit: 12 / 2003
Betreff:

Re: Plugin Updates

 · 
Gepostet: 03.12.2014 - 12:47 Uhr  ·  #10
Hallo Christian,

das zuvor gesagte gilt da auch nach wie vor: Wie Du schon sagst, die Dateien werden ja ersetzt. Und ich habe seit diese Routine existiert auch schon selbst Plugins mit dem System aktualisiert und war in den letzten CF3 Updates nicht mehr dort dran. Dennoch habe ich auch gerade wieder in der aktuellsten CF3 Version den TestCase für Plugin Updates gezündet und der Aufruf der Routine klappt perfekt.

Aber Du machst sehr sehr sehr viel mit Deinem Plugin - ein kleiner Fehler in der Routine und er springt raus und vollendet sie nicht. Und Du hast ja wirklich sehr viel Code.

Entsprechend weise ich auf den Vorschlag in meinem Vor-Post hin: Lagere so ein großes Update in den Konstruktor Deines Plugins aus. Sobald Dein Plugin neu ist und die Version in der DB noch eine alte ist (die Config brauchst Du ja eh von Deinem Plugin, kann man also in einem Schritt machen) führe Dein eigenes Updatesystem aus und wenn das einen durchlauf hat der OK ist rufe das Plugin neu auf (oder lade die aktuelle config im Construct nochmal neu und das Plugin läuft direkt weiter ohne, dass jemand was von der Updateroutine merkt).

Bei so vielen Änderungen ist das auch der deutlich bessere Weg, weil Du ggf. auf Fehler in Deinem Code oder in Deinen Queries auch hingewiesen wirst beim Test und diese nicht durch die ACP Routine mitunter "geschluckt" werden. Bei Plugins ist das ACP nämlich nicht so empfindlich, damit man bei einem korrupten Plugin immer noch deinstallieren könnte und nicht die ganze Seite steht.

LG,
Chris
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.