TYPO3 geflashed

Eine TYPO3-Benutzerverwaltung auf Basis von Macromedia Flash

Applikationen mit Flash entwickeln

Dass Flash zu mehr taugt, als Comic-Filmchen und Banner zu erstellen, sollte sich inzwischen herumgesprochen haben. Spätestens seit FlashMX2004 und der aktuellen Version der Skriptsprache ActionScript (AS 2.0) lassen sich Applikationen strukturiert und effizient aufbauen. Seine große Stärke spielt Flash vor allem bei der Erstellung und Steuerung von grafischen Benutzeroberflächen aus, um bestimmte Vorgänge einfacher und benutzerfreundlicher zu gestalten.

Flash und TYPO3

Auslöser, sich näher mit der Kombination „Flash und TYPO3“ zu befassen, war der Wunsch des Kunden, die Verwaltung der sog. Frontend-User in TYPO3 komfortabler zu machen. TYPO3 bietet standardmäßig nur sehr eingeschränkte Möglichkeiten, sich die User auflisten zu lassen und zu bearbeiten. Ziel war es, Möglichkeiten bereit zu stellen, Userdaten einfach und schnell anzeigen und editieren zu können, bestimmte User „live“ zu suchen und alle Userdaten als Excel-Datei exportieren oder aus einer Excel-Datei importieren zu können.

Die Vorteile

Mit Flash kann die gesamte Anwendung nun als „One-Screen-Application“ umgesetzt werden, so daß alle wesentlichen Funktionalitäten übersichtlich innerhalb einer einzigen Ansicht Platz finden. Hierdurch entfällt das ständige Neuladen der Seite (Request-Response). Features wie „Echtzeit-Suchen“ und ein besseres User-Feedback, die bei HTML-Anwendungen aufgrund der Zustandslosigkeit des HTTP-Protokolls nur schwer oder nur durch Technologie-Kombinationen wie zum Beispiel AJAX umzusetzen sind, stellen für Flash-Anwendungen kein größeres Problem dar.

Das richtige Look-and-Feel

Wichtig war, die Benutzeroberfläche an den Look von TYPO3 anzupassen. Die Administratoren und Redakteure sollten vertraute Bedienelemente zur Verfügung gestellt bekommen. Hierbei spielte insbesondere das „Skinning und Styling“ der Flash-Komponenten (Comboboxen, Scrollbars, Buttons etc.) eine wichtige Rolle. Die Macromedia V2 Komponenten werden standardmäßig im weiß-grünen „Halo-Look“ mitgeliefert, lassen sich aber mit genügend Geduld z.B. an den Windows XP-Look anpassen.

Welche Technik dahinter steckt

Die gesamte Anwendung wurde mit objektorientiertem ActionScript 2.0 nach dem Model-View-Controller-Pattern programmiert. Bei dieser Vorgehensweise sind Präsentationsschicht und Datenmodell weitestgehend voneinander unabhängig. Die Schnittstelle zur TYPO3-Datenbank läuft über AMFPHP [1], eine OpenSource Flash-Remoting-Lösung. Mit AMFPHP lassen sich Result-Sets aus MySQL-Abfragen direkt nach Flash schicken, die sich dort komfortabel als Objekte oder Arrays weiterverarbeiten oder als Datenelemente für Komponenten verwenden lassen.

Die beiden entscheidenden Vorteile von Flash-Remoting sind also zum einen, dass sich komplexe Datentypen zwischen MySQL-PHP-Backend und Flash Frontend problemlos austauschen lassen und zum anderen die Geschwindkeit: Die Übertragung erfolgt binär im proprietären AMF (Action Message Format) und ist wesentlich schneller als der Datenaustausch mit XML oder herkömmlichen Serilisations/Deserilisations-Techniken.

Nach jedem Tastendruck wird die Suche weiter eingeschränkt und die Datagrid-Komponente in Echtzeit aktualisiert.

Nach jedem Tastendruck wird die Suche weiter eingeschränkt und die Datagrid-Komponente in Echtzeit aktualisiert.

Ein anderer wichtiger Bestandteil der Anwendung ist das ebenfalls kostenlos erhältliche Flash JavaScript Integration Kit [2], das für die Steuerung des Excel-Datei-Uploads verwendet wurde. Da native Upload-/Download-Möglichkeiten leider erst seit dem neuen Flash Player 8 integriert sind, muss in älteren Versionen auf eine HTML-JavaScript-Lösung zurückgegriffen werden. Das Javascript Integration Kit vereinfacht dabei die Kommunikation zwischen Flash und JavaScript, da von Flash aus JavaScript-Funktionen aufgerufen und alle wichtigen Datentypen ausgetauscht werden können. Der Excel-Export der Daten aus der Flash-Datagrid-Komponente (eine Art Tabelle) erfolgt über das PHP-PEAR-Modul „Excel Spreadsheet Writer“ [3].

Das Zusammenspiel mit TYPO3

Der wichtigste Punkt bei der Integration der Flash-Anwendung ins TYPO3-Backend ist die Authentifizierung. Über den „FlashVars“-Parameter des Flash-Object-Tags kann der Flash-Datei beim Einbetten in HTML die aktive TYPO3-Session-ID mitgegeben werden. Die Flash-Anwendung gleicht diese ID mit der TYPO3-Datenbank ab und startet die Anwendung nur, wenn die IDs identisch sind. Ansonsten können alle erforderlichen Dateien (AMFPHP, JS-Kit, PHP-Dateien, SWFs) über den Extension Kickstarter von TYPO3 zu einer kompakten t3x-Datei zusammengepackt werden, die sich genau wie alle anderen Extensions mit wenigen Mausklicks installieren lässt.

Beim Excel-Import werden die Daten automatisch auf Duplikate und fehlerhafte Eingaben überprüft.

Beim Excel-Import werden die Daten automatisch auf Duplikate und fehlerhafte Eingaben überprüft.

Was der Erweiterung zu einer „echten“ TYPO3-Extension noch fehlt, ist die Unterstützung von mehreren Sprachen. Es wäre allerdings kein großes Problem, die Daten aus der Datei „locallang.php“, die bei TYPO3-Extensions die Übersetzungen enthält, an die Flash-Applikation zu schicken und in Textfeldern oder Buttons anzuzeigen.

Fazit

Durch die Kombination von TYPO3 mit Flash stehen vielfältige Möglichkeiten zur Verfügung, die Funktionalitäten des TYPO3-Backends zu erweitern. Denkbar wären beispielsweise auch komplexe Extensions zur interaktiven Manipulation von Bildern oder Echtzeit-Workflow-Systeme. Die Erweiterungen nahtlos ins TYPO3-Backend zu integrieren scheint dabei das kleinste Problem zu sein. Durch die kürzliche Ankündigung von ActionScript 3 und der aktualisierten Flex-Produktlinie von Macromedia [4] ergeben sich neue Möglichkeiten, leistungsfähige Web-Anwendungen auf FlashPlayer-Basis zu entwickeln und es könnte spannend sein an dieser Stelle auch entsprechende TYPO3-Schnittstellen zu nutzen.

- Anzeige-

Dieser Artikel stammt aus:

 

Weitere Artikel dieser Ausgabe

AJAX

Revolution oder alter Wein in neuen Schläuchen?

AJAX (Asynchronous Javascript and XML) macht seit einigen Monaten als neuer Heilsbringer für... »

Barrieren im Internet

Erkennen, abbauen, vermeiden

Zehn bis zwanzig Prozent der Weltbevölkerung leiden unter einer Behinderung. Nicht alle... »

Darf es etwas mehr sein?

Multiserver-Szenarien mit TYPO3

TYPO3 hat unterschiedliche Eigenschaften, die seinen großen Erfolg begünstigen: Funktionsumfang... »

Dynamische Bildverarbeitung mit TYPO3

Eine der größten Stärken von TYPO3 sind die zahlreichen Möglichkeiten,... »

Formulare nach Wunsch

Dynamische FlexForms für das TYPO3 Backend mit der Extension DynaFlex

FlexForms sind seit TYPO3 3.6 eine neue Art Eingabemasken im Backend zu definieren. Sie erlauben... »

Innovatives Handwerk

Meister wissen wie’s geht: Komfortabel und effizient mit TYPO3

Optisch und technisch neu präsentiert sich der Internetauftritt des Zentralverbands des... »

Lagebericht

Die TYPO3 Association zieht Bilanz

Mit Ausnahme des Mega-Events TYCON3, der weltweit ersten TYPO3-Konferenz, schien es in den letzten... »

MySQL 5

Endlich Enterprise: Eine Datenbank wird erwachsen

Der Datenbankserver MySQL ist jetzt in der Version 5 erschienen. MySQL selbst bezeichnet diese... »

Object-TypoScript-Workshop

Dan Frost in Darmstadt

Am 4. und 5. November 2005 veranstalteten die User Groups Darmstadt und Frankfurt in den Räumen... »

Offen für alle Gruppen

Teamarbeit mit dem Open-Xchange Server

Manchmal entsteht durch geschickte Kombination mehrerer Komponenten ein neues Produkt, das mehr... »