Contao News Sync
inspiredminds/contao-news-sync
von inspiredminds
Projekt Webseite unter Contao News Sync
Mit dieser Extension können automatisch Nachrichtenartikel zwischen verschiedenen Contao Installationen synchronisiert werden. Die Synchronisationsrichtung kann dabei beliebig festgelegt werden (etwa A nach B, B nach A oder beide Richtungen). Die Extension kann auch dazu verwendet werden, Nachrichtenartikel einmalig aus einer Contao Installation in eine andere Contao Installation zu importieren, etwa für den Relaunch einer Website. Da die Extension die Contao Versionen 3.5 und 4.4+ unterstützt, können damit auch Nachrichten aus älteren Contao Versionen in die neueste Contao Version übertragen werden.
Installation
Um diese Erweiterung zu installieren, muss zuerst die composer.json
der eigenen Contao Installation modifiziert werden.
Dabei sind zwei Anpassungen notwendig: das private Repository hinzufügen und die Abhängigkeit hinzufügen.
Um das Repository hinzuzufügen, muss folgendes in der composer.json
eingefügt werden:
{
"repositories": [
{
"type": "composer",
"url": "https://token:<YOUR_TOKEN>@packdis.inspiredminds.at/r"
}
]
}
<YOUR_TOKEN>
muss mit dem Repository Token ersetzt werden, welches von inspiredminds geschickt wurde.
Um die Abhängigkeit hinzuzufügen, muss folgendes in der composer.json
eingefügt werden:
{
"require": {
"inspiredminds/contao-news-sync": "^4.0"
}
}
Nachdem diese Änderungen gemacht wurden, kann nun ein composer update
auf der Kommandozeile oder eine
Paketaktualisierung im Contao Manager durchgeführt werden. Danach wie gewohnt das Contao Install Tool aufrufen, um die
Datenbank zu aktualisieren.
Contao 3
Die Installation unter Contao 3 setzt die Verwendung der Composer Paketverwaltung voraus. Ansonsten ist die Vorgehensweise
gleich. Die von der Composer Paketverwaltung verwendete composer.json
befindet sich im composer/
Unterordner der
Contao 3 Installation. Als Versionsangabe muss "^1.0"
verwendet werden.
Falls die Composer Paketverwaltung in Contao 3 noch nicht eingesetzt wird, kann diese natürlich jederzeit installiert werden. Falls die Composer Paketverwaltung nur für diese Extension, und nur einmalig gebraucht wird (eben etwa um alle Nachrichten einmalig in eine andere Contao Installation zu übertragen), kann folgende Anleitung benutzt werden:
Konfiguration
Die Extension muss in allen Contao Installationen installiert werden, die in die Synchronisation der Nachrichten involviert sein sollen. Nach der Installation stehen zusätzliche Einstellungen in den Nachrichtenarchiven unter dem Punkt Synchronisation zur Verfügung.
Um die Nachrichten eines Nachrichtenarchivs als Quelle für die Synchronisation zur Verfügung zu stellen, muss die Einstellung Quelle für Synchronisation aktiviert werden.
Um Nachrichten in einem Nachrichtenarchiv von einer Quelle holen zu lassen muss die Einstellung Ziel für Synchronisation aktiviert werden. Danach stehen zusätzliche Einstellungen zur Verfügung. Unter Quell-URL muss zunächst die URL eingetragen werden, unter der die andere Contao Installation erreichbar ist. Speichert man die Einstellungen danach, stehen unter News Archive alle Nachrichtenarchive zur Auswahl, die auf der Quell-Installation für die Synchronisation freigegeben.
- News Archive - damit aktiviert man die Nachrichtenarchive, aus denen Nachrichten aus der Quell-Installation geholt werden sollen.
- Auf Kategorien beschränken - ist in beiden Installationen die
codefog/contao-news_categories
Extension installiert, kann die Synchronisation auf bestimmte Kategorien beschränkt werden.1 - Alias-Duplikate ignorieren - in manchen Situationen kann es sein, dass man bereits Nachrichten mit dem selben Alias in der Ziel-Installation hat. Mit dieser Option werden diese Nachrichten übersprungen. Andernfalls wird ein Duplikat angelegt.
- Periodisch synchronisieren - dies aktiviert die periodische Synchronisation über den Contao Cronjob. Die Synchronisierung erfolgt stündlich.
- Einträge aktualisieren - ist diese Einstellung aktiv, werden Änderungen in der Quell-Installation bereits synchronisierter Nachrichten in der Ziel-Installation übernommen.
- Zielverzeichnis - hier muss ein Verzeichnis für die synchronisierten Bilddaten und Anhänge angegeben werden.
Info
1 Dies funktioniert derzeit noch nur mit Version 2.x
der news_categories
Extension.
Synchronisation
Die Aktualisierung der Nachrichten kann auf der Ziel-Installation auf drei verschiedene Arten ausgelöst werden.
- Kommando: auf der Kommandozeile kann folgendes Kommando benutzt werden:
vendor/bin/contao-console contao_news_sync:import
- Backend: in der Übersicht der Nachrichtenarchive gibt es bei den globalen Operationen einen zusätzlichen News holen Link.
- Cronjob: bei allen Nachrichtenarchiven, wo die periodische Synchronisierung aktiviert worden ist, werden die Nachrichten stündlich über den Contao Cronjob abgeholt.
Sicherheitshinweis
Die Nachrichten und Inhaltselemente aller Nachrichtenarchive, die als Quelle für die Synchronisierung freigegeben wurden, sind öffentlich über die API der News Sync Extension erreichbar.