SyncCto

Aus Contao Community Documentation

Mit syncCto kann der Benutzer im Backend mehrere Contao-Installationen miteinander synchronisieren.

Erweiterungs-Übersicht
Entwickler Webseite http://www.men-at-work.de
Version der Erweiterung 1.0.0
Kompatibilität mit Contao Version ab 2.9
Link zum Extension Repository http://www.contao.org/erweiterungsliste/view/syncCto.html
Link zum Tracker http://contao-forge.de/projects/synccto/issues


Was ist syncCto?

syncCto bietet die Möglichkeit mehrere Contao-Installationen auf Basis einer Grund-Installation zu synchronisieren. Alle Aktionen können bequem im Backend durchgeführt werden. Durch die Integration in das Contao Rechtesystem können auch Redakteure eine Auswahl vorher definierter Datenbank-Tabellen und Dateien synchronisieren.

Ein integrierter Backup-Manager sichert ausgewählte Datenbank-Tabellen, wahlweise die gesamte Contao-Installation oder nur die persönlichen Daten. Angelegte Backups können durch den Backup-Manager auch wieder importiert werden.

Durch die Verwendung von syncCto können Redakteure schnell und einfach in einem Preview-System arbeiten und bei Vollendung der Arbeit den aktuellen und freigegebenen Stand zum Live-System synchronisieren.

Konfiguration

Systemcheck

Für eine reibungslose und fehlerfreie Synchronisation ist es wichtig als erstes alle Installationen zu kontrollieren. Dafür steht der neue Menüpunkt Systemcheck zur Verfügung, denn dort werden alle für syncCto wichtigen Funktionen und Ressourcen des Servers aufgelistet. Sind alle Zellen grün, ist der erste Schritt getan. Sollt dies nicht der Fall sein, kann syncCto womöglich nicht erfolgreich funktionieren.

Einstellungen

Bevor man die erste Installation synchronisieren kann, muss zwingend bei allen Installationen auf denen syncCto installiert ist, der Menüpunkt Einstellungen (nicht zu verwechseln mit den Contao Einstellungen) aufgerufen und gespeichert werden. Bei diesem Vorgang wird der Verschlüsselungsschlüssel generiert. Der Verschlüsselungsschlüssel aus den Einstellungen des Clients benötigt man später bei der Erstellung des zuvor erwähnten Clients.

Clients verwalten

Um einen neuen Client anzulegen, klickt man im Menüpunkt Clients einfach auf den Button "Neuer Client".

  • Titel: z.B. der Kundenname und der Name des Servers
  • Beschreibung: Eine aussagekräftige Beschreibung des Servers
  • Adresse: Der Pfad zum TL_ROOT der Contao Installation, z.B. http://www.example.com
  • Benutzername: Der Benutzername mit dem man sich im Backend einloggt
  • Passwort: Das zum Benutzer zugehörige Passwort (wird verschlüsselt gespeichert)
  • Verschlüsselungsschlüssel: Hier gehört nun der Schlüssel aus den Einstellungen des Clients hinein

Synchronisation

Um den Client mit dem Server zu synchronisieren, klickt man beim entsprechenden Client auf den rechten Button "Client synchronisieren". Im nächsten Fenster wählt man die Synchronisationsart aus.

  • Contao-Installation: Die gesamte Contao-Installation, Dateien und Ordner in den tl_files müssen seperat ausgewählt werden
  • Persönliche Daten: Nur ausgewählte Dateien und Ordner im tl_files Ordner. Core-Dateien werden nicht berücksichtigt

Standardmäßig ist die Option Persönliche Daten ausgewählt. Danach kann man die DB-Tabellen auswählen, man muss in diesem Schritt wissen welche Tabellen welche Daten enthält. Zum Schluss wählt man bei Bedarf noch Dateien und Ordner im tl_files aus und klickt für den Start der Synchronisation auf den Button "Client synchronisieren".

Backups

Backups können im Backend unter dem Menüpunkt Backups angelegt und wiederhergestellt werden. Alle Backups werden im automatisch angelegten Ordner "syncCto_backups" in den tl_files abgelegt. Datenbanken finden sich im Ordner "database" und Dateien im Ordner "files". Wenn man Backups wieder einspielen möchte, klickt man im Menüpunkt auf Backups und wählt die Art der Wiederherstellung. Im nächsten Schritt wählt man die entsprechende Datei aus und klickt auf "Wiederherstellen". Die Dateien oder die Datenbank auf dem Server werden danach mit den Daten aus dem Backup überschrieben.

Backups automatisiert löschen

Seit der Version 1.1.0 liegen der Extension zwei neue Cronjobs bei. Die Cronjobs löschen in Verbindung mit der Extension Cron automatisiert die Backups aus dem jeweiligen Ordner. Bei der Konfiguration der Cronjobs muss man den Link zum PHP-Script eingeben und den Intervall einstellen.

Zur Verfügung stehen folgende zwei PHP-Skripte:

  • SyncCtoDeleteDbBackups.php Löscht alle Datenbank-Backups
  • SyncCtoDeleteFileBackups.php Löscht alle Datei-Backups

SyncCto-konfiguration-cronjobs.jpg

Die Backups werden mit dieser Einstellung alle 7 Tage um genau 0:00 gelöscht. Möchte man den Zeitraum erhöhen, muss man */7 einfach gegen die Zahl austauschen. */14 löscht die Backups beispielsweise alle 14 Tage.

SyncCto-konfiguration-cronjobs-2.jpg

Nach Fertigstellung könnten die Cronjobs folgendermaßen aussehen:

SyncCto-Cronjob.jpg

Anwendungsfall 1

Auf dem Webserver laufen zwei Contao-Installationen.

Der Server, bei syncCto, beschreibt immer die Installation die alle Informationen hat, die man auf eine andere Installation übertragen will. Dieses Ziel wird bei syncCto als Client beschrieben. Server und Client laufen also auf der gleichen Maschine auf den gleichen Webserver.

Anwendungsfall 2

Es gibt 2 Seiten die auf zwei verschiedenen Maschinen laufen. Beide Maschinen sind verbunden. Ob nun im lokalen Netzwerk oder über das Internet. Dabei ist es wichtig das der Server den Client erreichen kann. Der Server kann lokal zuhause auf dem internen Webserver laufen. Der Client allerdings muss von außen erreichbar sein.

So wird im Server für den Client einfach die Adresse http://www.example.com eingetragen.

Mögliche Problemfälle

  • Der SMH ist keine Lösung da die Daten via HTTP versendet werden. Ein ordentlich konfigurierter Server ist daher Pflicht
  • Sollten trotz eines guten Systemchecks und richtiger Schreibrechte eine Fehlermeldung kommen, hat man die Möglichkeit den Debugmodus zu aktivieren
    • In der config.php den Eintrag SYNCCTO_DEBUG von 0 auf 1 stellen. Es sollte nun eine debug.txt im Ordner syncCto_backups/debug erstellt werden. Diese kann unter Umständen einige Fragen lösen.
Ansichten
Meine Werkzeuge

Contao Community Documentation

Ich überlege gerade warum Contao Developer einen Hangout mit Bildübertragung machen... abgesehen von TheTril sind wir da alle relativ hässliche Typen wo Audio deutlich reichen würde. *g*

Leo Unglaub
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge