=pod =head1 Features von Embperl 2.0 =over 4 =item * Erlaubt das Einbetten von Perlcode in HTML/XML und andere Text Dokumente. Der Perlcode wird im Server ausgeführt und das Ergebnis zum Browser geschickt. Alle verfügbaren Perl-Module können eingesetzt werden. =item * Ermöglicht das Erstellen von Websites aus kleinen wiederverwendbaren Komponenten, in objektorientierter Art und Weise. Komponenten können sich gegenseitig aufrufen, einbetten und von einander erben. =item * Das standart Layout einer Website can einmal definiert werden und I sorgt dafür das die passenden Komponeten an die entsprechenden Stellen eingefügt werden. Die eigentlichen Seiten enthalten nur noch den tatsächlichen Inhalt und nicht gemeinsamme Elemente wie Kopf- und Fußbereich oder Navigationsleisten. Diese gemeinsammen Bereiche können dabei je Unterverzeichnis überschrieben werden. =item * Unterstützt das Trennen von Code, Layout und Daten und das Erstellen von MVC (Modell-View-Controller) Applikationen. Die Steuerlogik kann durch ein Applikationsobjekt abgebildet werden, welches den weiteren Ablauf eines Requests beeinflussen und steuern kann, während die eigentlichen Seiten nur noch den Code zur Anzeige enthalten. Für einfache Applikationen ist es jedoch, immer noch möglich allen Code in die Seiten selbst einzubetten. =item * Der Quellentext für die einzelnen Komponenten kann aus unterschiedlichen Quellen, wie Dateisystem, Speicher oder dem Ergebnis eines Apache-Subrequest kommen. Ein Subrequest erlaubt das Nachbearbeiten der Ausgabe von anderen Apache-Applikationen wie PHP, JSP, CGI-Skrips etc. =item * Komponenten können in unterschiedlichen Formaten vorliegen (z.B. HTML, WML, XML, POD, ...) und, soweit nötig, in andere Ausgabeformate (z.B. via XSLT) transformiert werden. =item * Ermöglicht die Benutzung und Definition unterschiedlicher Syntaxen, wie Embperl, ASP, Text, Perl, RTF und mehr. =item * Die Erzeugung der Ausgabe ist in kleine Schritte unterteilt, die jeweils von einem austauschbaren Provider durchgeführt werden. Das Zusammenspiel der Provider ist individuell, mittels Rezepten (recipes) konfigurierbar. =item * Erlaubt das Zwischenspeichern (Cachen) von Zwischenschritten und Ausgabe. =item * Stellt verschiedenste Features für das Webumfeld zur Verfügung, wei z.B. dynamischen Tabellen, Formularfeldverarbeitung, HTML/URL-Kodierung etc. =item * Stellt Pro-Benutzer und Pro-Seite persitente Sessiondaten zur Verfügung. Dafür ist es lediglich nötig die Daten in einem spezielle Hash abzulegen. =item * Bietet eine Reihe von Optionen zur Konfigurierung entsprechend den persönlichen Vorlieben und Bedürfnissen. =item * Vollständig integriert in Apache und mod_perl, um die beste Performance zu erreichen. Kann auch als CGI Skript laufen, Offline ausgeführt werden oder von anderem Perlprogrammen/-modulen aufgerufen werden. =item * Das Perlmodule DBIx::Recordset bietet einen von SQL abstrahierten, einfach zu handhabenden, Datenbankzugriff für Embperl. =item * I ermöglicht es das Ergebnis direkt an eine E-Mail Adresse zu versenden. =back