Manfred Schwendinger, Stefan Kainbacher

Digital Publishing Tool

Content Management System auf der Basis von Macromedia Flash

http://www.dpt.at/

http://www.dpt.at/

Technische Beschreibung

(Auszug aus der Diplomarbeit von Manfred Schwendinger)
Grundschema: Stark vereinfachte Darstellung
Grundsätzlich werden Daten (Bilder, Texte etc.) von externen Quellen importiert, in WURZELWERK durch den Benutzer verwaltet und als fertige Internetseite wieder exportiert. Wird etwas geändert, so wird der alte Extrakt überschrieben. In manchen Fällen werden die Daten direkt im System erzeugt. Dies ist beispielsweise bei Textelementen der Fall. Damit die Daten in Flash verarbeitet werden können, müssen sie in einem mit Flash kompatiblen Format vorliegen. Texte können beispielsweise in TXT-Dateien vorliegen, Bilder entweder als JPG oder direkt als SWF-Dateien. Um aus Bildern SWF-Dateien erstellen zu können, sind Zwischenschritte erforderlich. So wird ein Bild beispielsweise mit einem Flash Generator komprimiert und in eine SWF-Datei gepackt. Dann wird sie im CMS verwaltet und als fertige, abrufbare SWF-Internetseite wieder verfügbar gemacht. Der Endbenutzer ruft dabei aber immer die fertig geschriebenen SWF-Dateien auf und benötigt keine Abfragen der Datenbank. Die in WURZELWERK erstellten Internetseiten bestehen im Wesentlichen aus einer Menüstruktur und diversen Seiten, welche wiederum aus Elementen (die zuvor in das System importiert oder direkt im System erstellt wurden), die in einer bestimmten Ordnung (laut Vorlage/Template) zusammengesetzt sind, bestehen. Die Visualisierung des Contents (also der Elemente) wird von der Darstellung komplett getrennt. Das bedeutet, dass Elemente (Texte, Bilder etc.), die vorhanden sind, durch eine Vorlage zu einer visualisierten Seite zusammengesetzt werden. Die jeweilige Seiteninstanz merkt sich dazu nur die verwendeten Elemente und das Template. Dann wird aus diesen die fertige Seite zusammengestellt und abgespeichert. Die Menüstruktur besteht aus verschiedensten Menüpunkten und ihren Bezeichnungen, die jeweils mit der ID einer Seiteninstanz verknüpft sind. Wird ein Menüpunkt gedrückt, wird die Seite mit der entsprechenden ID geladen.
Technische Erklärung zum Standardbetrieb
Im Standardbetrieb - darunter wird die Benutzung der Seite ohne Verwendung des CMS verstanden - sind die Prozesse sehr einfach aufgebaut. Es gibt einen Client - der Rechner des Benutzers - und einen Server, auf dem alle benötigten Dateien (auf der Festplatte) vorliegen. Diese werden über HTTP vom Client angefordert. Der Server gibt die gewünschten Dateien dann an diesen zurück. Der Client ist ein Computer mit Internetbrowser und einem entsprechenden Flash-Plugin, der Server ein Internet Information Server. Die somit statischen Seiten basieren auf SWF-Dateien, die im Browser des Clients dargestellt werden. Diese verwenden zum Teil externe Daten, welche als TXT-, oder XML-Dokumente ebenfalls auf dem Server vorliegen. Alle Inhalte, die dargestellt werden, wurden zuvor im CMS erstellt oder in dieses importiert. WURZELWERK unterscheidet sich im Standardbetrieb nicht von anderen auf Flash basierenden Internetseiten.
Technische Erklärung zum CMS Betrieb
Im CMS-Betrieb nimmt die Komplexität der Zusammenhänge zwischen den einzelnen Modulen auf dem Server und auf dem Client im Vergleich zum Standardbetrieb stark zu. Hier kommt es vor allem auf dem Server zu verstärkten Operationen. Als wichtige Komponenten kommen hier ASP-Skripte, eine Datenbank und ein Flash-Generierer -bei WURZELWERK handelt es sich um JGenerator 2 - zum Einsatz. Wenn ein Benutzer von der normalen Internetseite in den CMS-Modus wechselt, so lädt die Applikation zusätzliche Filme auf freie Ebenen in den Hauptfilm (_level0). Dabei handelt es sich um die Datei "mainCMS.swf", welche die wichtigen CMS-Funktionen beinhaltet, die Datei "box.swf", in welche dann die jeweiligen Element-Eigenschaftsboxen geladen werden und die Datei "selection.swf", welche die Markierung für das gewählte Element visualisiert. Die Datei "mainCMS.swf" bildet die Basis für das komplette Content Management System. Klickt der Benutzer auf ein Element, so wird eine Eigenschaftsbox für die Bearbeitung des Elements geladen. Wenn dann Einstellungen geändert und gespeichert werden, sendet die Applikation diese Daten an eine ASP-Datei, welche die Informationen in die Datenbank einträgt und danach die entsprechende Datei wieder auf die Festplatte schreibt. Im Folgenden sind einige wichtige Abläufe von Client und Server beschrieben.
Datenbank
Die Frage, welche Datenbank verwendet werden soll, richtet sich üblicherweise nach Geschwindigkeit, Kompatibilität, Stabilität, Treibern und nach dem Preis. Da WURZELWERK nur Datenbankzugriffe während der Administration der Seite - also während der Verwendung des CMS - benötigt, ist die Geschwindigkeit als Auswahlkriterium nur zweitrangig. Während der Verwendung des CMS werden Daten aus der Datenbank ausgelesen, aktualisiert oder eingefügt, dann werden mit Hilfe dieser Daten TXT-, XML- oder Flash-Dokumente erstellt. In der Datenbank sind keine speziellen Programmierungen notwendig, da Verknüpfungen etc. von außen durch die Middleware (ASP) gesteuert werden. Die Datenbank enthält also eigentlich nur einige Tabellen mit Datensätzen, die per SQL ausgelesen oder geschrieben werden. Diese Anforderungen erfüllen zahlreiche Datenbanken. Die Frage, ob deshalb mit MySQL oder mit einer Microsoft Access Datenbank gearbeitet werden soll, richtet sich deshalb ehr nach dem verwendeten Server (Apache oder IIS). Da WURZELWERK für einen IIS entwickelt wurde, fiel die Entscheidung auf eine Access Datenbank, die Verwendung einer mySQL Datenbank würde aber keine wesentlichen Nachteile ergeben. Eine leistungsstärkere Datenbank wie Oracle oder Microsoft SQL Server ist nicht notwendig. Die Datenbank dient bei WURZELWERK nur als Werkzeug im Hintergrund. Alle Daten werden immer auf der Datenbank gespeichert und im CMS-Betrieb teilweise auch direkt von dieser wieder über ASP ausgelesen. Im Normalbetrieb wird die Datenbank nicht mehr benötigt, da bei allen Änderungen immer gleich die entsprechende Datei mit den Informationen aus der Datenbank auf die Festplatte geschrieben wird. Es wäre jedoch sehr aufwändig, die Daten aus diesen geschriebenen Dateien wieder auszulesen, zumal diese sehr unterschiedlich sind und mit verschiedenen Formaten gearbeitet wird (Name/Value Paare und XML-Dokumente). Aus diesem Grund werden die Daten in einer Datenbank zusätzlich abgespeichert, von der sie sehr leicht und strukturiert wieder abgefragt werden können. Alle Tabellen auf der Datenbank sind mit anderen verknüpft, da auch in WURZELWERK logische Beziehungen zwischen allen Komponenten bestehen. So ist jeder Menüpunkt mit einer Seiteninstanz verknüpft. Jede Seiteninstanz ist einem Template und verschiedensten Textfeldern oder Elementen zugeordnet. Diese wiederum sind diversen Elementtypen zugeordnet.
Technischer Hintergrund
Um WURZELWERK umsetzen zu können, sind verschiedene Technologien notwendig. Flash stellt dabei hauptsächlich das Front-End dar, wobei sich im Back-End die Datenbank befindet und verschiedene serverseitige Abläufe stattfinden. Alle Änderungen im System werden in der Datenbank abgespeichert. Mit Hilfe dieser Informationen werden dann SWF-Dateien, Text Dateien und XML-Dateien auf die Festplatte des Servers geschrieben, die dann wieder vom Front-End (Flash) dargestellt werden. Als Brücke zwischen den Daten und dem Front-End steht die Middleware.
Middleware
Für die Kommunikation zwischen der Datenbank und Flash wird eine Middleware - eine Art Brücke - benötigt. Zur Auswahl stehen beispielsweise JSP, PHP und ASP. Mit diesen Technologien kann auf Datenbanken zugegriffen und die benötigten Dateien in eine für Flash lesbare Form geschrieben werden. Da diese Grundanforderungen von allen drei Technologien erfüllt werden, können die sonstigen Vor- und Nachteile der Technologien verglichen werden. Auswahlkriterien können beispielsweise der Webserver, die anknüpfbaren Datenbanken, oder die Einfachheit der Programmierung sein. PHP hat gegenüber ASP den Vorteil, dass keine Lizenzgebühren anfallen, da es sich um ein Open-Source-Produkt handelt. PHP hat außerdem Flash-Funktionen für die Erstellung und Bearbeitung von SWF-Dateien in einer zusätzlichen Library integriert. Da ich persönlich aber mehr Erfahrungen in Active Server Pages als in PHP habe, und die Vorteile der Technologie PHP für die Umsetzung von WURZELWERK nicht relevant waren, fiel die Entscheidung auf ASP. Das System könnte aber sehr leicht auch auf PHP oder JSP adaptiert werden. Um die von der Middleware bereitgestellten Daten in Flash wieder einlesen zu können, stehen zwei Objekte zur Verfügung: das Load Variables Objekt und das XML Objekt.

Hardware / Software

Beliebiger Webbrowser mit Macromedia Flash MX - PlugIn (Entwickelt auf Microsoft IE Win + Mac und Safari)