FLOW3: Das neue PHP-Framework für TYPO3 Version 5

image

Während die Entwicklung von TYPO3 Version 4.x kontinuierlich voranschreitet (gerade wurde die Version 4.2.0 beta 1a veröffentlicht), arbeitet ein Team um Robert Lemke schon seit einiger Zeit an der 5. Generation von TYPO3 (vgl. Auf dem Weg zu TYPO3 Version 5.0 «Phoenix»). Diese baut auf einem neu entwickelten PHP-Framework auf, das seit kurzem einen Namen hat: FLOW3.

Wie Robert Lemke in einem Interview darlegt, vermochte keines der existierenden PHP-Frameworks die Anforderungen der TYPO3-Core-Entwickler restlos zu befriedigen. Eine Vergleichstabelle zeigt, in welchen Punkten sich FLOW3 von anderen bekannten Frameworks wie dem Zend Framework, Symfony, cakePHP, eZ Components, Ruby on Rails oder dem Java-Framework Spring unterscheidet. FLOW3 ist aber nicht bloss die Basis von TYPO3 Version 5, sondern soll auch als eigenständiges Framework für andere Projekte zur Verfügung stehen – wenn es einmal fertig ist, denn im Moment gibt es weder fertige Packages noch eine vollständige Dokumentation. Die Version 1.0 ist für die zweite Hälfte 2008 geplant.

TYPO3 Praxis: Drag & Drop im Backend

image

Lange war Drag & Drop eine Bedienungstechnik, welche Desktop-Programmen vorbehalten war. Dank AJAX kann man heute aber auch auf Webseiten Elemente durch blosses Verschieben mit der Maus umgruppieren. Im Backend von TYPO3 lassen sich auf diese Weise im Seitenbaum einzelne Seiten bequem verschieben oder auch kopieren: An der Zielposition erscheint das oben gezeigte Popup, über das man die auszuführende Aktion auswählt.

Ähnliches geht auch mit Inhaltselementen auf einer einzelnen Seite – allerdings ist in diesem Fall die Installation der Extension gb_bedraganddrop erforderlich.

TYPO3 Tuning: Skins für das Backend

image

Das Backend von TYPO3 ist funktional, aber keine Schönheit. Was viele nicht wissen: Dieses Backend unterstützt Skins (Themes) und kann über entsprechende Extensions visuell angepasst werden.

Allerdings ist die Auswahl an brauchbaren Skins sehr bescheiden: Nebst der Extension t3skin_improved, welche einige Detailverbesserungen im Standard-Skin implementiert, sind vor allem skin_grey_2 (Screenshot oben) und modern_skin (Screenshot unten) zu erwähnen. Diese beiden aber lohnen sich, wenn man sich am Standard-Design von TYPO3 irgendwann sattgesehen hat.

image

TYPO3 Workbench: Firefox-Extension für TYPO3-Administratoren

image

Basierend auf der Firefox-Extension TYPO3 Backend hat Markus Söth die Extension TYPO3 Workbench entwickelt. Sie bietet eine Reihe von Funktionen, die man zwar alle auch auf anderem Weg erreichen kann, die aber die Arbeit für einen TYPO3-Administrator wesentlich bequemer gestalten. Dazu gehören:

  • Zugriff auf das Backend einer TYPO3-Website (Login-Seite wird in einem neuen Browser-Tab geöffnet)
  • lokale TypoScript- und TSconfig-Referenz
  • Suche nach Extensions im TYPO3 Extension Repository (TER)
  • Suche nach Stichwörtern in den wichtigsten TYPO3-Foren und -Mailing-Listen

TYPO3camp, Hamburg

Wer weiss, was ein BarCamp ist, kann sich leicht vorstellen, was ein TYPO3camp ist: ein Treffen für TYPO3-Enthusiasten, bei dem es keine Zuhörer, sondern nur aktive Teilnehmer gibt. Die Veranstaltung wird von Volker Graubaum, Timo Heuer, Hans Martin und Frank Nägler organisiert und ist eine Initiative unabhängig von der TYPO3 Association. Ort der Veranstaltung ist Hamburg-Altona, das verlängerte Wochenende dauert vom 7. bis 9. März 2008 (parallel zur CeBIT).

TypoScript editieren mit SweeTS

image

Vor ziemlich genau einem Jahr hatte ich mich auf die Suche gemacht nach Tools, welche das Editieren von TypoScript-Code komfortabler gestalten als im TYPO3-Backend. Die Mindestanforderung war damals, dass der gesuchte Editor ein Syntax-Highlighting für TypoScript bieten musste. Damals war ich auch auf SweeTS (eine Sammlung von Konfigurationsdateien für den kostenlosen Editor PSPad) gestossen.

image Nach einem Jahr Praxis kann ich sagen: SweeTS ist für mich persönlich das Tool der Wahl, wenn es darum geht, mehr als nur ein, zwei Zeilen Code zu bearbeiten. Der Umstand, dass die TypoScript-Templates nicht in der TYPO3-Datenbank, sondern im Filesystem (fileadmin) liegen müssen, damit der Editor per FTP darauf zugreifen kann, empfinde ich inzwischen als Vorteil, weil so der gesamte Code an einem einzigen Ort liegt und sehr schnell zugänglich ist.

In der täglichen Arbeit schätze ich insbesondere folgende Funktionen von SweeTS:

Das (konfigurierbare) Syntax-Highlighting. Es ist nicht perfekt, aber nur schon Kommentare und Code visuell gut unterscheiden zu können ist viel wert. Und obwohl das Highlighting gelegentlich überraschende Formatierungen wählt, so ist es bei der Vermeidung von Tippfehlern dennoch eine grosse Hilfe.

image Die Markierung von Klammerpaaren. Nichts ist ärgerlicher als ein Fehler wegen einer vergessenen oder überflüssigen Klammer. SweeTS markiert automatisch das Gegenstück, sobald der Cursor auf einer Klammer steht, so dass man leicht überprüfen kann, ob die Klammersetzung korrekt ist.

image Die Autocomplete-Funktion. Beginnt man eine Wort zu tippen und drückt CTRL+J, so öffnet sich ein Popup mit allen passenden Schlüsselwörtern. Das beschleunigt das Tippen, überbrückt allfällige Gedächtnislücken und reduziert Tippfehler. Das Dropdown kennt auch CSS-Classen, die man schon einmal im Code benutzt hat – selbst definierte Elemente (z.B. temp.*) dagegen tauchen in der Liste nicht auf.

image Das Clip-Konzept. Per Tastenbefehl wird ein Popup mit Code-Snippets, sogenannten Clips, aufgerufen, die dann per Mausklick oder Tastendruck in den Code einkopiert werden können. Ähnlich schnell lassen sich Code-Bestandteile als Clip speichern (sie werden dabei in eine *.DEF-Datei im Verzeichnis Context geschrieben). Bei häufig wiederkehrenden Code-Blöcken reduziert dies die Tipparbeit dramatisch. Für meine Begriffe eher verzichtbar sind die sogenannten Interactive Clips oder Dialogue Macros, welche zunächst in einem Dialogfenster die Parameterwerte abfragen.

image Der Code-Explorer – mit Einschränkungen. Bei einer «richtigen» Entwicklungsumgebung für eine «richtige» Programmiersprache bietet ein Code-Explorer einen raschen, strukturierten Zugriff auf alle Identifikatoren, welche der Programmierer irgendwo in seinem Code definiert hat: Variablen, Konstanten, Funktionen, Klassen und was der Konstrukte einer Programmiersprache mehr sind. Bei SweeTS listet der Code-Explorer primär Elemente des TypoScript-Objektbaums – aber eben nur alphabetisch und nicht etwa strukturiert wie im TypoScript Object Browser des TYPO3-Backends.

Die kontext-sensitive Online-Hilfe. SweeTS bringt auch die offizielle TypoScript-Dokumentation mit und integriert sie in die Hilfe-Funktion von PSPad. Markiert man ein Word im Quellcode und drückt ALT+F1, so kann dieses Wort per Tastendruck in der Dokumentation gesucht werden.

SweeTS liegt seit einigen Tagen in der Version 1.15 vor und ist kompatibel zur neusten PSPad-Version 4.5.3. Ausserdem haben die Entwickler angekündigt, SweeTS auch auf gEdit unter Linux zu portieren.

sk_pagecomments: CMS-Seiten mit Kommentarfunktion ausstatten

image

Das Web 2.0 lebt davon, dass jeder überall seine Meinung äussern kann. Blog-Systeme mit ihrer Kommentarfunktion sind optimal darauf zugeschnitten. Bei konventionellen Websites dagegen beschränkt sich die Interaktivität im schlechteren Fall auf ein Kontaktformular, im besseren Fall auf ein Forum. Direkt an Ort und Stelle und für alle anderen Benutzer sichtbar eine Bemerkung hinterlassen kann man damit aber nicht.

Wer sich etwas mehr Interaktivität auf seiner TYPO3-Website wünscht, sollte sich die Extension sk_pagecomments anschauen. Damit kann man auf einfache Weise eine Kommentarfunktion einbauen – entweder selektiv für ausgewählte Seiten (indem man ein Content-Element vom Typ «Plug-In» in die entsprechende Seite einfügt) oder global über ein paar Zeilen Code im TypoScript-Setup.

sk_pagecomments funktioniert so, wie man es sich vorstellt und ist vergleichsweise rasch konfiguriert. Hervorzuheben sind die Moderations-Option (Kommentare sind per default unsichtbar und können über das Backend freigeschaltet werden), die CAPTCHA-Unterstützung, die E-Mail-Benachrichtigung und die Möglichkeit, auf frühere Kommentare direkt zu antworten, was eine Thread-Darstellung ergibt.

Letztlich ist sk_pagecomments natürlich nicht sehr verschieden von einer Gästebuch-Extension wie etwa ve_guestbook. Insbesondere dank der Antwort-Funktion bietet sie aber einen klaren Mehrwert. Apropos: Keinen erkennbaren Mehrwert sehe ich dagegen in der Extension eluna_pagecomments, die aus sk_pagecomments entstanden ist.

Im TYPO3 Extension Repository suchen per Firefox Suchfeld

image

Das Suchfeld in Firefox ist bekanntlich konfigurierbar – der Benutzer bestimmt, welche der zahlreichen Suchmaschinen er benutzen möchte. Wer häufiger im TYPO3 Extension Repository (TER) sucht, sollte sich die entsprechende XML-Datei vom TYPO3-Blog herunterladen (Installationsanleitung ebenda).

ke_stats: Neue Statistik-Extension für TYPO3

image

Mit sys_stat, pp_stats und cc_awstats gibt es bereits einige Statistik-Extensions für TYPO3. Die ersten beiden sind ziemlich einfach gehalten, während AWStats zwar detaillierte Auswertungen erlaubt, aber letztlich nur eine oberflächlich integrierte Perl-Applikation ist, auf die zudem nur Admins zugreifen können. Es gibt also nach wie vor Raum für die ideale TYPO3-Statistik-Extension.

image Der jüngste Neuzugang im TYPO3 Extension Repository heisst ke_stats. Gemessen daran, dass es sich um die allererste Beta-Version handelt, scheint mir diese Extension vielversprechend. Zwar vermisst man die grafischen Auswertungen von AWStats, aber dafür ist die Extension gut in TYPO3 integriert und bietet einen sehr direkten Zugriff auf die Statistiken, weil die Zugriffe nicht in einem Log-File, sondern in der Datenbank protokolliert werden. Zudem ist die Statistik über einen Navigationspunkt im Web-Modul leicht zu finden und auch für Nicht-Admins zugänglich. Wie gut sich ke_stats in der Praxis bewährt kann ich allerdings erst in ein, zwei Monaten sagen, wenn genügend Daten vorliegen, die ich auswerten kann.