header-xh-01 header-xh-02 header-xh-03 header-xh-04 header-xh-05 header-xh-06 header-xh-07 header-xh-08 header-xh-09 header-xh-10 header-xh-11 header-xh-12 header-xh-13 header-xh-14
Lembach's nichtkommerzielle Website rund um CMSimple_XH
Templates, Plugins, Tools, Programme
und Tips und Tricks die mir wichtig sind
Sie sind hier: Startseite > Plugins > version.nfo Definition etc.
Letzte Bearbeitung:

version.nfo Definition & co.

In diesem Thread https://cmsimpleforum.com/viewtopic.php?f=16&t=17909&p=81242#p81240 hat Christoph auf meine Frage nach der Bauanleitung für die version.nfo geantwortet.

Da ich die Hilfe der hi_updatecheck nie gelesen hatte, wusste ich nicht, dass in der englischen Datei die Erklärung der version.nfo enthalten ist.

Diese habe ich mir ins Deutsche übersetzt. Daraus ergab sich für mich Folgendes (das war damals die Übersetzung):

Definition der version.nfo

Informationen für Entwickler

Wenn Sie ein Plugin-Entwickler sind, werden ich - und hoffentlich alle CMSimple_XH-Benutzer - froh sein, wenn Sie Ihre Plugins so vorbereiten, dass sie mit diesem Skript zusammenarbeiten.

Es ist wirklich einfach und Sie müssen keine Änderungen an Ihrem Plugin-Code vornehmen.
Alles, was Sie tun müssen, ist, eine kleine Datei namens "version.nfo" in den Root-Ordner Ihres Plugins zu legen und eine umbenannte Kopie irgendwo für die Welt lesbar auf Ihrem Server abzulegen.

Wie funktioniert es also?

UpdateCheck sucht in jedem Plugin-Ordner nach einer version.nfo - Datei, extrahiert die 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 einfach eine csv-Datei mit genau den folgenden sieben Einträgen in einer Zeile:

Plugin_Name,Version,Readable_Version,Critical?,Additional_Infos,Download_Url,Url_to_remote_nfo

Beschreibung der Felder:

*Plugin_Name: Der lesbare Name Ihres Plugins, der für die Info-Meldungen in der (x)html-Ausgabe verwendet wird
Beispiel: Update-Check
*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
*Lesbare Version: Dieser Eintrag wird in der (x)html-Ausgabe dem Benutzer angezeigt
Beispiele: 1.5.3 - 2013-05-16 oder nur 1.5.2 oder alles, was für Sie nützlich ist
Kritisch? Dieses Feld wird verwendet, um den Benutzer über kritische Updates zu informieren.
Wenn Sie eine Version mit einem kritischen Fehler veröffentlicht haben,
geben Sie hier die Versionsnummer an und der Benutzer wird mit einer Warnmeldung benachrichtigt,
wenn seine installierte Version gleich oder älter als die hier angegebene ist.
Format: wie bei "Version" oben.
HINWEIS: Behalten Sie diesen Eintrag auch in zukünftigen Versionen bei,
falls ein Benutzer frühere Updates verpasst hat
Zusätzliche_Infos: Dieser Eintrag wird in der (x)html-Ausgabe an den Benutzer ausgegeben.
Normalerweise sollte dieses Feld leer bleiben.
Sie können nur einen kurzen zusätzlichen Hinweis in nur einer Sprache geben.
Außerdem werden alle Script-/HTML-Auszeichnungen entfernt.
*Download_Url 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: http://www.domain.tld?Plugins:Pluginname
*Url_zu_remote_nfo Vollständige URL zur .nfo - Datei auf Ihrem Server mit den aktuellen Versionsinformationen des Plugins.
Diese Datei muss über das Internet zugänglich sein.
Denken Sie daran: diese URL sollte sich in Zukunft nicht ändern!
Beispiel: http://www.domain.tld/downloads/versioninfos/Pluginname_version.nfo

Hinweis: Die mit " * " gekennzeichneten Felder dürfen nicht leer sein. 
Und vergessen Sie nicht die Kommas, wenn Sie Felder leer lassen! Das Plugin prüft, ob genau sieben Einträge in der .nfo-Datei vorhanden sind und ignoriert das Plugin ansonsten.

Vollständiges Beispiel aus jQuery-Plugin:

(hier habe ich "Build" verwendet, um die Versionen zu vergleichen. "Critical?" und "Additional_Infos" sind leer):

Speichern Sie eine Datei mit den oben genannten Informationen im Stammverzeichnis Ihres Plugins - auf derselben Ebene wie index.php und admin.php. Der Dateiname muss "version.nfo" lauten. Legen Sie dann eine (umbenannte) Kopie dieser Datei auf Ihrem Server ab, die über die im letzten Feld "Url_to_remote_nfo" angegebene Url erreichbar ist.

Das ist alles - abgesehen davon, dass Sie die Datei(en) mit jeder neuen Version Ihres Plugins aktualisieren.

 

 

Das ist die deutschsprachige Hilfedatei (aktuelle Version):

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 (Info-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.

  1. Zunächst sollten alle Daten auf dem Server gesichert werden.
  2. Die heruntergeladene ZIP-Datei wird auf dem eigenen Computer entpackt.
  3. Das enthaltene Verzeichnis hi_updatecheck/ wird jetzt komplett auf den Server in das plugins/-Verzeichnis von CMSimple_XH hochgeladen.
  4. 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

Beschreibung der Parameter
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.


| Seitenanfang |