Deutschland United States United Kingdom
ContentLion - Open Source CMS

Framework für den Installerbau

Framework für den Installerbau

Wie ihr bereits gemerkt habt, bin ich schon länger dabei den Installer / Updater zu erneuern. Ich möchte in diesem Thread nach und nach die Entwicklung und das Konzept des Installers vorstellen.

Letztendlich möchte ich ein Framework für den Installer machen. So können wir später neben der grafischen Oberfläche auch APS & Co einbinden. Wenn es geschickt läuft, wäre es sogar möglich, dass ihr später einen Installer erstellen könnt, in dem eure Plugins bereits enthalten sind. So wäre es mit entsprechenden Plugins später möglich, ContentLion direkt als Forum oder Blog auszuliefern - Und das ohne den Installer immer neu schreiben zu müssen. Er wird am Server automatisch generiert und die neuste Version wird in allen Installern auf einmal angeboten.

So etwas umzusetzen ist natürlich nicht sehr leicht. Ich möchte dafür zwei Framework erstellen. Das erste Framework wird in den Installer selbst integriert. Es bietet die Klassen, die später die Datenbank befüllen und Prüfungen durchführen, zum Beispiel ob mod_rewrite verfügbar ist oder nicht. Das zweite Framework ist für die Generierung des Installers. Es bietet Klassen, die alle Dateien, Beschreibungen, Screenshots und Co auslesen können und an Hand dessen z.B. XML- oder PHP-Files generieren und zippen. Bei den Dateien werden dann später auch die rausgesucht, die zu den Plugins gehören, die der Installer mit ausliefern soll. Diese Generierung erfolgt allerdings auf meinem Server, weil nur von dort aus der volle Zugang zum SVN der Plugins gewährleistet ist. Vor dem Einreichen eines Installers wird dieser dann natürlich gut getestet.

In den neuen Installer werde ich auch bei einem Fehler einen Link erstellen, mit dem man die Installation an der fehlgeschlagenen Stelle wieder fortsetzen kann

Gehört zwar nicht in diesen Thread, habe aber den anderem zum Updater nicht gefunden. :(
Wäre es möglich, dass Plugins selbst Update-Anweisungen mitliefern können?
Sozusagen ne update.php, die z.B. so aussieht:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
//$version wird übergeben
$current_version 18;
if ($version 5) {
//DB bearbeiten
}

//Weiter gehts.
if ($version 10) {
//Datenbank-Struktur bearbeiten
}

//usw.


Am Besten, dass man die update-Datei in der info.php mit angibt, wie bei $configureFile.

Naja, dann muss man den User aber fragen ob er es will :) Was wenn du Updatest und die daten werden ausversehen gelöscht?

Logisch. ^^
Aber dieser Update-Vorgang soll die Daten ja gerade behalten. ;)

joa, sowas könnte man machen.

Zum Installer gibt's übrigens morgen nen Blog-Artikel, ist etwas länger ;-)

PS: Wenn du den Thread nicht findest, eröffne doch einen neuen anstatt es in einem falschen zu posten^^

Ähnliche Themen