hi_updatecheck
Ein Plugin das hilft Ihre CMSimple_XH Installation aktuell zu halten
Funktionsweise
hi_updatecheck kann (automatisch oder manuell angestoßen) die Aktualität von CMSimple_XH und der installierten Plugins überprüfen.
Abhängig von der Konfiguration (autocheck = an), wird sofort nach dem Login ein (stiller) Schnelltest ausgeführt.
Werden Updates gefunden, erscheint im Adminmenü ein Hinweis-Icon ( beim Standard-Adminmenü), das zugleich ein Link zur Updates-Seite ist.
Gleichzeitig erscheint unter Einstellungen → Info ein Texthinweis auf verfügbare Updates, ebenfalls mit Link zur Updates-Seite des Plugins.
Sollte dieser automatische Check nicht funktionieren (z.B. wegen TimeOut bei schlechter Server-Erreichbarkeit), dann kann man den Updatecheck auch manuell anstoßen
Plugins → Hi_updatecheck → Nach Updates suchen
Voraussetzungen
hi_updatecheck wird mit CMSimple_XH ausgeliefert und erfordert somit keine speziellen Voraussetzungen.
Um Plugins prüfen zu können, müssen diese zwingend eine version.nfo zur Verfügeng stellen. Mehr Infos dazu weiter unten im Abschnitt Für Plugin-Entwickler.
Installation
Die Installation erfolgt ebenso wie bei vielen anderen CMSimple_XH-Plugins.
- Zunächst sollten alle Daten auf dem Server gesichert werden.
- Die heruntergeladene ZIP-Datei wird auf dem eigenen Computer entpackt.
- Das enthaltene Verzeichnis hi_updatecheck/ wird jetzt komplett auf den Server in das plugins/-Verzeichnis von CMSimple_XH hochgeladen.
- Falls nötig, müssen Schreibrechte für die Unterverzeichnisse config/, css/ und languages/ und alle darin vorhandenen Dateien vergeben werden.
Einstellungen
Plugins → Hi_updatecheck → Konfiguration
Hier können die Grundeinstellungen für das Plugin vorgenommen werden.
Autocheck → Autocheck → an/aus Checkbox (default: an)
an = hi_updatecheck führt einmalig nach jedem Login einen Quick-Check durch.
aus = hi_updatecheck führt keinen Quick-Check durch.
Autocheck → Timeout Textfeld (default: 3)
Zeit in Sekunden, die jedes Modul bei der automatischen Updateprüfung beanspruchen kann/darf.
Autocheck → Notify Auswahlfeld (default: All updates)
All updates = Zeigt das Info-Icon, sobald irgendein Update verfügbar ist.
Only critical updates = Zeigt das Info-Icon nur, wenn kritische Updates verfügbar sind.
Ignore → Ignore Textfeld
Eine mittels Komma separierte Liste von Plugins, die nicht bei der Updateprüfung berücksichtigt werden sollen (normalerweise nur Plugins, die ausschließlich mit CMSimple_XH angeboten werden).
Für Plugin-Entwickler
Plugins sollten prinzipiell mit einer version.nfo ausgeliefert werden, damit eine Versionskontrolle mit hi_updatecheck durchgeführt werden kann.
Das ist wirklich einfach und am Plugin-Code müssen keine Änderungen vorgenommen werden. Alles was zu tun ist, ist eine Datei namens version.nfo in den Stammordner des Plugins zu legen und eine umbenannte Kopie – irgendwo für die Welt lesbar/verfügbar – auf dem Server.
Wie funktioniert das?
hi_updatecheck sucht in jedem Plugin-Ordner nach einer version.nfo-Datei, extrahiert die darin enthaltenen Informationen und vergleicht sie mit den Informationen auf Ihrem Server. Je nach Ergebnis erhält der Benutzer Informationen über verfügbare Updates, den Link zur Downloadseite, kritische Updates oder einfach nur einen Hinweis, dass das Plugin auf dem neuesten Stand ist.
Erstellen einer version.nfo-Datei
Die version.nfo ist eine einfache CSV-Datei (eigentlich eine Textdatei), kodiert als UTF-8 (ohne BOM) mit genau den folgenden sieben Parametern in einer Zeile, durch Komma getrennt:
PluginName, Version, ReadVersion, Critical, AddInfos, DownloadUrl, UrlToRemoteInfo
PluginName * | Der lesbare Name des Plugins der für die Info-Meldungen in der HTML-Ausgabe verwendet wird. Beispiel: hi_updatecheck |
---|---|
Version * | Die Version des Plugins. Dieser Eintrag wird zum Vergleich der Versionen verwendet. Format: alles, was PHPs version_compare() verstehen kann. Beispiele: 1.5.7 oder 1.3.2 RC… oder Build(Daten) wie 2013051601, 2013051602 |
ReadVersion * | Dieser Eintrag wird in der HTML-Ausgabe für den Benutzer angezeigt. Beispiele: 1.5.3 - 2013-05-16 oder nur 1.5.2 oder alles, was sonst nützlich ist. |
Critical | Dieser Parameter wird verwendet, um die Benutzer über kritische Updates zu informieren. Wenn eine Version zur Behebung eines kritischen Fehlers veröffentlicht wird, muss hier die Versionsnummer angegeben werden. Die Benutzer werden mit einer Warnmeldung benachrichtigt, wenn ihre installierte Version gleich oder älter als die hier angegebene ist. Format: Wie bei "Version" oben. HINWEIS: Dieser Eintrag sollte auch in zukünftigen Versionen beibehalten werden, falls ein Benutzer frühere Updates verpasst hat. |
AddInfos | Zusätzliche Informationen. Dieser Eintrag wird in der HTML-Ausgabe für den Benutzer angezeigt. Normalerweise sollte dieses Feld leer bleiben. Hier kann ohnehin nur ein kurzer zusätzlichen Text in nur einer Sprache ausgegeben werden. Außerdem werden alle Script- und HTML-Auszeichnungen entfernt. |
DownloadUrl * | Die vollständige URL zur Downloadseite der neuen Version. Dieser Eintrag wird verwendet um einen Link in der Nachricht zu erstellen, die dem Benutzer angezeigt wird. Beispiel: https://www.domain.tld?Plugins/Pluginname |
UrlToRemoteInfo * | Vollständige URL zur aktuellen*.nfo-Datei des Plugins. Diese Datei muss permanent über das Internet erreichbar sein! Bitte beachten: Diese URL sollte sich in Zukunft nicht ändern! Beispiel: https://www.domain.tld/downloads/versioninfos/Pluginname_version.nfo |
HINWEISE:
Die mit * gekennzeichneten Felder dürfen nicht leer sein.
Für leere Parameter müssen trotzdem die Kommas gesetzt werden! Das Plugin prüft, ob genau sieben Parameter in der .nfo-Datei vorhanden sind und ignoriert das Plugin ansonsten.
Die so erzeugte Datei muss nun im Root-Ordner des Plugins abgelegt werden – auf derselben Ebene wie index.php und admin.php. Der Dateiname muss version.nfo lauten.
Dann muss eine (umbenannte) Kopie dieser Datei auf einen Server hochgeladen werden, der über die im letzten Parameter UrlToRemoteInfo angegebene Url permanent erreichbar ist.
Vollständiges Beispiel anhand des jQuery-Plugins
jQuery,2013033001,1.4,,,http://www.cmsimple-xh.org/wiki/doku.php/extend:jquery4cmsimple,http://cmsimple.holgerirmler.de/downloads/versioninfo/jQuery4CMSimple_version.nfo
In diesem Beispiel wurde "Build" verwendet, um die Versionen zu vergleichen. "Critical" und "AddInfos" sind leer.
Copyright und Lizenz
© 2013 – 2022 Holger Irmler
Lizenz: GPLv3
Das Plugin-Icon wurde von Alexandre Moore erschaffen und frei zur Verfügung gestellt. Besonderer Dank an Christoph M. Becker für die Prüfung meines Codes, den Austausch von Ideen und konstruktives Feedback bezüglich dieses Plugins.