Interessante Anfrage: Eigenes Bundle zusammenstellen

Antworten
Benutzeravatar
shadowcat
Administrator
Beiträge: 3957
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Interessante Anfrage: Eigenes Bundle zusammenstellen

Beitrag von shadowcat » Fr 17. Apr 2015, 10:01

Ohne dem Betreffenden vorgreifen zu wollen... Ich bekam eine interessante Anfrage, in der es darum ging, BlackCat zu einer Art "eigenem CMS" zu erweitern. Das ist in einem gewissen Umfang sogar recht problemlos möglich. Wenn ich es mir recht überlege, gibt es sogar zwei Wege. :lol:

Methode 1: Eigene Modulkombination

Das ist ziemlich einfach zu bewerkstelligen. Mit unserem Bundle bieten wir ja im Prinzip schon genau das an. Der Trick ist, die gewünschten Module in den Ordner ./install/optional zu legen - einfach als ZIPs. Der Installer erkennt das Vorhandensein dieser zusätzlichen Dateien und fragt im entsprechenden Installationsschritt nochmal nach, welche davon installiert werden sollen. So hat man bei der Installation dann nochmal die Möglichkeit, Einfluß zu nehmen und einzelne Module wegzulassen.

Wichtig hierbei: Serverscripten haben einen Timeout, nach dem das Script zwangsbeendet wird. Bei vielen und großen Modulen kann es passieren, daß dieser Timeout erreicht wird, da diese ja ausgepackt und umkopiert werden müssen. Der Installer setzt diesen Timeout zwar schon hoch, es kann aber sein, daß auch die hochgesetzte Zahl nicht reicht, oder das Verändern des Wertes auf dem Server nicht zulässig ist.

Bei dieser Methode hat man nach der Installation eine normale Basisinstallation mit allen gewünschten Modulen, aber ohne weitere Anpassungen, wie z.B. angepaßte Einstellungen, vorgefertigte Seiten etc.

Übrigens dürften sich auf diese Weise auch Templates installieren lassen, das habe ich allerdings noch nie ausprobiert.


Methode 2: SyncData2

Diese Methode ist im Wiki beschrieben. Hierzu benutzt man eine lokale Installation als "Master" und die (frische) Serverinstallation als "Client". Auf dem Server installiert man zunächst nur das "normale" BlackCat, eventuell auch schon als Bundle. In seinem lokalen Master hat man dann alle Anpassungen - weitere Standardseiten, weitere Module, fertige Inhalte, was auch immer. Nach der Serverinstallation installiert man dort noch SyncData2 und geht nach der Anleitung für das Staging vor - schon hat man nicht nur die gewünschte Modulkombination, sondern auch eventuelles Customizing.


Beide Methoden lassen sich auch kombinieren! :D

Added in 11 minutes 51 seconds:
So, und schon ist es auch im Wiki.

http://wiki.blackcat-cms.org/doku.php?i ... enesbundle

Added in 8 minutes 52 seconds:
Genau genommen gibt es noch eine dritte Methode: Man baut alles lokal so zusammen, wie man es haben möchte, und geht dann nach der klassischen Server-Umzug-Methode vor. Das ist allerdings etwas hakelig, weil man unter anderem von Hand im Datenbank-Dump herumfummeln muß, um z.B. die URLs anzupassen.

Ich persönlich würde mir mein eigenes Bundle machen und die gewünschten Anpassungen mit der SyncData-Methode reinpumpen. Das macht am wenigsten Arbeit. :mrgreen:
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

blackfan
Beiträge: 25
Registriert: Mi 26. Nov 2014, 14:52

Genial: Eigenes Bundle zusammenstellen

Beitrag von blackfan » Di 21. Apr 2015, 08:44

Also erst einmal finde ich das Zusammenstellen einer "eigenen" Installation Genial. Die Möglichkeiten gehen hierbei bei Weitem über das hinaus was über das Zusammenstellen des Downloads auf der Downloadseite möglich ist.

Denn so kann ich ja bereits Modifikationen vornehmen, wie zum Beispiel den CK-Editor mit einer eigenen Leiste vor der Installation anpassen.
Seiten vorab einrichten, Module anpassen und automatisch installieren, etc.

Was das Problem des Servertimeouts betrifft, dies ist ja faktisch bei allen Webspaces gesetzt um die Performance für sämtliche Kunden aufrecht zu erhalten. Die wenigsten User werden sicher einen eigenen Server betreiben.
Der MySQL-Dumper, ein Sicherungsprogramm für MySQL-Datenbanken (= für Alle die es nicht kennnen), pausiert sein Script bei der Datensicherung um Timeouts zu umgehen. So ist auch die Sicherung von sehr großen MySQL-Datenbanken möglich.
http://www.mysqldumper.de

Könnte man eine derartige Methode nicht auch bei der Installation von Modulen einbauen? Und das dann die Installation praktisch in Blöcken erfolgt?
Nur so ein Gedanke...

Die Server - Client Methode allerdings würde ich persönlich momentan nicht verwenden wollen. Zukünftig könnnte es eventuell für Updates interessant werden, um die Kombatibilität von Modulen zu testen.

BlackCat Rocks, Gruß blackfan
BlackCat Rocks,
Gruß blackfan

Benutzeravatar
shadowcat
Administrator
Beiträge: 3957
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Genial: Eigenes Bundle zusammenstellen

Beitrag von shadowcat » Di 21. Apr 2015, 09:14

blackfan hat geschrieben:Könnte man eine derartige Methode nicht auch bei der Installation von Modulen einbauen?
Grundsätzlich ja, aber das ist relativ aufwendig. An anderer Stelle habe ich das so gelöst, daß das eigentliche Script per AJAX angestartet und über ein weiteres Script der Status abgefragt wird, aber wie gesagt, das ist _sehr_ aufwendig. In Perl geht das etwas einfacher, aber wir haben leider kein Perl. :lol:

Die Methode, den Timeout hochzusetzen, scheint bisher gut zu funktionieren, zumindest habe ich noch nichts Gegenteiliges gehört. Man könnte den Installer allenfalls so erweitern, daß der Timeout-Wert aufgrund der zu installierenden Module kalkuliert wird - es ist ja die maximale Wartezeit, wenn das Script früher fertig wird, ist sowieso alles okay.

Ich würde daher mal abwarten wollen, bis sich wirkliche Probleme zeigen, und dann schauen, was man dagegen unternehmen kann.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

blackfan
Beiträge: 25
Registriert: Mi 26. Nov 2014, 14:52

Re: Interessante Anfrage: Eigenes Bundle zusammenstellen

Beitrag von blackfan » Di 21. Apr 2015, 10:00

Hört sich nach einem Plan an...
Ich würde die "eigene" Installation demnächst sowieso mal ausführlich testen wollen, aber die Zeit....
BlackCat Rocks,
Gruß blackfan

Benutzeravatar
shadowcat
Administrator
Beiträge: 3957
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Interessante Anfrage: Eigenes Bundle zusammenstellen

Beitrag von shadowcat » Di 21. Apr 2015, 17:58

Wem sagst Du das...
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Antworten