- Subversion (Repository)
- Subversion (Web-Ansicht)
- Zuletzt veröffentlichte Version: 0.3.4 ( Eintrag im Python-Package-Index)
- Lizenz: Zope Public License (ZPL) 2.1
- Dokumentation (englisch)
- Pläne (englisch)
- Änderungen (englisch)
Was ist Ophelia?
Ophelia ist ein Python-Paket, das XHTML-Seiten aus Templates zusammensetzt. Es wird auf einem Webserver eingesetzt und erstellt jede Seite in dem Moment, in dem sie angefordert wird.
- Ophelia vermeidet wiederkehrenden Code.
- Text und HTML-Strukturen, die allen Seiten in einem Verzeichnis gemein sind, werden in einem gemeinsam genutzten Template abgelegt. Aus welchen Templates eine Webseite besteht und wie sie zusammengefügt werden, ergibt sich direkt aus der URL. Dadurch muß nicht einmal für jede Seite erneut notiert werden, welche Templates sie benötigt.
- Ophelia ist dynamisch.
- Templates werden in TAL, der Template Attribute Language von Zope, geschrieben. TAL ist XHTML mit der Möglichkeit, den Inhalt von DOM-Elementen und Attributen aus Kontextvariablen zu holen. Der Kontext wird durch Python-Skripte bearbeitet. Ein Template teilt sich zwar der einfacheren Handhabung halber eine Datei mit dem zugehörigen Skript, dennoch besteht eine saubere Trennung von Python-Code und XHTML-Inhalt.
- Ophelia arbeitet mit Dateien.
- Alle Templates und Skripte liegen im Dateisystem des Servers. Dadurch kann man den Inhalt der Seiten einfacher als in einer relationalen oder Objektdatenbank mit den üblichen Textwerkzeugen bearbeiten und unter Versionskontrolle halten. Andererseits möchte man auf diese Weise sicher keine komplexen Anwendungen programmieren; für viel mehr als »SSI auf Drogen« ist Ophelia nicht zu empfehlen.
Ophelia wird unter anderem eingesetzt, um diese Website auszuliefern. Weitere Anwendungsbeispiele finden sich bei Powered sites.
Verwendung von Ophelia
Wie bringt man Ophelia dazu, Webseiten zu erzeugen, nachdem man es installiert und einige Templates geschrieben hat? Version 0.3 bietet drei Möglichkeiten, Ophelia zu nutzen:
- einen Request-Handler für mod_python, die Python-Schnittstelle für den Apache-Webserver,
- eine WSGI-Anwendung und einen einfachen HTTP-Server, der diese Anwendung benutzt, und
- ein Skript, das eine einzelne HTML-Seite aufbaut und auf die Standardausgabe schreibt.
Die Dokumentation von Ophelia enthält ein kleines Anwendungsbeispiel, das auf dieser Site installiert ist und erläutert wird.
Eine genauere Beschreibung findet sich in der (englischsprachigen) Dokumentation des Projekts. Als Einstieg empfiehlt sich die Datei README.txt.
Bestandteile des Pakets
Das Paket ophelia besteht aus Funktionen, die Templates und
Skripte zusammensuchen und daraus Webseiten bauen. Daneben gibt es einige
Werkzeuge im Paket ophelia.tool:
ophelia.tool.navigation- Erstellt einen Navigationsbaum und einen Verzeichnispfad.
ophelia.tool.metadata- Datums- und Cache-Funktionen