Direkt zum Inhalt | Direkt zur Navigation

Benutzerspezifische Werkzeuge
Anmelden
Sektionen
Sie sind hier: Startseite Anhang Glossar

Glossar

 Acquisition
Acquisition ist ein Mechanismus, der es Objekten erlaubt, Attribute aus ihrer Umgebung zu erhalten. Eine ausführliche Beschreibung, wie in Zope Acquisition verwendet werden kann, finden Sie im Zope Book.
 Adapter
Adapter nehmen ein oder mehrere Objekte entgegen und liefern darauf aufbauende Objekte zurück.
Registrieren eines Adapters Mit der zcml-Anweisung lässt sich ein Adapter einfach registrieren.
 AJAX
Asynchronous JavaScript and XML.
 API
Application Programming Interface.
Schnittstelle, die Funktionen eines Programms zugänglich macht.
 Archetypes
Archetypes ist ein Framework um neue Artikeltypen in Plone aus Schemadefinitionen zu erstellen. Die Seiten zur Ansicht und zum Editieren lassen sich dabei automatisch generieren.
Siehe auch: Archetypes
 ATCT
Mit Archetypes geschriebene Artikeltypen, die zusammen mit Plone ausgeliefert werden.
 Browserlayer
Browserlayer vereinfachen die Registrierung visueller Elemente wie Views, Viewlets etc. sodass diese Elemente nur in den Sites erscheinen, in denen sie explizit installiert wurden.
Verwendung
- Zunächst wird ein Marker-Interface z.B. in vs.theme/vs/theme/browser/interfaces.py erstellt:
from plone.theme.interfaces import IDefaultPloneLayer class IThemeSpecific(IDefaultPloneLayer): """Marker interface that defines a Zope 3 browser layer. If you need to register a viewlet only for the "vs.theme" theme, this interface must be its layer. """
- Anschließend kann dieses Marker-Interface regsitriert werden in vs.theme/vs/theme/profiles/default/browserlayer.xml, z.B.:

- Schließlich können visuelle Komponenten für diesen Browserlayer registriert werden in vs.theme/vs/theme/browser/configure.zcml, z.B.:
 Buildout
Buildout erlaubt, identische Entwicklungsumgebungen einfach aufzusetzen. Hierzu nutzt buildout die Fähigkeit der setuptools, automatisch Abhängigkeiten aufzulösen und Aktualisierungen durchzuführen (s.a.: Jim Fulton: Buildout Tutorial).
 Catalog
Der Katalog ist ein interner Index der Inhalte einer Plone-Site. Dabei kann auf den Catalog auch über das ZMI als portal_catalog zugegriffen werden.
 Collective
Collective ist ein Subversion-Repository für die Plone-Community um Zusatzprodukte bereitzustellen.
 CSS
CSS ist ein Web-Standard zur Darstellung von Inhalten. Der Standard ist beschreiben auf der W3C-Website. Eine Einführung in CSS finden Sie unter
Siehe auch: Einführung in Cascading Style Sheets (CSS)
 Decorator
Ein sog. Wrapper um eine Python-Funktion oder -Klasse, die die Funktion oder Klasse als sein erstes Argument nimmt und ein beliebiges Objekt zurückgibt. In Plone werden verschiedene Decorator verwendet, so z.B. memoize zum Caching der Werte von Funktionen und Methoden und profilehooks für das Erstellen von Profilen einzelner Funktionen
Sehen Sie auch PEP 318.
 Distribution
Eine Distribution besteht in Python aus einem Verzeichnis mit einer setup.py-Datei und anderen Ressourcen. Die Metaangaben in der setup.py-Datei können u.a. die Versionsnummer, Abhängigkeiten und Lizenzinformationen enthalten.
Werkzeuge wie Setuptools, Distribute oder auch Buildout können die Metainformationen verwenden um Installationen in verschiedenen Versionen zu erhalten, Abhängigkeiten aufzulösen etc.
 DocFinderTab
DocFinderTab ist ein Produkt, das alle Klassen und Methoden eines Objekts im Zope Management Interface (ZMI) auflistet.
 Doctest
Eine spezielle Syntax zum Schreiben von Tests. Der Hauptvorteil von Doctests ist, dass sie mit dem Test auch gleich die Dokumentation mitliefern.
 DTML
DTML ist eine serverseitige Template-Sprache, mit der sich dynamische Inhalte erstellen lassen. Plone verwendet für die Erstellung von HTML jedoch ZPT, sodass DTML nur noch für nicht XML-konforme Inhalte wie SQL-Anfragen, Mail- und CSS-Generierung verwendet wird.
 Easy Install
Easy Install ist ein Python-Modul mit dem der Python Package Index durchsucht werden kann und das die Pakete in die globale Python-Umgebung installiert. Neben Buildout werden wir nur noch ZopeSkel mit easy_install installieren, alle weiteren Eggs werden von Buildout in das lokale Buildout-Projekt heruntergeladen, unter anderem um Versionskonflikte zu vermeiden.
 Egg
Ein binäres Distributionsformat, das von den Setuptools und Distribute verwendet wird. Dabei wird ür jede Plattform und jede Python-Version ein spezifisches Egg erstellt.
Daher können Source-Distributionen, die meist nur ein komprimiertes Archiv des Codes und der Metaangaben sind, flexibler eingesetzt werden. Umgekehrt muss für Paketen, die binäre Abhängigkeiten besitzen (wie z.B. in C geschriebene Erweiterungen) die notwendigen Compiler und Bibliotheken verfügbar sein, um die Source-Distribution installieren zu können.
 File descriptor
Ein file descriptor ist ein abstrakter Indikator für den Zugriff auf eine Datei.
Dabei verwendet ein ZEO-Server für jeden Storage je Client-Verbindung 3 dieser Deskriptoren. Bei einem ZEO-Server mit zehn Storages und 36 ZEO-Clients würden also 10×36×3 file sescriptors benötigt. Üblicherweise verwendet der ZEO-Server jedoch nicht die erforderlichen 1080 file descriptors sondern nur 1025. Dies führt dann dazu, dass ZEO-Clients mit der Zeit keine Seiten mehr ausliefern und in deren Log-Dateien ECONNREFUSED-Meldungen erscheinen.
Die Ursache hierfür ist, dass Python üblicherweise kompiliert wird mit einer maximalen Anzahl von 1024 file descriptors je Prozess. Dies lässt sich ändern indem in /usr/include/bits/typesizes.h der Wert für define __FD_SETSIZE hochgesetzt wird, z.B. auf 2048. Nach einem Neukompilieren von Python kann der ZEO-Server dann auch alle 1080 file descriptors verwenden.
Andreas Gabriel hat ein Skript geschrieben, mit dem sich die maximale Anzahl der Verbindungen testen lässt: zeo-check-max-connections.py
 i18n
Präparierung des Quellcodes, sodass er ohne weitere Änderung in verschiedene Sprachen übersetzt werden kann. i18n wird durch den ersten und letzten Buchstaben von Internationalization und die Anzahl der dazwischenliegenden Zeichen gebildet.
Die Übersetzungsarbeit selbst wird dann l10n genannt.
 Integrationstest
Ein Test, ob eine Komponente mit anderen Komponenten zusammen läuft. Die meisten Tests, die für Plone-Produkte geschrieben werden, sind Integrationstests da das gesamte Plone-Framework benötigt wird, um die gewünschten Testergebnisse zu erhalten. Ein Beispiel für einen Integrationstest ist der Test, ob ein Objekt eines neuen Artikeltyps erstellt werden kann nachdem dieses Produkt in einer Plone-Site installiert wurde.
 Interface
Interfaces sind ein Mechanismus um Objekte als einer bestimmten API oder einem bestimmten Kontrakt zugehörig auszuzeichnen.
Sehen Sie auch zope.interface und Design By Contract.
 jQuery
JavaScript-Bibliothek, die die Traversierung und das Event-Handling von HTML-Dokumenten vereinfacht. So lässt sich z.B. in einem Einzeiler angeben, dass alle PDFs in einem neuen Fenster geöffnet werden sollen:
jQuery("#content a[ @href $= '.pdf']").attr('target', '_blank'); Weitere Informationen zu jQuery erhalten Sie unter:

- http://jquery.com/
- http://docs.jquery.com Und mit FireQuery gibt es eine Firefox-Extension, die in Firebug integriert ist.
 Kinetic Style Sheet
In Plone 3 verwendetes AJAX-Framework.
 Kupu
Kupu ist ein graphischer HTML-Editor, der mit Plone zusammen ausgeliefert wird.
 l10n
l10n ist die Übersetzung in eine oder mehrere spezifische Sprachen. l10n wird durch den ersten und letzten Buchstaben von Localization und die Anzahl der dazwischenliegenden Zeichen gebildet.
 Layer
Ein Layer ist eine Sammlung von Templates und Skripten. Dabei bildet ein Stapel von Layern einen Skin. Im ZMI können Sie im Properties-Reiter des portal_skins-Tool die Definition von Skins über Layer sehen und im Content-Reiter sehen Sie diese Layer als Filesystem Directory View oder Folder.
 LDAP
LDAP beschreibt die Kommunikation zwischen einem sog. LDAP-Client und einem Verzeichnisdienst. EIn solches Verzeichnis kann z.B. ein Adressbuch sein, das Personendaten enthält. Der LDAP-Client kann dann ein E-Mail-Programm sein, das bei der Suche nach einer Adresse eine Anfrage an den LDAP-Server, der diese Adressinformationen bereitstellt, stellt.
LDAP ist spezifiziert in RFC 4511
 Logging
Für des Entwickelns stellt Plone einen eigenen Logger bereit: plone_log:
from logging import getLogger log = getLogger('Plone') log.info('Debug: %s \n%s', summary, text) Wie plone_log verwendet werden kann, finden Sie z.B. in setConstrainTypes.cpy:
… plone_log=context.plone_log constrainTypesMode = context.REQUEST.get('constrainTypesMode', []) currentPrefer = context.REQUEST.get('currentPrefer', []) currentAllow = context.REQUEST.get('currentAllow', []) plone_log( "SET: currentAllow=%s, currentPrefer=%s" % ( currentAllow, currentPrefer ) ) …
 Manager
Rolle, die in Zope alle Berechtigungen erhält bis auf Take Ownership.
Artikelaktionen