Zope Migration

14. Mai, 2007

Wie liesse sich eine Migration von einer Zope/Plone Seite zu einer Django basierten Seite möglichst reibungslos bewerkstelligen? Ich denke darüber nach, da Zukx sich so hoffentlich einfacher weiterentwickeln liesse - zum einen, da kleinere Mini-Applikation schnell einzubinden ohne mit diesem Moloch von Zope herumkämpfen zu müssen - zum anderen aus Wartungsgründen.

Verzeichnisstruktur

Zunächst einmal müsste man die Verzeichnis-artige Struktur von Zope replizieren. Mein Ansatz hierzu eine kleine App mit folgenden Features:

  • path und parent_path - zur Navigation und für die Breadcrumbs
  • automatische regsitrierung von Modellen mit einem class ZMS tag

In code würde das meiner Meinung nach (in etwa) so aussehen:

import zms
def zmsview(request, path = "/"):
   folder = zms.get_content(path)
   return folder.render(request=request)

Dabei umgeht man natürlich den Django url dispatch, aber das muss so sein, da der PageRank sonst flöten geht und natürlich externe Links bestehen bleiben sollen.

Die get_content Funktion sollte dabei eine entprechende view/render Funktion bereitstellen, je nachdem ob ein Inhaltsverzeichnis oder ein Artikel nachgefragt wurde.

Inhalt Migration

Auf plone.org gibt's eine Dokumentation, wie sich ein Visitor schreiben lässt, der alle Knoten der Zope Objekt-Hierachie besucht. Damit liesse sich mit simplejson ein Exporter für die neue Iteration der Seite schreiben. (Andere haben schon ein ähnliches Script gebastelt :)

Eingabe - kupu, TinyMCE und so

Einer der Vorteile von Plone ist die einfache Benutzer-Oberfläche mit dem Editor kupu - leider müsste sich etwas ähnliches bereitgestellt werden - obwohl ich persönlich nicht so überzeugt von den Ergebnissen war (okay, die Photo und Link Widgets sind toll ...). Mit einer Wiki oder ähnlichen Markup-Sprache liessen sich schneller kleine Erweiterungen schreiben, der Inhalt besser parsen für nette Extra-Features.

Kommentieren


Die Letzten Zwanzig

Links im Artikel