Die Konfigurationsdatei des Repoze-Projekts etc/zope2.ini
gliedert sich in folgende Abschnitte:
[Default]
Dieser Abschnitt enthält globale Angaben. Zunächst ist nur folgendes angegeben:
debug = True
Hiermit wird das Repoze-Projekt üblicherweise im Debug-Modus gestartet, wobei hiervon nicht nur der Zope-Server, sondern auch weitere Paste-Middleware beeinflusst werden kann.
[app:zope2]
In diesem Abschnitt wird die zope2
-WSGI-Anwendung definiert.
paste.app_factory
Paste-spezifische Angabe für den Aufruf einer WSGI-Anwendung.
Die weiteren Angaben dieses Abschnitt sind Konfigurationen von obob
, einem Object Publishing Framework für Repoze.
zope.conf
gibt den Ort der Zope-Konfigurationsdatei an, wobei %(here)s
eine Paste-Konvention für das Verzeichnis ist, in der die Paste-Konfigurationsdateien liegen.
[pipeline]
Abschnitt, der jeweils eine WSGI-Pipeline definiert. Eine Pipeline kann aus keiner oder mehr Middleware und einer Anwendung bestehen:
[pipeline:main]
pipeline = egg:Paste#cgitb
egg:Paste#httpexceptions
# egg:Paste#translogger
egg:repoze.retry#retry
egg:repoze.tm#tm
egg:repoze.vhm#vhm_xheaders
errorlog
zope2
In dieser Konfiguration steht zope2
am Ende und verweist auf die im Abschnitt [app:zope2]
definierte Zope-WSGI-Anwendung.
egg:Paste#cgitb
Exception handler, der die Ausgabe des tracebacks coloriert. Es können auch andere exception handler, wie z.B. evalerror, verwendet werden:
egg:Paste#evalerror
egg:Paste#httpexceptions
gibt für bestimmte Python-Exceptions entsprechende HTTP-Exceptions aus, z.B. 404 Not Found
, 302 Redirect
, 401 Unauthorized
.
egg:Paste#translogger
Wird der translogger
eingeschaltet, wird das Access-Log in der Konsole ausgegeben.
egg:repoze.retry#retry
Implementierung einer retry policy, wobei konfiguriert werden kann, bei welchen Fehler eine erneute Anfrage erfolgt und wie oft eine solche Anfrage wiederholt wird.
egg:repoze.tm#tm
Implementierung der ZODB transaction management policy. repoze.tm
kann auch verwendet werden um Transaktionen z.B. von relationalen Datenbanken oder von Dateisystem-Operationen zu steuern.
egg:repoze.vhm#vhm_xheaders
Zope’s Virtual Host Monster entsprechende WSGI-Middleware. Die Schreibweise unterscheidet sich zwar, die Wirkung ist jedoch dieselbe (s.a. README.txt).
errorlog
Ersatz für Zope2’s error_log
.
[server:main]
Dieser Abschnitt definiert, welcher HTTP-Server in welcher Konfiguration verwendet wird. Statt des ZServers könnte hier auch Paste, WSGIUtils oder cherrypy angegeben werden. Einen Überblick über verschiedene Server-Konfigurationen finden Sie hier: In the Fitting Room: Trying on WSGI Servers.