Content-Synchronisation mit TYPO3-Extension nr_sync
Mit nr_sync Inhalte redakteursfreundlich und ressourcensparend vom Stagingsystem auf ein beliebiges Livesystem bringen
Vor allem bei sehr großen Seiten mit TYPO3 bringt das Ausspielen neuer Inhalte auf dem Livesystem besondere Anforderungen mit sich. Wenn die Entscheidung auf dem Livesystem auf Backend-User gefallen ist, wird hier ein sehr gutes Freigabesystem benötigt, um sicherstellen zu können, dass zu jeder Zeit auch wirklich nur der Content dargestellt wird, der dargestellt werden soll. Wenn die Entscheidung auf ein Stagingsystem gefallen ist, steht man vor der Frage, wie die Inhalte auf das Livesystem kommen. Ein Dump aller Tabellen kann bei sehr großen Systemen schnell sehr lange dauern und sehr ressourcenintensiv werden. Weiterhin fehlt den Redakteuren oft die Möglichkeit, diese Dumps selbst zu erstellen und einzuspielen. Das Problem, dass gelöschte und versteckte Inhalte auf dem Livesystem nur unnötigen Platz in der Datenbank wegnehmen, können beide Ansätze nicht beheben.
Bei all diesen Punkten setzt unsere Extension nr_sync an. Eingesetzt wird sie bei uns schon einige Jahre in verschiedenen Kundenprojekten und vorgestellt wurde sie der Community zum ersten Mal im Januar 2020 auf dem TYPO3Camp Mitteldeutschland, wo sie auch direkt sehr gut aufgenommen wurde.
Zum Blogbeitrag "TYPO3Camp Mitteldeutschland"
Die Extension bietet Redakteuren nach Erstellung von neuen oder Bearbeitung von bestehenden Inhalten über ein benutzerfreundliches Backend-Modul die Möglichkeit, alle Anpassungen für die Synchronisation vorzubereiten.
Hierbei ist dem Redakteur überlassen, ob alle Elemente synchronisiert werden sollten oder nur die Elemente, die seit der letzten Synchronisierung erstellt oder verändert wurden. Gelöschte oder versteckte Elemente können dabei mit nur einer Checkbox direkt zum endgültigen Löschen vorgemerkt werden.
Für Entwickler bietet die Extension eine Vielzahl an Hooks an, mit denen sie sowohl ihre eigenen Extensions für die Synchronisation registrieren können, aber auch auf verschiedene Arten vor, nach oder in die Synchronisation eingreifen können. Sollte es jemals technisch nötig sein, kann das Modul von Administratoren jederzeit für alle Redakteure gesperrt werden.
Standardmäßig bietet die Extension zwei Zielsysteme an, zu denen die Synchronisation ausgeführt werden kann. Somit ist es nicht nur möglich, die Inhalte für ein Livesystem bereit zu stellen, sondern zusätzlich auch noch für ein Test- oder Integrationssystem.
Zur Übertragung der entstandenen Dumps auf die Zielsysteme muss ein eigener Prozess bereitgestellt werden. Auf dem Zielsystem übernimmt wieder der Schedulertask der Extension, fügt den neuen Content ein und bereinigt das System um den zu löschenden Content.
Zu finden auf:
nr_sync auf Github