Sektionen
Benutzerspezifische Werkzeuge
Sie sind hier: Startseite Support Dokumentation Zope / Plone

Zope / Plone

Tipps und Tricks zu Zope/Plone...

Plone: Portal Root Object ermitteln

Das Root-Objekt von Plone wird recht häufig benötigt, kann man hierüber doch einfach auf viele Tools und Inhalte zugreifen. Dieser Artikel beschreibt wie man in unterschiedlichen Situationen an das Plone-Root-Objekt kommt.

Mehr…

Plone: eigenes tmp-Verzeichnis in einem Plone Buildout

Mit der Umgebungsvariable TMPDIR, kann für Zope ein eigenes tmp-Verzeichnis definiert werden. Dies ist immer dann praktisch, wenn man die einzelnen Buildouts sauber voneinander trennen möchte. Per default nutzen alle Buildouts das zentrale tmp-Verzeichniss unter "/tmp". Unteranderem können hierbei Speicherplatzprobleme durch temporäre Dateien auftreten, wenn das tmp-Verzeichnis zu klein sein sollte.

Mehr…

Plone: advanced Detail-View für Archetypes ContentType

Archetypes erlaubt es einen kompletten ContentType in einem Schema zu definieren. Hieraus werden Edit-Form und Base-View erzeugt. Nachfolgend wird eine Zope Browser View für einen ContentType erzeugt, die analog zu den Tabs in der Edit-Form die Feldinhalte nach Schemata-Tabs darstellt.

Mehr…

Plone: Archetypes DisplayList

In Archetypes werden häufig Objekte vom Typ DisplayList verwendet, um Daten für Auswahllisten bereitzustellen. Nachfolgend finden Sie ein paar Tipps zur Verwendung dieser Objekte.

Mehr…

ZODB: aktuelle Connection ermitteln und synchronisieren

In manchen Fällen, hat man langlaufende Prozesse, die Änderungen der ZODB mitbekommen sollen. Dies geschieht normaler Weise beim Begin einer Transaction.

Mehr…

Plone: prüfen ob ein Archetypes Object temporär ist

Archetypes Objekte werden in Plone meist über die portal_factory angelegt und sind vor dem ersten speichern temporär. In manchen Fällen möchte man diesen Zustand berücksichtigen, daher sei im folgenden erläutert wie man den Zustand auslesen kann.

Mehr…

Spezialisierung von Zope Events

Zope Events sind eine flexible Möglichkeit, auf bestimmte Ereignisse innerhalb von Zope zu reagieren. Diese werden umfangreich in Zope und Plone eingesetzt. Durch eine Spezialisierung vorhandener Zope Events, kann man Events auslösen, die die gleiche Wirkung haben wie die generellen Events, diese aber zusätzlich behandeln.

Mehr…

Plone: IndexError beim reindex vom portal_catalog durch Transforms

Wenn der Fehler "IndexError: list index out of range" beim reindizieren des portal_catalog kommt, kann es unter anderem an fehlerhaften Konfigurationen in PortalTransforms liegen.

Mehr…

Alternative zu test() in Zope Page Templates (ZPT)

In älteren Zope Page Templates wird of eine Methode test() verwendet, mit der ein bedingter (if/else) Wert ins Template eingefügt werden kann. Diese steht aber bei neueren Views nicht mher zur Verfügung.

Mehr…

Zope: Bei einem ConflictError/POSKeyError das betroffende Objekt ermitteln

Wenn ein ZPublisher.Conflict ConflictError oder POSKeyError auftritt, können wir wie folgt mittels des debug Modus, das betreffende Objekt anhand der angegebenen oid ermitteln.

Mehr…

Plone: Eventhandler spezifisch registrieren

Um z.B. nicht auf jedes IObjectEditedEvent event zu reagieren, sondern nur für eine bestimmte Art von Objekten, kann ein Event-Subscriber an 2 Interfaces gebunden werden.

Mehr…

Plone: Batching von großen Listen

Wenn man große Ergebnismengen bei Suchen hat oder viele Objekte in einer Ordnerauflistung, so ist es sinnvoll diese nicht alle auf einer Seite anzuzeigen. Mit ein paar Handgriffen kann man die Inhalte in Batches unterteilen und auf mehreren Seiten anzeigen lassen.

Mehr…

Plone: ComponentLookupError while using cmf.ManagePortal in zcml

In Plone 4.1 sometimes you get the following Error: zope.configuration.config.ConfigurationExecutionError: <class 'zope.component.interfaces.ComponentLookupError'>: (<InterfaceClass zope.security.interfaces.IPermission>, 'cmf.ManagePortal')

Mehr…

Plone: Archetypes: Auswählen eines Standardartikels deaktivieren

Wenn man einen Ordnerartigen (Folderish) ContentType erzeugt, so kann der Nutzer enthaltene Objekte als Standardartikel setzen. Da dies nicht immer gewünscht ist, kann man dieses Verhalten, durch überschreiben der Methode canSetDefaultPage in seinem Model regeln.

Mehr…

Plone: GenericSetup: ImportStep in richtiger Reihenfolge ausführen

Man hat bei GenericSetup keinen Einfluss darauf, in welcher Reihenfolge ImportSteps abgearbeitet werden, z.B. kann es sein, dass ein ImportStep vor der Initialisierung des TypesTool's ausgeführt wird. Dies kann man jedoch durch die depends-Anweisung von GenericSetup lösen.

Mehr…

Plone: Initiale Objekte erzeugen mit constructContent

Die Methode container.invokeFactory() berücksichtigt die Regeln in portal_types, ob ein Objekt in diesem Kontext angelegt werden darf oder nicht. Mit portal_types.constructContent() kann diese Prüfung umgehen.

Mehr…

z3c.form Tutorial

Flexible Formulare erzeugen mit Hilfe des Paketes z3c.form.

Mehr…

Plone: Configlet für plone_control_panel registrieren via GenericSetup

Konfigurationsmöglichkeiten in Plone werden meist als Configlet's im plone_control_panel verfügbar gemacht. Dieser Artikel zeigt wie ein Configlet via GenericSetup registriert werden kann.

Mehr…

Plone: unicode Umwandlungen

Unicode Probleme sind ein sehr unbeliebetes Thema, hier ein paar Tipps zum Umgang mit diesen.

Mehr…

Plone: Viewlet mittels Unittesting testen

Um ein Viewlet in einem Unittest zu testen, muss das Viewlet während des Testvorganges selbst erstellt werden. Diese kurze Anleitung zeigt, wie dies zu bewerkstelligen ist.

Mehr…