Inhalte zwischen zwei Plone Sites automatisiert kopieren

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Inhalte zwischen zwei Plone Sites automatisiert kopieren

Peter Nassauer
Hallo,

wir haben zwei Plone-Sites auf zwei unterschiedlichen Plone-Instanzen.
Beinahe täglich haben wir Content (vor allem News Items und Events) den
wir auf beiden Plone-Sites anlegen wollen.

Gibt es eine Möglichkeit den Content automatisiert zwischen den
Plone-Sites zu kopieren?

Besten Dank
Peter


_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Reply | Threaded
Open this post in threaded view
|

Re: Inhalte zwischen zwei Plone Sites automatisiert kopieren

Niels Dettenbach

Peter Nassauer <[hidden email]> schrieb:
>Gibt es eine Möglichkeit den Content automatisiert zwischen den
>Plone-Sites zu kopieren?

womöglich gibt es noch effizientere Methoden - mir fällt dazu auf Anhieb folgendes ein:

1.) Zope / ZEO Clustering benutzen

2.) Inhalte per  Zope WEBDAV / FTP Service "abgleichen" (soweit die Objektstrukturen das zulassen)

3.) XML-RPC von Zope benutzen und die Applikation hierauf "umbauen"

4.) Python Methode bauen, die den import/export Mechanismus per HTTP benutzt und Inhalte per Ex-/Import "übernehmen".


Beste Grüße,


Niels Dettenbach.
--
Niels Dettenbach
Syndicat IT&Internet
http://www.syndicat.com


_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Reply | Threaded
Open this post in threaded view
|

Re: Inhalte zwischen zwei Plone Sites automatisiert kopieren

ajung
Option 1 ist sicherlich die beste Lösung sofern sich beide Site über einen gemeinsamen ZEO Server betreiben lassen. Allerdings klappt dann copy&paste auch nicht unter allen Umständen...insb. bei der Verwendung von UUIDs und Referenzen bekommt man leicht eine blaue Nase.

Regards
Andreas Jung

Sorry for being brief - sent from my iPad

Am 05.09.2013 um 20:02 schrieb "Niels Dettenbach (Syndicat.com)" <[hidden email]>:

>
> Peter Nassauer <[hidden email]> schrieb:
>> Gibt es eine Möglichkeit den Content automatisiert zwischen den
>> Plone-Sites zu kopieren?
>
> womöglich gibt es noch effizientere Methoden - mir fällt dazu auf Anhieb folgendes ein:
>
> 1.) Zope / ZEO Clustering benutzen
>
> 2.) Inhalte per  Zope WEBDAV / FTP Service "abgleichen" (soweit die Objektstrukturen das zulassen)
>
> 3.) XML-RPC von Zope benutzen und die Applikation hierauf "umbauen"
>
> 4.) Python Methode bauen, die den import/export Mechanismus per HTTP benutzt und Inhalte per Ex-/Import "übernehmen".
>
>
> Beste Grüße,
>
>
> Niels Dettenbach.
> --
> Niels Dettenbach
> Syndicat IT&Internet
> http://www.syndicat.com
>
>
> _______________________________________________
> zope mailing list
> [hidden email]
> https://mail.dzug.org/mailman/listinfo/zope


_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Reply | Threaded
Open this post in threaded view
|

Re: Inhalte zwischen zwei Plone Sites automatisiert kopieren

Maik Derstappen-5
In reply to this post by Niels Dettenbach
Am 05.09.2013 20:02, schrieb Niels Dettenbach (Syndicat.com):
> Peter Nassauer <[hidden email]> schrieb:
>> Gibt es eine Möglichkeit den Content automatisiert zwischen den
>> Plone-Sites zu kopieren?
> womöglich gibt es noch effizientere Methoden - mir fällt dazu auf Anhieb folgendes ein:
>
> 1.) Zope / ZEO Clustering benutzen
das löst nur halb das Problem, da die Kataloge auch aktualisiert werden
müssen, was nicht trivial ist.
Hinzu kommt noch das man bei Refenzen zu anderen Artikeln in From von
Links und Bildern aufpassen muss.
Des weiteren gab es und gibt glaube ich immer noch einen fiesen Bug, bei
einem move von einem Objekt von einem Mountpoint in einen anderen.
>
> 2.) Inhalte per  Zope WEBDAV / FTP Service "abgleichen" (soweit die Objektstrukturen das zulassen)
dabei gehen einige Informationen verloren
>
> 3.) XML-RPC von Zope benutzen und die Applikation hierauf "umbauen"
kann man machen, ist aber nicht ganz unaufwendig
>
> 4.) Python Methode bauen, die den import/export Mechanismus per HTTP benutzt und Inhalte per Ex-/Import "übernehmen".
>
ja es gibt ein paar add-ons die für solche Sync-Geschichten gedacht
sind, aber ich hatte bis jetzt keine in der Hand die auch mit
Referenzen, Links und Bildern klar kam. Wenn es nur darum geht einfache
News items zu synchronisieren kann das aber durchaus reichen.


viele Grüße
Maik Derstappen

--
Maik Derstappen
Geschäftsführer

DERICO - Softwareentwicklung & Consulting
Calvisiusstr. 3 - 04177 Leipzig - Deutschland
Tel: +49 341 600 130 31 - E-Mail: [hidden email] - Web: http://derico.de






_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Reply | Threaded
Open this post in threaded view
|

Re: Inhalte zwischen zwei Plone Sites automatisiert kopieren

Niels Dettenbach
Am Freitag, 6. September 2013, 12:11:31 schrieb Maik Derstappen:
> Wenn es nur darum geht einfache
> News items zu synchronisieren kann das aber durchaus reichen.
...kommt halt drauf an, wie "einfach" (bzw. wie genau strukturiert) Deine news
Objekte sind.

Ev. kann es ja Sinn machen diese - zumindest leicht - umzuimplementieren, um
den Abgleich über eine der präferierten Methoden zu ermöglichen.

> das löst nur halb das Problem, da die Kataloge auch aktualisiert werden
> müssen, was nicht trivial ist.
hmm,
das sollte nötigenfalls per "cron" Methoden o.ä. zumindest in eienr derartigen
Anwendung möglich sein - es sei denn Du "clusterst" die Kataloge gleich mit.


Beste Grüße,

Niels.
--
 ---
 Niels Dettenbach
 Syndicat IT & Internet
 http://www.syndicat.com
 PGP: https://syndicat.com/pub_key.asc
 ---
 






_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope

signature.asc (853 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Inhalte zwischen zwei Plone Sites automatisiert kopieren

Peter Nassauer
In reply to this post by Niels Dettenbach
Hi,

besten Dank schon mal für die Tipps.

Lösung eins verstehe ich nicht ganz. Ich will ja nicht die ganzen
Context kopieren, sondern nur einzelne Artikel. Dies soll von den
Redakteueren steuerbar sein, also z.B. per Kategorievergabe.
Wie hilft mir hierfür ein ZEO Cluster weiter?

Schönen Gruß
Peter

Am 05.09.2013 20:02, schrieb Niels Dettenbach (Syndicat.com):

> Peter Nassauer <[hidden email]> schrieb:
>> Gibt es eine Möglichkeit den Content automatisiert zwischen den
>> Plone-Sites zu kopieren?
> womöglich gibt es noch effizientere Methoden - mir fällt dazu auf Anhieb folgendes ein:
>
> 1.) Zope / ZEO Clustering benutzen
>
> 2.) Inhalte per  Zope WEBDAV / FTP Service "abgleichen" (soweit die Objektstrukturen das zulassen)
>
> 3.) XML-RPC von Zope benutzen und die Applikation hierauf "umbauen"
>
> 4.) Python Methode bauen, die den import/export Mechanismus per HTTP benutzt und Inhalte per Ex-/Import "übernehmen".
>
>
> Beste Grüße,
>
>
> Niels Dettenbach.



_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Reply | Threaded
Open this post in threaded view
|

Re: Inhalte zwischen zwei Plone Sites automatisiert kopieren

Niels Dettenbach
Am Freitag, 6. September 2013, 21:40:54 schrieb Peter Nassauer:
> besten Dank schon mal für die Tipps.
>
> Lösung eins verstehe ich nicht ganz. Ich will ja nicht die ganzen
> Context kopieren, sondern nur einzelne Artikel. Dies soll von den
> Redakteueren steuerbar sein, also z.B. per Kategorievergabe.
> Wie hilft mir hierfür ein ZEO Cluster weiter?

hmmm,
ohne die Anwendung im Detail zu kennen, kann ich dazu wenig praktisches sagen.

Wenn tatsächlich nur einzelne Objekte aus einem ZOPE Folder in den einer
anderen ZOPE Instanz "kopiert" bzw. dort "dargestellt" werden sollen, dann
wird das auch mit ZEO nur möglich sein, wenn man ebenjene Artikel / Objekte
gezielt eine einen ZEO Cluster packen lässt, aus dem dann die "gemeinsamen"
Artikel dargestellt werden - ggf. zusammen mit anderen lokal vorhandenen, die
allerdings in einem anderen Zope Folder liegen müssen.

Die Strukturen von Plone kenne ich nicht so exakt - auf ZOPE Ebene - mit Zope
Objekten - dürfte das auf verschiedene Art und Weise machbar sein.

Aber:
Soweit der Slave / Client die News nur darstellen soll (d.h. diese am Client
nicht bearbeitet werden können sollen), kannst Du diese Objektstrukturen auch
"live" oder gecached per zB XML-RPC vom Server "dazuholen" und lediglich
ausgeben, ohne davon ganze Kopien lokal vorhalten zu müssen.

Ev. hilft Dir aber auch etwas wie:
http://zsyncer.sourceforge.net/

Habe ich persönlich noch nicht mit gearbeitet - bin nur drüber "gestolpert"...



Beste Grüße,

Niels.
--
 ---
 Niels Dettenbach
 Syndicat IT & Internet
 http://www.syndicat.com
 PGP: https://syndicat.com/pub_key.asc
 ---
 






_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope

signature.asc (853 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Inhalte zwischen zwei Plone Sites automatisiert kopieren

Maik Derstappen-5
In reply to this post by Peter Nassauer
Am 06.09.2013 21:40, schrieb Peter Nassauer:
> Hi,
>
> besten Dank schon mal für die Tipps.
>
> Lösung eins verstehe ich nicht ganz. Ich will ja nicht die ganzen
> Context kopieren, sondern nur einzelne Artikel. Dies soll von den
> Redakteueren steuerbar sein, also z.B. per Kategorievergabe.
> Wie hilft mir hierfür ein ZEO Cluster weiter?
Indem die Inhalte so physisch in beiden Portal verfügbar gemacht werden
und dann per Kategorie oder anderen flags angezeigt werden oder nicht.
Aber wie gesagt, das ist nicht einfach und Du hast immer auch das
Problem das der Katalog im anderen Portal sich aktualisieren muss. Ein
hin und wieder angestoßender clear & rebuild nicht die optimale Lösung.
Was ist wenn Objekte gelöscht wurden, dann sollten sie in anderen Portal
nicht mehr angezeigt werden, die ganzen Auflistungen von Plone basieren
aber auf den Inhalten der Katalogs, welcher vor dem Reindex nicht
aktuell ist und somit das gelöschte Objekt auflistet.
Dies führt dann zu 404-Seiten beim User.
hier zwei Ansätze:
http://pythonhosted.org/Products.ZSyncer/use.html
https://pypi.python.org/pypi/collective.synchro/1.0.2

Wobei der zweite Ansatz etwas umständlicher ist.
Es gab oder gibt aber auch andere Lösungen, hab ich nur auf die Schnelle
nicht gefunden.
Meist funktioniert das über Export als XML und dann Import im Zielportal.
Wenn ich so etwas neu bauen würde, dann nicht als Synchronisation,
sondern einfach als Webservice.
Die Daten werden in einem Portal gepflegt und in anderen über einen
Client eingebunden.
Das ganze am besten noch gecached.

viele Grüße
Maik Derstappen

--
Maik Derstappen
Geschäftsführer

DERICO - Softwareentwicklung & Consulting
Calvisiusstr. 3 - 04177 Leipzig - Deutschland
Tel: +49 341 600 130 31 - E-Mail: [hidden email] - Web: http://derico.de






_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Reply | Threaded
Open this post in threaded view
|

Re: Inhalte zwischen zwei Plone Sites automatisiert kopieren

Peter Nassauer
Hi,

collective.synchro klingt eigentlich interessant. Scheint aber für Plone
4 nicht weiterentwickelt worden zu sein.

Meine Idee ist jetzt einen Link in den edit_macros einzubauen der ein
"manage_exportObject?id=' + id" an die Url hängt.

Auf dem Server würde ich dann einen Cronjob laufen lassen der alle fünf
Minuten die exportierten Daten in den Importordner der anderen Plone
Instanz verschiebt. Hier sollen dann per Import die Dateien in die
PloneInstanz importiert werden:
urllib.urlopen('http://admin:password_prod@localhost:9090/manage_importObject?file=' 
+ id + '.zexp')

Muss ich nach einem solchen Import den Katalog aktualisieren?

Besten Dank nochmal
Peter


Am 07.09.2013 17:29, schrieb Maik Derstappen:

> Am 06.09.2013 21:40, schrieb Peter Nassauer:
>> Hi,
>>
>> besten Dank schon mal für die Tipps.
>>
>> Lösung eins verstehe ich nicht ganz. Ich will ja nicht die ganzen
>> Context kopieren, sondern nur einzelne Artikel. Dies soll von den
>> Redakteueren steuerbar sein, also z.B. per Kategorievergabe.
>> Wie hilft mir hierfür ein ZEO Cluster weiter?
> Indem die Inhalte so physisch in beiden Portal verfügbar gemacht werden
> und dann per Kategorie oder anderen flags angezeigt werden oder nicht.
> Aber wie gesagt, das ist nicht einfach und Du hast immer auch das
> Problem das der Katalog im anderen Portal sich aktualisieren muss. Ein
> hin und wieder angestoßender clear & rebuild nicht die optimale Lösung.
> Was ist wenn Objekte gelöscht wurden, dann sollten sie in anderen Portal
> nicht mehr angezeigt werden, die ganzen Auflistungen von Plone basieren
> aber auf den Inhalten der Katalogs, welcher vor dem Reindex nicht
> aktuell ist und somit das gelöschte Objekt auflistet.
> Dies führt dann zu 404-Seiten beim User.
> hier zwei Ansätze:
> http://pythonhosted.org/Products.ZSyncer/use.html
> https://pypi.python.org/pypi/collective.synchro/1.0.2
>
> Wobei der zweite Ansatz etwas umständlicher ist.
> Es gab oder gibt aber auch andere Lösungen, hab ich nur auf die Schnelle
> nicht gefunden.
> Meist funktioniert das über Export als XML und dann Import im Zielportal.
> Wenn ich so etwas neu bauen würde, dann nicht als Synchronisation,
> sondern einfach als Webservice.
> Die Daten werden in einem Portal gepflegt und in anderen über einen
> Client eingebunden.
> Das ganze am besten noch gecached.
>
> viele Grüße
> Maik Derstappen
>



_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Reply | Threaded
Open this post in threaded view
|

Re: Inhalte zwischen zwei Plone Sites automatisiert kopieren

ajung
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



Peter Nassauer wrote:

> Hi,
>
> collective.synchro klingt eigentlich interessant. Scheint aber für
> Plone 4 nicht weiterentwickelt worden zu sein.
>
> Meine Idee ist jetzt einen Link in den edit_macros einzubauen der
> ein "manage_exportObject?id=' + id" an die Url hängt.
>
> Auf dem Server würde ich dann einen Cronjob laufen lassen der alle
> fünf Minuten die exportierten Daten in den Importordner der anderen
> Plone Instanz verschiebt. Hier sollen dann per Import die Dateien in
> die PloneInstanz importiert werden:
> urllib.urlopen('http://admin:password_prod@localhost:9090/manage_importObject?file='
>
>
+ id + '.zexp')

Damit importierst Du die Datei immer im Kontext der Root des Servers.
Das exportierte .zexp File enthält keinerlei Information darüber "wo es
hin soll" - das ist Sache der Applikation!

> Muss ich nach einem solchen Import den Katalog aktualisieren?

Ja - und das ist Teil deines Problems.

- -aj
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQGUBAEBAgAGBQJSLEmpAAoJEADcfz7u4AZjJqILv1H0zn1adnl+Y0Zk1xQ2tZ8x
UkupAwPcStXy5P+xU0P5MaoyHllSmuTSFfkVHleaYAVIgi6KLtN3kZ73WJIzoht9
NzdhDiocw815ZhFHC25CXZYtOnNUkry4GS4+PBntkuhdIK5996h0WHJCw3Y6urgh
mwSxmsCOiWNqpBXZUWW91DswaB0GBbQ+gxAPNwXyaEAmS9TAFVDAmG/KccpL23l3
OM3lnMxNoAnDL4IzievozNR7hxcb3uWqmW3uSCOh22Z9iOt9HI9x/7vK7ZI+kORr
xjcT9ArdT6/3zcmK1Q47trGOo/eSR0GHXdq2azP5VWBYmcWy+OmeAv/2wiYNnMOk
ABTqQCAwz/9h7qaaKktV6rNwO55iUv3544xHu2SkeKnazZpEhVAkG8U+kKDcwBq/
GRFiXq8WwVnXSi4Uj5X2RvUGnXBprakSOdAqtY6l4IW0o92QP6QggkUN3ge63kQY
3KFuCrWxSpINOVbiArLNxvX88p7U1vY=
=3rwq
-----END PGP SIGNATURE-----



_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope

lists.vcf (368 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Inhalte zwischen zwei Plone Sites automatisiert kopieren

Hartmut Goebel
Am 08.09.2013 11:55, schrieb Andreas Jung:
>> > urllib.urlopen('http://admin:password_prod@localhost:9090/manage_importObject?file='
>> >
>> >
> + id + '.zexp')
>
> Damit importierst Du die Datei immer im Kontext der Root des Servers.
> Das exportierte .zexp File enthält keinerlei Information darüber "wo es
> hin soll" - das ist Sache der Applikation!


hmm, sollte es nicht genügen, den Artikel per WebDAV auf der einen Site zu holen und ebenfalls per WebDAV auf der anderen Site einzuspielen?

--
Schönen Gruß
Hartmut Goebel
Dipl.-Informatiker (univ), CISSP, CSSLP

Goebel Consult
http://www.goebel-consult.de

Monatliche Kolumne: http://www.cissp-gefluester.de/2011-11-in-troja-nichts-neues
Blog: http://www.goebel-consult.de/blog/20041011

Goebel Consult ist Mitglied bei http://www.7-it.de/





_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope

smime.p7s (5K) Download Attachment