Metamorphose

Frontier 5.1 - Website-Management für MacOS und Windows 95/NT

Test & Kaufberatung | Test

Nach einem kommerziellen Mißerfolg Anfang der 90er Jahre und einer Interimsperiode als Freeware wagt die Softwareschmiede Userland mit Frontier 5.1 einen Neuanfang. Aus dem kostenlosen Skriptwerkzeug für Mac-Enthusiasten ist ein kommerzielles, plattformübergreifendes und flexibles Website-Management-System geworden.

Der Ansatz von Frontier, komplette Websites dynamisch per Skript zu erstellen, mutet ungewohnt an. Bisher kümmern sich Skripts, meist in Form von in C oder Perl geschriebenen CGIs, eher um einzelne Seiten. Frontier dagegen packt die erforderlichen Skripts und Voreinstellungen nebst Texten und Bildern in eine eigene Datenbank und 'rendert' nach Abschluß der inhaltlichen Arbeiten die Seiten als HTML-Text auf die Festplatte oder per FTP auf den Webserver. Die Vorteile dieses Verfahrens werden um so deutlicher, je größer das Datenaufkommen ist: Das Design läßt sich unabhängig vom Inhalt bearbeiten, wenn eine globale Änderung des Seitenlayouts angebracht ist. Standardeinträge wie die Zeit des letzten Updates, Autoren und häufig gebrauchte Links sind als Makros oder Glossarreferenzen im Fließtext oder in HTML-Vorlagen für Page Header (templates) untergebracht und werden beim Ausgeben der HTML-Files 'ausgerechnet' und eingefügt.

Die 'root', wie die Objektdatenbank von Frontier heißt, war einst als Antwort auf die Frage konzipiert worden, wo erstellte Funktionen zur leichteren Pflege, Wiederverwendbarkeit und klaren inhaltlichen Anordnung aufzuheben wären. Der Anklang an 'root directory' ist keineswegs zufällig: In der Tat legt Frontier Objekte in einer hierarchischen Struktur ab, ähnlich der Dateiverwaltung eines Betriebssystems. Nur heißen hier die Verzeichnisse 'tables', und die 'root' ist, als einzelne Datei, im Zugriff wesentlich schneller als eine Dateistruktur auf der Festplatte. Die andere Assoziation, die sich aufdrängt, ist das Objektmodell beispielsweise von JavaScript: Auch Frontier kennzeichnet Objekte durch eine eindeutige Adresse (etwa 'system.verbs.builtins'). Sie können per Skript angelegt, aufgerufen, ausgelesen, gelöscht oder weiterverarbeitet werden. html.commands.releaseRenderedPage() zum Beispiel gibt den Text, der gerade bearbeitet wird, als HTML-Seite aus. Die Datenbank kennt 31 Objekttypen: neben booleschen und Datumswerten, diversen String- und Zahlentypen sowie Records gibt es auch Typen für Listen, Adressen und Binaries. Deren Werte bearbeitet man direkt in der table, während für die Frontier-typischen Objekte Skript, Outline, Text und Menü-Bar jeweils ein eigener Editor zur Verfügung steht. Ein erheblicher Teil der Funktionalität von Frontier ist in Form von Skripts implementiert; wer will (oder im Notfall darauf angewiesen ist), kann im Debug-Modus den gegenseitigen Aufrufen der Skripts so weit folgen, bis er schließlich bei einem Kernelaufruf landet. Nebenbei lassen sich die Werte der Variablen in einer Lookup-Tabelle betrachten.

Die flexible Architektur der root macht so manchem Anfänger zu schaffen, hat aber im Laufe der Jahre sowohl ihre Eleganz als auch ihre Zweckmäßigkeit unter Beweis gestellt. Zu den Vorzügen des Konzepts zählt die leichte Weiterverwendbarkeit einmal geschriebener Funktionen; Abstraktionsmöglichkeiten nach 'oben' und 'unten' förderen strukturiertes Arbeiten. Auch der soziale Aspekt ist nicht zu vernachlässigen: Beiträge aus der User-Community ergänzen die von Userland mitgelieferten, umfangreichen Grundfunktionen und machen die 'root' zu einem Speicher von Erfahrungen und Verfahrensweisen im Umgang mit verschiedensten Aufgabenstellungen. Als Beispiel seien hier etwa die HTML-Makros genannt, die auf Wunsch automatisch die beliebten 'weiter/zurück'-Links in eine Seite einfügen. Ein anderes Beispiel sind die glue-Skripts: dieser 'Klebstoff' erleichtert auf dem Mac das Steuern von Applikationen, ohne daß der Programmierer sich mit den Details der AppleEvents herumschlagen müßte. Glue-Skripts gibt es praktisch für jedes Programm, das mehr als die 'required suite' an AppleEvents unterstützt, häufig sogar schon vom Hersteller. In die neueste Version hat Userland die Möglichkeit eines Online-Updates eingebaut - per TCP/IP immer auf dem neuesten Stand.

Die Portierung nach Windows und die Verlagerung des Schwerpunkts auf Web-Management war für Userland eine strategische Entscheidung - Userland-Chef Dave Winer bezeichnet Windows mittlerweile als die 'Konsens-Plattform'. Und: 'Scripting ist kein Markt, das gehört den Betriebssystemherstellern. Aber Web-Management ist einer.' Die Portierung ist gelungen, Kinderkrankheiten, die noch die (Freeware-)Windows-Version 5.0 plagten, sind weitgehend geheilt. Threads sind implementiert. Die Bedienung der beiden Plattformversionen ist identisch, die High-Level-Verben greifen bei plattformabhängigen Funktionen auf angepaßte Basisskripts zurück. Außerdem lassen sich selbstgeschriebene C-Funktionen, für die auf dem Mac zum Beispiel das von Hypercard her bekannte XCMD-Format zur Verfügung stand, heute bereits plattformübergreifend als DLLs einbinden.

Nun macht aber die Fähigkeit, HTML-Seiten per Skript herzustellen, aus einem Programm noch kein Content-Management-System. Den unterschiedlichen Anforderungen an ein solches System trägt Userland mit einer Vielzahl von neuen Fähigkeiten Rechnung. So erlaubt etwa die 'Content Server'-Suite, Benutzer in einem Frontier-gesteuerten Workflow anzumelden, ihnen Rechte zuzuweisen und Folder im Netzwerk automatisch zu überwachen. Der schon in Version 4 vorhandene Webserver rutschte in den Kernel und macht Frontier zu einem echten, stabilen Webserver, der Seiten aus dem Filesystem, aus der eigenen Objektdatenbank oder - analog zu CGI - dynamisch generiertes HTML liefert. Ermöglicht wird dies durch eine Skriptsammlung mit dem Spitznamen 'Betty', auch Responder genannt. Sie warten auf HTTP-Requests und lösen bei der richtigen URL entsprechende Aktionen aus. Ferner verfügt Frontier über einen nicht-validierenden XML-Parser, der sich über spezielle Responder auch von außen ansprechen läßt. Für die Praxis bedeutet dies, daß HTTP-POST-Requests an Frontier geschickt werden können, die in ihrem Body XML-kodierte Skripts oder Datenbankobjekte mitliefern. Ob diese Requests von einer anderen Frontier-Applikation irgendwo auf der Welt, von einem Java-Applet oder sonst einem XML-fähigen Client kommen, spielt keine Rolle. Was sich in Zukunft mit XML und Frontier noch alles anfangen läßt, hängt von der Entwicklung des Standards, aber auch von der Phantasie der Programmierer ab - vorgesorgt ist jedenfalls.

Ein gutes Beispiel für einen Frontier-gesteuerten Workflow läßt sich unter http://goodwill.siphoto.com/ studieren: Die US-Zeitschrift 'Sports Illustrated' macht dort die Ausbeute ihrer Fotoreporter bei den kürzlich zu Ende gegangenen 'Goodwill Games' der Weltpresse zugänglich. Man kann Bilder nach Datum oder Sportart suchen lassen und bekommt eine Seite mit den Treffern angezeigt. Ein Klick auf ein Thumbnail zeigt dann das Photo in Bildschirmauflösung, nach einer kurzen Registrierungsprozedur kann man das Bild auch in 300 dpi herunterladen.

Frontier kommuniziert dazu via Component Object Model (COM ) mit einem Microsoft-Webserver, bearbeitet die Suchanfragen und liefert den HTML-Text zurück. Bei der Einspeisung der Bilder wacht Frontier über ein Eingangsverzeichnis und speichert in der Objektdatenbank die Bildinformationen (Fotograf, Ort et cetera). Per XML-RPC (Remote Procedure Call) werden diese Informationen an eine der entfernten Maschinen übergeben. In der Tat bieten sich erfahrenen Benutzern eine Vielzahl von Möglichkeiten, selbst Hand anzulegen. Doch erfordert die Flexibilität von Frontier auch mehr Eigenleistung (sprich Programmierung) als ein Web-Management-System von der Stange.

Syntaktisch erinnert die Frontier-Sprache UserTalk an C, ist aber hinsichtlich der Datentypen nicht so rigide: Wo es möglich und sinnvoll ist, erledigt sie Typumwandlungen implizit. UserTalk kennt die üblichen for-, while-, case- und if-Statements, beherrscht Parameterübergabe als Wert und Adresse, gestattet lokale Handler und Rekursion. Das Vokabular der Sprache wächst ständig, und was fehlt, liefern in der Regel Userland oder freie Entwickler schnell nach. Auf dem Mac unterstützt Frontier auch AppleScript, und Userland hat angekündigt, eines Tages ebenfalls Perl zu unterstützen. Der Editor stellt Skripts als Outlines dar; eingerückte Zeilen lassen sich aus- und einblenden, zum Beispiel unter loop- oder if-Statements. Das Bundle-Konstrukt dient sogar einzig dem Zweck, übersichtlichen und leicht wartbaren Code zu erzeugen.

Als Ausgangspunkt für einen Schnellkurs bieten sich die Web-Tutorials [[#lit2 2]] bei Userland sowie der kürzlich bei O'Reilly erschienene Titel 'Frontier - The Definitive Guide' an. Dieses Buch deckt zwar nur Frontier 4.2.3 auf dem Macintosh ab, hat aber über weite Strecken (insbesondere hinsichtlich UserTalk) auch für Frontier 5 auf beiden Plattformen Gültigkeit. Wer mit Lingo, der Sprache von Macromedias Director, oder JavaScript zurechtkommt, dem bereitet auch UserTalk keine Schwierigkeiten; einzig die Besonderheiten bei der Verstrickung von Skriptsprache und Objektdatenbank, etwa das Dereferenzieren von Objektadressen, erfordern mehr Aufmerksamkeit.

Userlands Philosophie lautet 'mit, für und im Web' - folgerichtig kommt Frontier nicht in der Packung, sondern wird wie eine Shareware heruntergeladen, direkt bei Userland bezahlt und per Seriennummer freigeschaltet. Während Frontier 5.01 weiterhin kostenlos erhältlich ist [[#lit3 3]], müssen professionelle Anwender für die neue Version tief in die Tasche greifen. Die Preise sind gestaffelt und gelten für Jahreslizenzen: Für den kommerziellen Gebrauch sind 899 US-$ fällig. Sogenannte Partner müssen gar happige 5999 US-$ berappen, sollen dafür aber Einfluß auf die Richtung der weiteren Entwicklung, Priorität bei Bugfixes und Anspruch auf umfangreiche Hilfestellungen seitens Userland haben. Nach der Einführung einer 99-US-$-Lizenz für Studenten, Universitäten und gemeinnützige Organisationen beruhigte sich die anfänglich hitzige Diskussion über das 'Abo-Modell' wieder etwas. Der kostenlose Einsatz als reine Skriptumgebung auf dem privaten Rechner ist nicht vorgesehen. Hierfür muß man notgedrungen auf Version 5 zurückgreifen.

Die Philosophie, Form (Template) und Inhalt (Fließtext) zu trennen, begünstigt in Frontier zunächst eher textzentrierte Websites ohne Frames oder komplizierten Tabellensatz, wie er von visuell orientierten Tools gern benutzt wird. Dem läßt sich aber mit ein paar geschickten Makros entgegenwirken; ohnehin liegt vielen Profis die Kontrolle über den Quelltext mehr am Herzen als das einfache Verschieben von Tabelleninhalten. Zudem erweist sich im Alltagseinsatz spätestens beim dritten Update der News-Seite oder einer globalen Designänderung der programmatische Ansatz als überlegen. Frontier-Suiten wie 'Content Server' und 'People' bringen übersichtliches Workflow-Management hinzu und erleichtern bei mehreren Beteiligten die Arbeit an großen Websites.

Als Webserver und Editor mit eingebauter Datenbank, eigener Skriptsprache, XML-Unterstützung und Workgroup-Fähigkeiten besetzt Frontier eine Nische in der Softwarelandschaft, irgendwo zwischen HTML-Editor, Perl und einem Webserver mit Relationship-Management-Funktionen. Für Administratoren großer Websites, die sich von einer flexiblen Workflow-Lösung Arbeitserleichterungen versprechen, lohnt sich ein genauer Blick durchaus - trotz des saftigen Preises. (adb)

[1] Christoph Pingel, Grenzgänger, Apple-Scripting mit UserLand Frontier 4.2.3, c't 7/97, S. 73

[2] Frontier Web-Tutorials, http://www.scripting.com/frontier5/tutorials/web/

[3] Frontier 5.01, http://www.scripting.com/frontier5/downloads/default.html

[#anfang Seitenanfang]



Frontier 5.1.3 für MacOS und Windows 95/NT
Hersteller UserLand Software, P.O. Box 1218, Burlingame, CA 94011-1218
Fax +1 (650) 685-0867, EMail sales@userland.com
Preis 99 bis 5999 US-$ pro Jahr
Testversion http://www.userland.com/frontier/trial.html
Anzeige
Anzeige