Die Neuerungen von TYPO3 4.7 im Überblick

image

Wie immer bringt die neuste Version von TYPO3 eine grosse Zahl von Bugfixes und Detailverbesserungen. Die wirklich zentralen Neuerungen sind aber die folgenden:

HTML5 und Barrierefreiheit

Bei TYPO3 erfolgt das Rendering von Webseiten bekanntlich durch die Systemextension css_styled_content. Ab TYPO3 4.7 generiert diese Extension Markup gemäss dem modernen HTML5-Standard, was sich nicht zuletzt positiv auf die Barrierefreiheit (Accessibility) auswirkt. Zusätzliche Extensions, welche HTML5-Unterstützung implementieren, werden somit überflüssig.

Zeichencodierung mit UTF-8

Musste man vor einigen Jahren noch selbst dafür sorgen, dass die Zeichencodierung in TYPO3 mit UTF-8 erfolgte, so ist nun der gesamte Code konsequent auf UTF-8 umgestellt worden. Intern arbeitet TYPO3 somit ausschliesslich mit UTF-8. Dies bedingt, dass bei einem Upgrade von älteren TYPO3-Websites ggf. die Datenbank mit einem Script konvertiert werden muss (vgl. UTF-8 Support im TYPO3 Wiki).

Optimierung von RTE und Frontend Login

Der Rich Text Editor htmlArea sowie die Extension felogin (welche die Login-Funktionalität für Frontend Users bereitstellt) wurden in zahlreichen Details überarbeitet.

Optimierung der Volltextsuche

Die Volltextsuche einer TYPO3-Website basiert standardmässig auf der Extension indexed_search. Deren Performance war bei grösseren Websites oft ein Problem. Eine Erweiterung, welche mit TYPO3 4.7 ausgeliefert wird, soll die Volltextsuche beschleunigen. Auch das Frontend-Plugin wurde ersetzt – die neue Version basiert jetzt auf Fluid Templates.

Government Package

Das Government Package ist eine beispielhafte Website, die speziell für die öffentliche Verwaltung optimiert wurde. Sie ist als Best Practice für barrierefreie Webauftritte zu verstehen, zu denen Behörden vieler Länder per Gesetz verpflichtet sind. Entstanden ist das Government Package in Zusammenarbeit mit der Bundesanstalt für Landwirtschaft und Ernährung in Deutschland; derzeit ist es erst in deutscher Sprache erhältlich.

Ausblick

TYPO3 4.7 ist das letzte grosse Update mit einer 4 vor dem Punkt. Allerdings steht nun nicht (wie ursprünglich geplant) der Übergang zum komplett neu entwickelten TYPO3 5.0 (Code-Name: Phoenix) an. Vielmehr wird das “alte” TYPO3 als eigenständiges Produkt neben dem “neuen” TYPO3 weiterleben. Weil die Versionsnummer 5 allerdings zu sehr mit TYPO3 Phoenix verknüpft ist, wird diese übersprungen – das nächste grosse Release wird deshalb TYPO3 6.0 sein.

Weitere Informationen:

snowbabel: Lokalisierung von TYPO3-Extensions durch Content Managers

Benutzeroberfläche von snowbabel zur Übersetzung von Labels in TYPO3-Extensions

Nicht oder schlecht lokalisierte Extensions können einen TYPO3 Content Manger zur Verzweiflung bringen: Denn erstens versteht er oft nicht, wo die Texte (die er ja nicht selbst geschrieben hat) her kommen, und zweitens kommt er normalerweise nicht an diese Texte heran, um sie selbst zu übersetzen.

snowbabel ist für solche Fälle ein sehr übersichtliches und effizientes Tool, das auch ein Content Manager ohne vertiefte TYPO3-Kenntnisse schnell beherrscht. Die Extension fügt dem TYPO3-Backend zwei Module hinzu, von denen eines für die Grundeinstellungen zuständig ist, während im anderen die eigentliche Übersetzung stattfindet. Die Benutzeroberfläche ist ausgesprochen übersichtlich und selbsterklärend: Links wählt man die zu übersetzende Extension, rechts die zu bearbeitenden Sprachen, und in der Mitte bearbeitet man die entsprechenden Labels. Dabei müssen die Datensätze nicht in einer Detailansicht geöffnet, einzeln bearbeitet und wieder gespeichert werden, sondern man arbeitet direkt in der Tabelle, was die Arbeit massiv beschleunigt. snowbabel beherrscht inzwischen auch XLIFF (das neue Format für Sprachdateien – vgl.  TYPO3 4.6: Was hat es mit den XLIFF-Sprachdateien auf sich?) und ist somit für die Zukunft gut gerüstet.

TYPO3 4.6: Was hat es mit den XLIFF-Sprachdateien auf sich?

Language File Editor (lfeditor)

Sprachdateien (engl. Language Packs oder Language Packages) für TYPO3 enthalten Übersetzungen für den TYPO3 Core oder für Extensions. Übersetzt wird damit nicht derjenige Content, den die Content Mangers einpflegen, sondern diejenigen Texte, welche das System im Frontend oder im Backend selbständig anzeigt (sog. Labels).

Seit der Version 4.6 nutzt TYPO3 XLIFF als Format für Sprachdateien. Dieses standardisierte Format löst das ll-XML-Format ab, welches zwar auf XML basiert, ansonsten aber eine TYPO3-spezifische Lösung darstellt, welche mit gängigen Übersetzungsprogrammen nicht kompatibel ist. XLIFF bietet noch einige weitere Vorteile: So können in den Dateien Pluralformen, Übersetzungsvorschläge und –alternativen sowie Hinweise an die Übersetzer gespeichert werden. Ausserdem nutzt auch FLOW3 (das Framework der zukünftigen TYPO3-Version 5) XLIFF.

Um Sprachdateien vom ll-XML-Format (oder vom noch älteren PHP-Format) in XLIFF zu konvertieren, steht Entwicklern die Extension extdeveval zur Verfügung. Die Rückwärtskompatibilität für TYPO3-Versionen vor 4.6 (welche ja noch kein XLIFF kennen) stellt die Extension xliff sicher: Sie konvertiert automatisch XLIFF-Dateien ins alte ll-XML-Format. Um Übersetzungen zu pflegen bietet der Language File Editor lfeditor geeignete Funktionalitäten.

Parallel zur Umstellung auf XLIFF hat das TYPO3 Translation Team übrigens auch den TYPO3 Translation Server (wo Übersetzungen für Core und Extensions zentral gepflegt werden) von einer selbst entwickelten Lösung auf Pootle umgestellt. Pootle wird auch von LibreOffice, Mozilla, KDE, Gnome und anderen grossen Open-Source-Projekten genutzt und ist ein leistungsfähiges und doch einfach zu bedienendes Übersetzungssystem (ähnlich wie Transifex).

Weiterführende Informationen:

TYPO3 Developer Days 2012, München

TYPO3 Developer Days 2012

Nach dem letztjährigen Abstecher in die Schweiz finden die TYPO3 Developer Days heuer wieder in Deutschland statt, und zwar in München, genauer im MACE in Unterföhring. Die Veranstaltung dauert vom Donnerstag, 12. April 2012 bis Sonntag, 15. April 2012. Noch bis zum 12. Februar 2012 kann man Themen für Referate und Workshops vorschlagen (Call for Papers), und bis zum gleichen Datum bekommt man auch Early-Bird-Tarife bei den Eintrittskarten (derzeit ist der Ticket-Shop aber noch nicht aufgeschaltet).

Neuauflage: Die Prüfungsvorbereitung für Certified TYPO3 Integrators

Certified TYPO3 Integrator (2. Auflage)

Das bisher einzige Buch zur bisher einzigen TYPO3-Zertifizierung ist Certified TYPO3 Integrator von Patrick Lobacher. Um es an die aktuelle TYPO3-Version 4.5 anzupassen (auf der die Zertifizierungsprüfung basiert) wird das Buch im Oktober 2011 in der 2. Auflage erscheinen. Es enthält 275 Übungsfragen und – was das Buch auch für Nicht-Prüflinge wertvoll macht – ausführliche Erläuterungen zu den korrekten und falschen Antworten. Dadurch werden viele gängige Irrtümer widerlegt und wenig bekannte Funktionen von TYPO3 beleuchtet.

TYPO3-Backend-Passwort zurücksetzen mit phpMyAdmin

phpMyAdmin

Es kommt in den besten Familien vor: Man hat das Passwort für sein TYPO3 Backend Login vergessen. Was nun?

Das TYPO3-Wiki empfiehlt in diesem Fall, über das Install Tool einen neuen Administrator anzulegen. Diese Methode ist allerdings einigermassen umständlich:

  • Das Install Tool ist normalerweise deaktiviert. Um es zu aktivieren, muss man via FTP auf den Server zugreifen können, um die Datei typo3conf/ENABLE_INSTALL_TOOL anzulegen.
  • Auch das Install Tool ist mit einem Passwort gesichert. Hat man dieses ebenfalls vergessen, muss man zuerst dieses zurücksetzen.
  • Das Install Tool kann keine bestehenden Backend User Logins zurücksetzen, sondern nur einen neuen Backend User mit Administratorenrechten anlegen. Im Interesse eines sauberen User Managements sollte man diesen neuen User nur nutzen, um in der Benutzerverwaltung des Backends das Passwort für den bisherigen Admin-Account neu zu setzen. Anschliessend sollte man den neuen Admin-Account wieder löschen.

Datensatz der Tabelle be_user (Ausschnitt) 

Glücklicherweise geht es auch einfacher: Wer mit einem Datenbank-Manager wie phpMyAdmin auf seine TYPO3-Datenbank zugreifen kann, kann dort ganz einfach den betreffenden Datensatz in der Tabelle be_users öffnen. Im Feld password steht dann das verschlüsselte alte Passwort, das man zwar nicht auslesen, aber durch ein neues Passwort ersetzen kann. Wichtig ist einzig, dass man vor dem Speichern des neuen Passworts in der Spalte Funktion die MD5-Verschlüsselung auswählt – sonst steht das neue Passwort im Klartext in der Datenbank, und das gilt es unbedingt zu vermeiden.

Adminer: Datenbank-Manager für TYPO3, WordPress, Drupal und Joomla

Adminer als TYPO3-Extension t3adminer

Adminer (frühere Bezeichnung: phpMinAdmin) ist ein Datenbank-Manager, der sich (ähnlich wie SQL Buddy und Chive) als eine bessere Alternative zum etablierten phpMyAdmin versteht und dies mit einem detaillierten Vergleich belegt. Hervorzuheben ist insbesondere der kompakte Code: Adminer besteht aus einer einzigen, rund 300 KByte grossen PHP-Datei, wogegen phpMyAdmin auf rund 15 MByte angewachsen ist und viele hundert Dateien umfasst. Adminer unterstützt zudem nicht nur MySQL, sondern auch SQLite, PostgreSQL, MS SQL und Oracle und überzeugt durch eine schlichte, übersichtliche Benutzeroberfläche.

Normalerweise wird man das Skript als eigenständige Web-Applikation betreiben. Zusätzlich stehen aber auch Extensions, Plug-Ins bzw. Module für TYPO3, WordPress, Drupal und Joomla zur Verfügung. Der obige Screenshot zeigt die Extension t3adminer, die sich optisch und von der Bedienung her sehr harmonisch in das TYPO3-Backend einfügt. Und der nachfolgende Screenshot stammt vom entsprechenden WordPress-Plugin, das Adminer entweder in einem Lightwindow oder einem separaten Tab öffnet.

Adminer als WordPress Plug-in

cag_tables: Daten aus Excel-Dokumenten oder Datenbank-Tabellen einfach auf einer TYPO3-Website publizieren

 cag_tables: Konfigurationsmöglichkeiten für das Frontend-Plugin "Display CSV Table"

Schon mehrmals habe ich in diesem Blog über TYPO3-Extensions berichtet, welche die Publikation von tabellarischen Daten auf einer Website erleichtern. Mein bisheriger Favorit war cag_longlists, die flexibler als csvdisplay bzw. bit_csvtable ist, Daten nicht nur aus einer CSV-Datei, sondern auch aus der TYPO3-Datenbank beziehen kann und alle erforderlichen Such-, Filter- und Paging-Funktionen bietet. Allerdings ist cag_longlist im Detail etwas trickreich, was mich damals dazu bewogen hatte, das Handbuch zu überarbeiten und so den Umgang mit der Extension etwas zu vereinfachen.

Inzwischen hat sich der Entwickler Jens Eipel meine Kritikpunkte zu Herzen genommen und mit cag_tables eine neue Extension entwickelt, welche cag_longlists ablöst. Der Zweck ist grundsätzlich derselbe, aber die Handhabung ist wesentlich einfacher und sicherer geworden. Neu ist die Trennung in zwei separate Frontend-Plugins für Daten aus einer CSV-Datei bzw. aus einer Datenbank-Tabelle – das sorgt für die Konzentration auf das Wesentliche und verhindert, dass ungeübte Backend-Benutzer, die eigentlich nur eine CSV-Datei importieren sollen, plötzlich vertrauliche Daten aus der Datenbank publizieren. Trotz dieser Trennung und der unterschiedlichen Datenquellen ist das Bedienungskonzept aber bei beiden Plugins sehr ähnlich: Nebst ein paar Optionen bezüglich Such- und Filterfunktionen gibt man das HTML-Template für das Rendering sowie die Datenquelle (CSV-Datei bzw. Datenbank-Tabelle) an. Sobald man diese Angaben erstmalig gespeichert hat, kann man die anzuzeigenden Tabellenspalten per Multiselect bequem auswählen – anschliessend generiert cag_tables auf Knopfdruck den erforderlichen Code.

Um es kurz zu machen: cag_tables ist eine mustergültige Lösung. Der einzige Stolperstein besteht in der aktuellen Version 1.0.7 noch darin, dass Dateipfade zu HTML-Templates und CSV-Dateien manuell angepasst werden müssen, falls TYPO3 nicht im Webroot installiert ist, sondern in einem Unterverzeichnis.

PositionIt: Komplexe Formulare mit WYSIWYG-Editor in TYPO3 erstellen

PositionIt für TYPO3: WYSIWYG-Editor

Wenn der erste Eindruck nicht täuscht, dann gibt es mit PositionIt wieder einmal eine herausragende TYPO3-Extension zu vermelden. In einem einzigen Satz zusammengefasst kann man mit PositionIt komplexe, mehrstufige Formulare erstellen, wobei für das Formular-Layout ein WYSIWYG-Editor und für die Logik einer Regeleditor zur Verfügung stehen.

PositionIt für TYPO3: Regeleditor

Wer PositionIt nutzt, hat mehr vor als nur ein Kontaktformular zu erstellen – ihm geht es um eigentliche Datenerfassungsprozesse. Entsprechend verlangt die Extension auch eine gewisse Einarbeitungszeit. Die Editoren wirken aber ausgesprochen ausgereift, so dass sich der Aufwand rasch auszahlen dürfte.

PositionIt wurde erst vor wenigen Tagen als Open-Source-Software freigegeben und soll in Zukunft auch in einer Standalone-Version (die keine TYPO3-Installation erfordert) erscheinen. Auf der Website www.positionit.org ist nebst ausführlichen Informationen auch ein kurzes Demo-Video zu finden, das den WYSIWYG-Editor in Aktion zeigt.