Apache Forrest
Apache Forrest ist ein Dokumentations-Framework zum Erzeugen von statischen oder dynamischen Websites, welches von der Apache Software Foundation seit 2002 entwickelt wird. Forrest verwendet XML als Datenbasis, XSLT für die Transformation und basiert teilweise auf Apache Cocoon. Ursprüngliches Ziel des Projektes war die Erstellung einer konsistenten und effizienten Gruppe von Projekt-Websites mit einer gleichartigen Struktur und einem übersichtlichen und einfach zu navigierenden Layout. Forrest nimmt eine vollständige Trennung von Inhalt, Präsentation und Logik einer Website vor. Zu den wichtigsten Features von Forrest zählt die Möglichkeit Inhalte einer Website in unterschiedlichen Präsentationsformaten wie beispielsweise PDF aufzubereiten ohne die XML-Daten zu ändern. Die automatische Generierung von Menü und Tabs sowie die Möglichkeit für interne, als auch für externe Links, Kurzformen zu verwenden, erleichtert dem Autor eines Projektes die Arbeit erheblich. Das Design einer Forrest-Website lässt sich anhand von Skins frei modifizieren, externe Inhalte von RSS-Feeds, lassen sich problemlos in Forrest integrieren. Weitere wichtige Features sind speziell zur Verfügung gestellte Tags, welche die Strukturierung einer Website erleichtern, sowie das Hinzufügen neuer Tags durch Modifizierung der vorhandenen Stylesheets und Dokumenttypen. Die Arbeitsschritte bei der Realisierung einer Website mittels Forrest basieren immer auf demselben Schema. Ausgangspunkt eines Forrest-Projektes ist dabei die Generierung der spezifischen Forrest-Template-Struktur. Im nächsten Schritt können die generierten Konfigurationsdateien modifiziert werden und eigene Inhalte hinzugefügt werden. Nachdem alle Dateien hinzugefügt bzw. modifiziert wurden, kann Forrest die Website entweder statisch generieren oder mithilfe eines integrierten Webservers (Jetty) starten. Bei der statischen Variante kann die erzeugte Website mithilfe eines Browsers betrachtet werden und per FTP auf den Ziel-Webserver übertragen werden. Die dynamische Variante eignet sich für eine “Live-Demo” des Projektes, kann aber grundsätzlich auch mit alternativen Servlet-Containern (z.B. Tomcat) geschehen.
Historie von Apache Forrest
Das Apache Forrest-Projekt wurde im Januar 2002 von der Apache Software Foundation gestartet. Hauptziel des Projekts war die Erstellung einer konsistenten und effizienten Gruppe von Projekt-Websites mit einer gleichartigen Struktur und einem übersichtlichen und einfach zu navigierenden Layout. Forrest wurde ein Sourceforge-ähnliches Projekt-Management-Tool. Die Version 0.5 von Apache Forrest wurde am 13.09.2003 veröffentlicht und enthielt z.B. ein neues, flexibles Tab- und Menüsystem, zahlreiche Skin-Verbesserungen sowie verbesserte PDF-Generierung. Das Projekt stieg in den Status eines “Top-Level” Apache-Projekts auf. Die aktuelle Version, welche die Grundlage dieser Dokumentation darstellt, ist 0.6 und wurde am 15.10.2004 veröffentlicht.
Apache Cocoon
Für die Generierung der Seiten und die Implementierung der Logik stützt sich Forrest auf Apache Cocoon, einem weiteren Projekt der Apache Software Foundation. “Cocoon ist ein “Publishing Framework Servlet”, dass mittels seines modularen Reaktorkonzepts ein XML-Quelldokument je nach anfragendem Client in ein beliebiges Zielformat transformiert”. Cocoon ist in Java geschrieben und basiert auf der Servlet-Technologie. Servlets sind Objekte die Anfragen an einen Webserver stellen und dessen Antwort weiterverarbeiten. Cocoon verfolgt das Konzept der Separation of Concerns (SoC), der Trennung der Zuständigkeiten. Inhalt und Logik sind in unterschiedlichen Dateien gespeichert.
Installation von Apache Forrest
Für die Installation von Apache Forrest sind folgende Schritte notwendig:
* Download der aktuellsten Forrest-Version von http://forrest.apache.org/mirrors.cgi
* Entpacken der heruntergeladenen Datei
* Hinzufügen von Umgebungsvariablen (im Beispiel für ein Windows-System)
o FORREST_HOME: C:\pfad\zu\forrest\apache-forrest-0.6\src\core
o PATH: %PATH%; %FORREST_HOME%\bin
Mit dem Kommando “forrest -projecthelp” können nun die Optionen aufgerufen und die Installation überprüft werden.
Erzeugen eines Projekts
Nach erfolgreicher Installation kann ein neues Forrest-Projekt erzeugt werden. Hierzu muss innerhalb des Forrest-Ordners ein neuer Ordner angelegt werden, z.B. “test”. Um nun die spezifische Forrest-Template-Struktur zu generieren, muss in der Konsole in das neu erstellte Verzeichnis gewechselt werden und der Befehl “forrest seed” ausgeführt werden. Alle benötigten Konfigurationsdateien werden automatisch in den neuen Ordner kopiert. Nach Erzeugung der Template-Struktur ergeben sich grundsätzlich 2 Möglichkeiten, die nachfolgend beschrieben werden.
Statisches HTML
Über den Befehl “forrest” wird das komplette Projekt in statisches HTML transformiert. Die erzeugte Website kann dann über den Browser betrachtet werden und z.B. per FTP auf einen Webserver übertragen und dort eingesetzt werden.
Webapp
Über den Befehl “forrest run” wird der in Forrest integrierte Webserver “Jetty” gestartet. Um eine Live-Demo der Website zu erhalten kann im Browser http://localhost:8888/ aufgerufen werden. Forrest kann auch mit alternativen Servlet-Containern wie Tomcat oder Resin betrieben werden.
