In den letzten Tagen treten vermehrt Informationen über die kommende Version 2.7 von WordPress auf, bei der es auch um eine sehr ernste Neuerung geht – das automatische Update der WordPress-Installation, des Core (siehe Screenshot).

Bisher kanntet ihr schon das Update von Plugins, was man quasi mit einem Klick erledigt hat. Nun gibt es das auch für die eigentlichen WordPress-Daten und die Update-Orgien, die so mancher Nutzer bemängelt, werden damit sehr viel einfacher. Kein Download und anschließender Upload via FTP mehr, einfach Klicken, warten und fertig.

So eine Funktion stellt aber auch den einen oder anderen Nutzer vor Fragen; so zum Beispiel: Kann ich diesem Update vertrauen, oder läuft hier alles blind ab und ich habe keinen Einfluss mehr?

Ob man die Funktion nutzt und WordPress vertraut, muss jeder selber entscheiden; diese Diskussion können wir euch nicht abnehmen, aber diese Funktion ist sicher bedenkenloser zu handhaben als das automatische Updates von Plugins. Wer sich darüber nie Gedanken gemacht hat, der kann sicher auch das Core Update nutzen. Plugins werden inhaltlich nicht von WordPress geprüft, sondern liegen in der Hand der jeweiligen Autoren. Bei den Core-Dateien sieht das anders aus und WordPress hat ebenso einen recht überlegten Prozess dahinter, den ich im folgenden kurz vorstellen möchte, so dass der eine oder andere Nutzer sich ein besseres Bild machen kann, bevor er sich für oder gegen die Funktion entscheidet.

  • Eure Installation sendet Version und Ort an http://api.wordpress.org/core/version-check/1.2/ um zu prüfen, gibt es eine neue Version. Daraufhin erhält die Abfrage eine Antwort, und wenn ja, dann die Adresse des verfügbaren Paketes. Dabei wird auch die Sprachversion mit übergeben und damit könnte es verschiedene Versionen geben. Aktuell wird aber lediglich die englische Version geholt.
  • Wurde als Antwort die Adresse des verfügbaren Paketes mitgegeben, dann wird dieses Paket nun in das System-Temp herunter geladen.
  • Im Anschluss erzeugt WordPress ein Arbeitsverzeichnis wp-content/upgrade/core
  • Nun wird die Datei wp-admin/includes/update-core.php aus dem neuen Paket in die bestehende Installation kopiert.
  • Diese neue Datei wird nun genutzt und die Funktion update_core() wird aufgerufen, die in dieser Datei steht.
  • Die neue Version wird nun geprüft.
  • Im Root wird nun ein Datei für den Wartungsmodus erstellt (.maintenance file). Die Datei wp-settings.php prüft das und verhindert so Zugriffe, wenn diese Datei existiert. Der Besucher des Blog bekommt dadurch im Frontend lediglich eine einfache HTML-Seite mit der Information:

    Briefly unavailable for scheduled maintenance. Check back in a minute.

  • Durch diesen Wartungsmodus können alle Dateien ohne Zugriff ein Update bekommen und nun werden die neuen Dateien aus dem Paket kopiert. Dabei überschreibt WordPress die alten Dateien.
  • Dateien, die nicht mehr benötigt werden, werden in diesem Zuge gelöscht.
  • Die ugrade.php erhält nun ein Information, dass das Update der Datenbank erfolgen kann. Das Update erfolgt durch einen gesonderten Aufruf, so dass er nur statt finden kann, wenn wirklich alle Dateien kopiert sind.
  • Nach erfolgreichem Update wird das Arbeitsverzeichnis gelöscht.
  • Im Anschluss wird nun auch die Datei .maintenance gelöscht.
  • Damit ist der Zugriff wieder im Frontend vorhanden und im Adminberiech bekommt der Nutzer die einzelnen Schritte gelistet und eventuelle Probleme, die zum Abbruch führten.