Sektionen
Benutzerspezifische Werkzeuge
Sie sind hier: Startseite Support Dokumentation docs

docs

Dokumentation zu vielen Themen rund um Open Source Software, Linux, Exim, Zope & Plone, Bacula, Nagios uvm...

Eine External Method in Plone anlegen
Eine External Method ist in Plone genau so ansprechbar wie ein Script (Python), bietet aber die volle Power von Python. Sie besteht aus 2 Teilen, einem Python-Skript im Dateisystem und einem Wrapper-Objekt in der Datenbank. Nachfolgend wird erleutert wie man beides in einem eigenen Package verwendet.
URL-Parameter in Zope
Oft steht man vor der Aufgabe, Parameter aus einem URL zu extrahieren oder hinzuzufügen. In Zope existieren dafür die Methoden url_query und make_query, welche im Modul ZTUtils definiert sind.
Plone: Auslesen aller Felder eines Dexterity Objektes.
Manchmal möchte man in einer Plone View über alle Felder eines Dexterity Objektes Interieren. Dazu ist es nötig, eine Liste aller Felder zu haben. Diese kurze Anleitung zeigt, wie man diese Felder bekommt.
Zope: Annotations zum speichern von Daten an Objekten
Annotations sind ein gutes Mittel um Komplexe Datenstrukturen an Objekten zu speichern, von denen das Objekt selbst keine Kenntnis haben muss.
Plone: popup für login deaktivieren
In Plone werden kleine Dialoge oft als kleines inline popup angezeigt. Das ist auch ganz praktisch, da hierfür nicht eine komplette Seite geladen werden muss. Aber beim Login möchte man hier oft lieber darauf verzichten.
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.
Plone: unicode Umwandlungen
Unicode Probleme sind ein sehr unbeliebetes Thema, hier ein paar Tipps zum Umgang mit diesen.
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.
python-profiler für python2.4 unter Debian Squeeze
Da man für manche Pakete wie z.B. Plone 3 noch python2.4 benötigt, sei hier kurz erklärt wie man python-profile, welches zum testen benötigt wird installiert.
AmbiguityError: name '__ac_name' in DocTests
Dieser Fehler tritt z.B. auf, wenn man versucht sich mit browser.getControl(name='__ac_name').value = portal_owner in einem BrowserTest anzumelden und es das Login-Formular 2 mal auf der Seite gibt.
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.
Mercurial [auth]: Automatisch bei verschiedenen Repository-Servern Authentifizieren
Damit man beim arbeiten mit verschiedenen Mersurial Repositories nicht permanent seien Zugangsdaten eingeben muss, kann man die gängigen Server in seiner .hgrc konfigurieren.
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.
hl_menu_sprite_de.png
 
hl_menu_sprite_en.png
 
could not load package ZODB: No module named proxy
Wenn dieser Fehler beim starten des ZEOServers auftritt, liegt es meistens daran, dass man in seinem Pythonpath zope-packages ungewollt (z.B. über Abhängigkeiten) installiert hat.
Plone: local utilities erzeugen & verwenden
Local utilities können Daten persistent halten und können daher auch als zentraler Ort für z.B. Status Flags verwendet werden.
failed validator
 
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.
Pyramid: CSRF-Protection mit Deform
Pyramid bietet mit session.get_csrf_token() eine Methode an, die einen Token für die aktuelle Session erzeugt. Diese kann in einem verstecktem Formularfeld mit übergeben werden, um es später daraufhin zu überprüfen und so eine CSRF-Protection zu realisieren.
Diazo: alle Stylesheets ausser public.css in Theme übernehmen
Es gibt einige Stylesheets, wie z.B. die public.css, die man nicht in sein Diazo basiertes Theme übernehmen möchte. Dies spart viele Zeilen Stylesheets ein und macht das sonst mühselige Überschreiben von den Plone-Stylesheets unnötig.
portal_css Title für public.css
 
Solved: IPMI interface unsuable due to vanished gateway MAC
A newer Supermicro IPMI BMCs that is temporarily without a network connection to the gateway, e.g. due to a shut/noshut of a CISCO interface port on the network path, looses its ARP information (namely the MAC of the gateway) and does not even try to recover from this state. This is due to the default "LAN interface" setting of "failover" and is cured by setting to "dedicate". This finding holds only for dedicated IPMI-Cards. Cards that share with the OS Interfaces have similiar problems that are discussed elsewhere [1].
Plone: Portlets in Diazo Regel filtern
Mit Diazo nur bestimmte Portlets ins Theme übernehmen. Hierfür kann man die erweiterten Möglichkeiten von Bedingungen in XPath und CSS3 nutzen.
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.
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.
Plone: Makros in Zope Page Templates
Um Doppelungen von Template-Code zu vermeiden, verwendet man in den Templates von Plone oft Makros. Nachfolgend wird erläuter wie man einen Code-Schnipsel als Makro definiert und Ihn mehrfach verwendet.
Unbekannte Fische
 
Unbekannter Fisch 2
 
Diazo: per xPath ein voran stehendes Element auswählen
Um z.B. das Element <h5 class="hiddenStructure">Sektionen</h5> ins Theme zu übertragen, welches sich genau vor dem Element <ul id="portal-globalnav"> befindet, kann folgende Diazo-Anweisung verwendet werden.
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')
Mercurial VCS: Einführung
Die wichtigsten Grundlagen für die Verwendung von Mercurial als dezentrales VCS.
Dropbox unter Debian installieren
Mit Dropbox kann man sehr bequem Daten auf einer Online-Festplatte ablegen und diese auch anderen zugänglich machen. Bilder und Musik, können zudem über einen Webzugang direkt genossen werden. Die von Dropbox angebotenen Ubuntu-Pakete laufen unter Debian aber nicht, ohne Probleme mit den Abhängigkeiten zu verursachen. Es ist aber leicht möglich sich selbst ein Debian Paket zu erstellen.
500m
 
Openoffice: ganzseitige Hintergrundgrafik verwenden
In Openoffice ist es etwas umständlich ein Bild als ganzseitigen Hintergrund zu verwenden. Hier ein paar Tipps wie es trotzdem zu bewerkstelligen ist.
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.
Nutzerdaten-Erfassung
 
Nutzer löschen
 
Debian Infiniband HOWTO
The infiniband technology is featured by open source components and drivers. Unfortunately the well known OFED a software stack from the OpenFabrics Alliance focuses on RPM based distributions. This howto shows a way to create a working infiniband setup with IP-over-Infiniband and iSCSI-over-Infiniband.
Roundcube per FastCGI mit Nginx unter Debian
Erichtung des Webmailers Roundcube, zusammen mit dem Webserver Nginx und FastCGI auf einem Debian System.
E-Mail Thunderbird HowTo - SMTP
 
Plone mit authentifiziertem WGet auslesen
Hier wird erklärt wie man Plone mit wget auslesen kann. Wesentlich ist hierbei die Authentifizierung welche über cookies laufen kann.
E-Mail-Konto-Verwaltung
 
Nutzer aswählen
 
Passwort ändern
 
Nutzer hinzufügen
 
Plone 3 Themes
Eine kleine Übersicht über die funktionierenden Plone 3 Themes. Stand: 31.01.2010.
Howto install SCST over Infiniband with SRP on Debian Sqeeze
Here you may learn about SCST over infinband, its installation and configuration. How to compile the modules for scst, and the SRP-Target ib_srpt. How to configure SCST with scstadmin. How to configure the initiator side with ib_srp and multipathing.
Zope2 + CMF mit buildout installieren
Eine kurze Anleitung wie man Zope2, CMF per buildout installieren kann.
Optimierung der Konfiguration von Nginx für Zope / Plone
Sinnvolle Timeouts, Aktivierung der Komprimierung (ZIP), maximale Dateigröße für Uploads...
Inhalte in Plone anlegen oder manipulieren mit einem Python-Skript
Um schnell mal Inhalte in Plone anzulegen oder zu manipulieren, kann man sich eines Script (Python) im Zope Management Interface (ZMI) bedienen.
APT-Pinning
Debian bietet mit APT-Pinning die Möglichkeit verschiedene Paketquellen aus z.B. Testing & Unstable mit unterschiedlichen Prioritäten zu versehen.
Filezilla als FTP-Client für Zope verwenden
Ein FTP-Nutzer darf sich an einem Zope-Server nur einmal zur gleichen Zeit anmelden. Filezilla baut standardmäßig aber mehrere Verbindungen auf um die Dateien zu übertragen, dies führt dann zu einem Fehler beim Übertragen des Warteschlangeninhalts. Nachfolgend wird beschrieben, wie man Filezilla so konfiguriert, dass es mit Zope zusammen arbeitet.
Domain Registration
So muss eine Domain registriert werden
Plone: Rechte eines Benutzers auf ein Objekt prüfen
Das MembershipTool von Plone stellt die Funktion checkPermission zur Verfügung die auch im globalen Namensraum verfügbar ist. Mit dieser kann man prüfen ob ein User eine Permission auf ein Objekt hat oder nicht.
Thunderbird: Kopfzeilen beim ausdrucken von E-Mails verringern
Beim drucken von E-Mails werden oft alle Kopfzeilen mit ausgedruckt, was in einigen Zeilen über dem eigentlichen Inhalt resultiert. Dies läßt sich aber recht leicht umstellen so, dass nur noch die wichtigen Informationen wie Betreff, Absender, Datum und Empfänger mit gedruckt werden.
E-Mail Outlook Howto - Adresse
 
vexim Login
 
z3c.form Tutorial
Flexible Formulare erzeugen mit Hilfe des Paketes z3c.form.
Felder sortieren mit archetypes.schemaextender
Ein kurze Anleitung, wie man mit dem archetypes.schemaextender Felder innerhalb eines schematas sortieren kann.
TinyMCE Resource Types
 
Ein mit PloneFormGen erstelltes Formular in TinyMCE & co verlinken
In Editoren wie dem TinyMCE, können oft nicht-Standard Inhalte nicht beim hinzufügen von Links usw. ausgewählt werden.
TinyMCE Linkable Objects
 
Plone: per GenericSetup (GS) Abhängigkeiten (dependencies) definieren
Durch dependencies können, benötigte Packages bei der Installation über den portal_quickinstaller gleich automatisch mit installiert werden.
Kollektionen und Bildverhalten in Plone mittels ATContentTypes Tool konfigurieren
Im ATContentTypes Tool von Plone, können sowohl die Einstellungen für Kolletionen als auch die Einstellungen für die Skalierung von Bildern vorgenommen werden. Nachfolgend zeige ich wie man die Einstellungen per Generic Setup bestimmen kann.
Plone: aktuellen Benutzer ermitteln
Den angemeldeten Benutzer ermitteln und Informationen und Einstellungen des Benutzers auslesen und ändern.
Suchen von Inhalten im portal_catalog von Plone
Ein paar Beispiele wie man im portal_catalog Dinge suchen kann...
Plone Referenzen exportieren/importieren
Da beim umbenennen/verschieben vom Plone Root die Referenzen verloren gehen, sollte man diese vorher exportieren und danach wieder herstellen.
19825_trj001.gif
 
Ausbreitung der radioaktiven Wolken aus Japan
NOAA HYSPLIT Modellrechnungen für die Bewegung der radioaktiven Wolken ausgehend vom Fukushima AKW in Japan
2011_2:00
 
Zope Schema Fields
Darstellung der Zuordnungen von Zope Schema Fields und Widgets
Autovervollständigung in der Standard Python-Shell
Autovervollständigung und persistente History in der Standard Python-Shell aktivieren.
14102_trj001.gif
 
19105_trj001.gif
 
Das Plone 4 Benutzerhandbuch
Das Plone 4 Benutzerhandbuch enthält eine Dokumentation des Content-Management-Systems Plone in der Version 4. Es richtet sich an Benutzer, die als Autoren und Redakteure mit Plone arbeiten sowie an Administratoren, die eine Plone-Website konfigurieren und administrieren.
Plone: Nutzer automatisch anmelden
Nach einem Signup, kann es sinnvoll sein den Nutzer mit seinen gerade eingegebenen Daten sofort anzumelden.
Python Package bauen und auf PyPi veröffentlichen
Ein eigenes Python Package erzeugen und es auf PyPi veröffentlichen ist eigentlich recht einfach.
Bazaar als VCS verwenden
Bazaar ist ein dezentrales Versions Verwaltungs System (VCS) und ist daher sehr flexibel einsetzbar.
Nutzer löschen - Bestätigung
 
Erste Schritte in Bazaar
Eine kleine Einführung in die Verwendung von Bazaar
Plone: Archetypes Schemata und Fields
In Plone sind die einzelnen Archetypes Felder in einzelne Schemata unterteilt. Man kann sich leicht eigene im Schema definieren und ihnen Felder zuweisen. Auch ist es möglich vorhandene Standardfelder in andere Schemata zu verschieben.
Zope Events selbst auslösen
Zope Events ermöglichen es auf bestimmte Aktionen zu reagieren. Hin und wieder möchte man selbst ein Event für ein Objekt auslösen...
Exim - Spamfiltereinstellungen Testen
Spambehandlung von Exim mit einer selbst erzeugten Spam E-Mail testen.
"Dynamic MMap ran out of room bei APT," Meldung beheben.
bei apt-get update kommt es manchmal zu einer Fehlermeldung. Diese lässt sich durch eine Änderung in der Konfiguration von APT beheben.
Zope: ZODB Demo Storage einrichten
Mit einem ZODB Demo Storage kann eine Temporäre ZODB geschaffen werden. Dies ist z.B. für Test und Demo Systeme nützlich, in denen man die Daten nach einer gewissen Zeit verwerfen möchte.
Target Daemon (tgtd) - tgtadm
 
Python Packages releasen mit zest.releaser
Releasemanagement mit zest.releaser ist sehr einfach und komfortabel. Unterstützt werden eine Reihe von VC-Systemen wie z.B. SVN, Mercurial und Bazaar. Auf einfache Art und Weise ist es so möglich seine Packages im PyPi (Python Package Index) zu veröffentlichen.
CDB Datenbank-Dateien mit python-cdb
Anlegen und verwenden von CDB-Datenbank-Dateien mit python-cdb.
DataGridField
Methoden eines DataGridFields, Schema-Beispiel, ...
Debian unter KVM mit virt-install installieren
Remote-Installation eines Debian Lenny mit virt-install und virt-manager von einem iso-image.
Doppelte Log Einträge im Python logging Modul
Bei einem log Befehl wird der Text mehrfach dargestellt.
Eigene ContentTypes für LinguaPlone aufbereiten
Mit LinguaPlone lassen sich beliebige Inhalte in mehrere Sprechen übersetzen. Die Unterstützung ist per Default auch für die eigenen CT's aktiviert. Jedoch gibt es ein paar Stellen, auf die man besonders achten muss.
howto change and export colors of directory listings in debian
Colored directory listong in the console are very helpful to get a overview of different file types. But the standard coloring scheme does not work very well with e.g. a yelloish console background. Here you find a solution how to change the colors of the different filetypes easily and also how to export these colors to other servers.
.htaccess
Apache Zugriffssteuerung mittels .htaccess-Dateien
ID-Manipulation in Plone
Wie kann ich bei gesetztem _at_rename_after_creation Einfluss auf den ID String nehmen?
Nginx für URLRewriting & Loadbalancing vor Zope
Der schlanke Webserver Nginx dient uns zum Umschreiben der URL's auf die Zope Struktur und für eine einfache Lastverteilung auf die Zopeclients im Backend.
Zope: ZEO-Client/Server mit Buildout einrichten
Ein Plone3 Buildout erstellen und als ZEO-Client/Server konfigurieren.
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.
Zope Eventhandler in Plone für Archetypes Objekte verwenden
Zope 3 Events sind eine feine Sache, aber welche der vielen zur Verfügung stehenden Eventhandler, benutzt man am besten um auf Änderungen an Archetypes Objekten zu reagieren?