Inhalte anderer Contenido-Projekte verknüpfen.
-
- Beiträge: 37
- Registriert: Mi 20. Jan 2010, 11:13
- Kontaktdaten:
Inhalte anderer Contenido-Projekte verknüpfen.
Hallo,
Ich wollte mal fragen, ob jemand vielleicht eine Lösung hat, wie man z. B. einen ganzen Kategorien-Ast vom Contenido-Projekt "Website Y" ins Contenido-Projekt "Website Z" verknüpfen kann, so, dass die Inhalte also quasi gleich sind.
Ich meine damit nicht einfach eine Kopie, sondern, dass man allfällige Änderungen dann nur an einer Stelle machen kann und der Kategorien-Ast inklusive Seiten passen sich dann überall automatisch an.
Danke für die Hilfe.
Ich wollte mal fragen, ob jemand vielleicht eine Lösung hat, wie man z. B. einen ganzen Kategorien-Ast vom Contenido-Projekt "Website Y" ins Contenido-Projekt "Website Z" verknüpfen kann, so, dass die Inhalte also quasi gleich sind.
Ich meine damit nicht einfach eine Kopie, sondern, dass man allfällige Änderungen dann nur an einer Stelle machen kann und der Kategorien-Ast inklusive Seiten passen sich dann überall automatisch an.
Danke für die Hilfe.
Re: Inhalte anderer Contenido-Projekte verknüpfen.
Sind "Website Y und "Website Z" nur unterschiedliche Sprachen, unterschiedliche Mandanten auf der selben Installation oder komplett eigentständige Installationen?
-
- Beiträge: 37
- Registriert: Mi 20. Jan 2010, 11:13
- Kontaktdaten:
Re: Inhalte anderer Contenido-Projekte verknüpfen.
Dann wird das kaum mit vertretbarem Aufwand funktionieren. Contenido arbeitet mit individuellen Templates, Modulen, Layouts, Areas, Actions, Templateconfigs, Articlecontents etc. die alle über die IDs angesprochen werden und von Installation zu Installation unterschiedlich sind oder sein können. Damit ein einzelner Artikel "synchronisiert" wird, müssen alle diese IDs (und die dahinterliegenden Daten) identisch sein. Nicht zu sprechen von System-, Mandanten- und Spracheneinstellungen, die ggf. das Modulverhalten beeinflussen, Links in den Seiten...
Eine synchronisierbare Installation müsste also mit geteilter ID-Datenbank arbeiten (das wäre noch machbar, über eine eigene db_xxx.inc die nextid aus einer gemeinsamen Datenbanktabelle zu generieren, so dass hier keine Überschneidungen entstehen), einen geteilten Template-, Modul- und Layoutpool vorhalten der immer synchron ist, entsprechende Logiken implementieren die unterscheidenen ob Daten lokal (und damit editierbar) oder synchronisiert sind und vieles mehr, auch wenn man das Thema Frontend- und Backend-Benutzer mal noch ausklammert.
Den Entwicklungsaufwand für so eine Lösung würde ich irgendwo zwischen 120 und 180 Manntagen einschätzen. Ich habe in einer meiner Installationen (Intranet-Lösung) nur eine Funktion eingebaut, die gekennzeichnete Artikel (mit einem bestimmten Template) und Kategorien innerhalb eines Mandanten automatisch von einer Sprache in alle anderen synchronisiert (und mit einer Art Template-Tags ersetzt, für technische Dokus in Tabellenform) und den Benutzer die Artikel nur in der Quellsprache bearbeiten lässt. Das allein war schon alles andere als trivial, obwohl hier die ID-Überschneidungen kein großes Thema waren (Artikel- und Kategorie-ID sind in den verschiedenen Sprachen im selben Mandanten identisch).
Eine synchronisierbare Installation müsste also mit geteilter ID-Datenbank arbeiten (das wäre noch machbar, über eine eigene db_xxx.inc die nextid aus einer gemeinsamen Datenbanktabelle zu generieren, so dass hier keine Überschneidungen entstehen), einen geteilten Template-, Modul- und Layoutpool vorhalten der immer synchron ist, entsprechende Logiken implementieren die unterscheidenen ob Daten lokal (und damit editierbar) oder synchronisiert sind und vieles mehr, auch wenn man das Thema Frontend- und Backend-Benutzer mal noch ausklammert.
Den Entwicklungsaufwand für so eine Lösung würde ich irgendwo zwischen 120 und 180 Manntagen einschätzen. Ich habe in einer meiner Installationen (Intranet-Lösung) nur eine Funktion eingebaut, die gekennzeichnete Artikel (mit einem bestimmten Template) und Kategorien innerhalb eines Mandanten automatisch von einer Sprache in alle anderen synchronisiert (und mit einer Art Template-Tags ersetzt, für technische Dokus in Tabellenform) und den Benutzer die Artikel nur in der Quellsprache bearbeiten lässt. Das allein war schon alles andere als trivial, obwohl hier die ID-Überschneidungen kein großes Thema waren (Artikel- und Kategorie-ID sind in den verschiedenen Sprachen im selben Mandanten identisch).
-
- Beiträge: 55
- Registriert: Fr 22. Apr 2005, 15:41
- Wohnort: Berlin
- Kontaktdaten:
Re: Inhalte anderer Contenido-Projekte verknüpfen.
Vielleicht geht es über einen Umweg: Du bastelst Dir einen RSS-Feed mit den Daten der anzuzeigenden Kategorien und Artikel aus "Website Y" und bindest diesen dann bei "Website Z" ein.
Unterstützt das Contenido-Wiki-Projekt: www.contenido-wiki.org!
ikusei - Wir lassen Ihre Projekte wachsen!
ikusei - Wir lassen Ihre Projekte wachsen!
Re: Inhalte anderer Contenido-Projekte verknüpfen.
Ganz genau. Ein RSS-Feed oder ein einfacher REST-Service, welcher die Daten anstatt als HTML als XML zurück gibt. Damit lassen sie sich wunderbar in einen anderen Auftritt integrieren. Selbe Installation, mehrere Installation oder auch entfernte Server spielt dann keine Rolle. Ist zwar langsamer als ein direktes Ansprechen der DB; aber unter den gegebenen Umständen absolut machbar.
Im übrigen kannst du die Daten auch direkt über die DB beziehen, wenn die Installation auf den selben Server liegen. Da gibt es kein grundsätzliches Problem. Verbindung erstellen und Daten beziehen. Es gibt dazu zwar dann kaum Bordmittel. Aber der Programmieraufwand ist nicht wirklich gross.
Im übrigen kannst du die Daten auch direkt über die DB beziehen, wenn die Installation auf den selben Server liegen. Da gibt es kein grundsätzliches Problem. Verbindung erstellen und Daten beziehen. Es gibt dazu zwar dann kaum Bordmittel. Aber der Programmieraufwand ist nicht wirklich gross.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Re: Inhalte anderer Contenido-Projekte verknüpfen.
Was aber die Anforderung des OPskummer hat geschrieben:Ganz genau. Ein RSS-Feed oder ein einfacher REST-Service, welcher die Daten anstatt als HTML als XML zurück gibt. Damit lassen sie sich wunderbar in einen anderen Auftritt integrieren. Selbe Installation, mehrere Installation oder auch entfernte Server spielt dann keine Rolle. Ist zwar langsamer als ein direktes Ansprechen der DB; aber unter den gegebenen Umständen absolut machbar.
nicht ganz erfüllt.dass man allfällige Änderungen dann nur an einer Stelle machen kann und der Kategorien-Ast inklusive Seiten passen sich dann überall automatisch an
-
- Beiträge: 37
- Registriert: Mi 20. Jan 2010, 11:13
- Kontaktdaten:
Re: Inhalte anderer Contenido-Projekte verknüpfen.
Also vielen Dank erstmal für die vielen Anregungen.
Ich werd mal schauen, wie ich das am besten angehen werde. Etwas komplexere Lösungen, mit 120-180 Tagen Aufwand, dürften da jedenfalls etwas zu viel Aufwand erfordern.
Und sonst soll sich mein Chef halt damit abfinden, dass er die Website-Inhalte nicht so redundant anordnen kann.
Ich werd mal schauen, wie ich das am besten angehen werde. Etwas komplexere Lösungen, mit 120-180 Tagen Aufwand, dürften da jedenfalls etwas zu viel Aufwand erfordern.

Und sonst soll sich mein Chef halt damit abfinden, dass er die Website-Inhalte nicht so redundant anordnen kann.

Re: Inhalte anderer Contenido-Projekte verknüpfen.
Nö. Erfüllt es absolut. Man muss natürlich auch diese Informationen über einen REST-Service beziehen.thepoet hat geschrieben:Was aber die Anforderung des OPsnicht ganz erfüllt.dass man allfällige Änderungen dann nur an einer Stelle machen kann und der Kategorien-Ast inklusive Seiten passen sich dann überall automatisch an
Ich denke, dass - wenn man die Daten zentral pflegen will - sich am besten einfach gleich zu beginn eine vernünftige Architektur überlegt. Hinterher ist immer schwieriger. Zumal Contenido eben für solche Dinge keinerlei Bordmittel zur Verfügung stellt.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)