TYPO3

TYPO3

Logo von TYPO3
TYPO3 6.1
TYPO3 CMS 6.1 Backend
Basisdaten

Hauptentwickler TYPO3 Association
Entwickler Kasper Skårhøj, TYPO3 Association
Erscheinungsjahr 1998
Aktuelle Version 6.1.6
(26. November 2013[1])
Aktuelle Vorabversion 6.2.0beta2
(11. Juli 2013[2])
Betriebssystem plattformunabhängig
Programmier­sprache PHP, SQL, JavaScript
Kategorie Content Management System (CMS)
Lizenz GPL (Freie Software)
deutschsprachig ja
typo3.org

TYPO3 ist ein freies Content-Management-Framework für Websites, welches seit Oktober 2012 offiziell unter dem Namen TYPO3 CMS vertrieben wird. Es wurde ursprünglich von Kasper Skårhøj entwickelt. TYPO3 basiert auf der Skriptsprache PHP. Als Datenbank können MySQL oder MariaDB, aber auch etwa PostgreSQL oder Oracle eingesetzt werden. Das System wird von zwei so genannten Core-Teams[3] weiterentwickelt, einem für TYPO3 CMS und einem für TYPO3 Neos. Die Marke TYPO3 dient seit Oktober 2012 zudem als Dach für eine Reihe einzelner Produkte.[4]

Der Name TYPO3 stammt daher, dass Skårhøj durch einen Tippfehler (englisch „typing error“, kurz „typo“) bei der Entwicklung einen Teil seiner Arbeit verlor. Die Zahl „3“ wurde dem Namen schließlich angehängt, nachdem die dritte Version des Systems durch ihren Erfolg als eine Art Marke bekannt wurde.[5]

Zahlreiche Funktionen von TYPO3 können mit Erweiterungen[6] integriert werden, ohne dass ein eigener Programmcode geschrieben werden muss. Die derzeit über 5000 Erweiterungen stammen zum größten Teil von anderen Anbietern und sind kostenlos verfügbar. Erhältlich sind unter anderem News, Shop-Systeme oder Diskussionsforen. Das System ist auf Mehrsprachigkeit ausgelegt und wird von einer Anwender- und Entwicklergemeinde aus aller Welt betreut. TYPO3 gehört zusammen mit Drupal, Joomla und WordPress zu den bekanntesten Content-Management-Systemen aus dem Bereich der freien Software und wird vor allem im deutschen Sprachraum häufig eingesetzt.[7]

Verwendung

Die TYPO3-Association schätzt, dass TYPO3 CMS weltweit mehr als 500.000 Mal eingesetzt wird.[8] TYPO3 stellt mittlere Anforderungen an die Leistungs- und Konfigurationsfähigkeit des verwendeten Servers.[9] Die Einarbeitungszeit für einen Website-Entwickler beträgt mehrere Wochen bis Monate, für einen Autor oder Redakteur je nach freigeschalteten Funktionen wenige Minuten bis einige Stunden. Ein Entwickler, der mit TYPO3 eine Website einrichten möchte, muss sich in der Regel intensiv mit der Metasprache TypoScript beschäftigen.

Im Gegensatz zu kommerzieller Software gibt es bei den TYPO3-Produkten keinen Support durch den Hersteller bzw. Entwickler, dafür aber durch die Anwendergemeinde (Bugtracker,[10] Foren[11] und News-/Mailinglisten[12]) und eine große Anzahl an Web-Agenturen. Viele Unternehmen haben sich auch darauf spezialisiert, Websites in TYPO3 CMS zu erstellen oder Website-Hosting mit vorinstalliertem TYPO3 CMS anzubieten.

Bedienung

TYPO3 CMS wird auf einem Webserver installiert und mit einem Webbrowser benutzt. Außer einem Browser ist zur Benutzung keine Zusatzsoftware erforderlich. Die Nutzung von TYPO3 gliedert sich in drei große Bereiche: Die Erstellung des Website-Designs, die Konfiguration von TYPO3 mittels TypoScript und die Eingabe des Website-Inhalts.

TYPO3 CMS enthält ein Backend, das der Pflege der Website dient und ein Frontend, das die Website selbst darstellt.

Im Backend wird die Website verwaltet. Dort wird TYPO3 konfiguriert, werden Inhalte erstellt und bearbeitet. Ein WYSIWYG-Editor erlaubt es Anwendern ohne HTML-Kenntnisse, redaktionelle Arbeit zu erledigen. Alternativ kann die Bearbeitung von Inhalten auch direkt über das Frontend der Website erfolgen. Diese Option bietet einen schnelleren Einstieg in das System.

Funktion und Architektur

Zu den Funktionen gehören unter anderem zeitliche Steuerung zum Ein- und Ausblenden von Inhalten, ein Rollen- und Rechtesystem, eine Suchfunktion für statische und dynamische Inhalte, suchmaschinenfreundliche URLs, eine automatische Sitemap, eine Nutzerverwaltung und Mehrsprachigkeit des Backends und Mehrsprachenfähigkeit des Frontends. Weitere, über verschiedene Zusatzmodule (sogenannte Erweiterungen) integrierbare Funktionen, sind beispielsweise ein Gästebuch, ein Forum, das Verfassen und der Versand eines Newsletters oder eine Statistik der Seitenaufrufe. Bilder, Texte, Tabellen, Animationen sowie externe Datenquellen können in TYPO3 CMS (zum Teil über Erweiterungen) verwaltet werden.

Templates, in denen Seitenaufbau und Formate definiert werden, erleichtern die Darstellung von Inhalten. Inhalte werden über frei konfigurierbare Eingabemasken eingegeben, zum Beispiel in Form des enthaltenen Rich-Text-Editors, der über eine an gängige Textverarbeitungen angelehnte, WYSIWYG-artige Oberfläche verfügt. Eine integrierte Bildverarbeitung ist vorhanden. Der Objektmanager gestattet es, grafische Elemente zu skalieren, zu drehen, Rahmen hinzuzufügen etc., wobei TYPO3 CMS in Verbindung mit dem Bildkonverter ImageMagick und GDLib eine modifizierte Bilddatei im neuen Format erzeugt.

TYPO3 CMS wird intern über verschiedene PHP-Arrays gesteuert. Sie enthalten alle Informationen, die notwendig sind, um aus den in einer Datenbank gespeicherten Inhalten über TypoScript-Befehle HTML-Code zu erzeugen. In der Regel kann man fast jede Ausgabe und viele Backendeinstellungen über Änderungen der Konfiguration in den Arrays anpassen. Der dadurch während der Laufzeit der PHP-Skripte am Webserver benötigte Speicher ist deshalb von Bedeutung.

Die Inhalte und Parameter werden in einer relationalen Datenbank gespeichert und stehen unabhängig von dem jeweils verwendeten Template zur Verfügung. Dadurch kann das Erscheinungsbild einer Website theoretisch allein durch Austausch des Templates vollständig geändert werden, ohne die Inhalte anzufassen. Ebenso können dieselben Inhalte in unterschiedlichen Layouts oder Ausgabeformaten (zum Beispiel XML oder LaTeX) präsentiert werden.

Während in früheren Versionen die MySQL-Datenbank direkt angesprochen wurde, kann nun mit dem optionalen Database Abstraction Layer DBAL zwischen einer Anzahl gängiger SQL-Datenbanken gewählt werden, darunter als Open-Source-Alternative PostgreSQL, als kommerzielle Variante Oracle.

Ein integriertes Caching-System speichert Ergebnisse vorher definierter Datenbankaufrufe zwischen. So wird gerade bei hoch frequentierten Seiten die CPU-Belastung gesenkt, die Anzahl der Datenbankabfragen verringert und die Seite damit schneller ausgeliefert.

Gestaltungselemente

Gestaltung und Programmierung von Webseiten mit TYPO3 CMS erfolgt üblicherweise über folgende Elemente:

Seitenbaum
Darstellung und Veränderung der Struktur und Eigenschaften der Seiten einer Website
Konstanten
Universell gültige Konfigurationsparameter
Template
Traditionell ein HTML-Gerüst mit einfachen Platzhaltern, sog. Markern (zum Beispiel „###MARKER###“) und Bereichsmarkierungen, sog. Subparts (zum Beispiel „<!-- ###INHALT### Beginn --> … <!-- ###INHALT### Ende -->“); die von TYPO3 durch verschiedene Inhalte (Seitennavigation, Texte, Grafiken etc.) ersetzt werden bzw. als Unter-Template dienen. Seit TYPO3 4.3 steht auch die eigene Template-Engine TYPO3 Fluid für Templating zur Verfügung.
TypoScript
Mit dieser internen Konfigurationssprache wird beschrieben, wie TYPO3 die Inhalte ermittelt, formatiert und ausgibt.
Die Ausgabe von Seiten ist auch ohne HTML-Templates – mit reinem TypoScript-Code – möglich.
Erweiterungen
Die Funktion von TYPO3 erweiternde, zusätzliche Plug-ins
PHP
Die Funktionen von TYPO3 CMS sind in PHP geschrieben und können von Anwendern, die besondere Zusatzfunktionen realisieren wollen, geändert oder ergänzt werden. Hervorzuheben ist hierbei die XCLASS-Funktionalität, die es ermöglicht, Klassen zu überschreiben. In der Regel werden aber Hooks bevorzugt eingesetzt.

TypoScript

Die Ausgabe von Inhalten im Frontend wird in erster Linie über die Metasprache TypoScript gesteuert. Genau genommen ist TypoScript eine Konfigurationssprache: Was in TypoScript definiert ist, wird in ein systemweites PHP-Array geparst. Dieses wiederum steuert, welche PHP-Funktionen beim Aufruf der Seite ausgeführt werden. Damit können Eigenschaften und Erweiterungen mit wenigen Handgriffen global für die gesamte Website verwaltet werden. TypoScript ist (bezogen auf die Syntax) objektorientiert.[13]

Beispiel:

Um überhaupt eine Ausgabe erzeugen zu können, ist mindestens das Erzeugen eines PAGE-Objektes nötig. Mit folgendem Code wird die formatierte Überschrift „Hello, world!“ ausgegeben:

 page = PAGE
 page.10 = TEXT
 page.10.value = Hello, world!
 page.10.wrap = <h2>|</h2>

Ausgabe:

<h2>Hello, world!</h2>

Weitere wichtige TypoScript-Objekte sind CONTENT zum Auslesen von Inhalten aus der Datenbank und TEMPLATE zum Rendern eines HTML-Templates.[14]

Spricht man von TypoScript, meint man in der Regel die in den TypoScript-Templates festgelegte Konfiguration zur Frontend-Ausgabe, es gibt aber auch Backend-Konfigurationen, die (abgesehen von wenigen Ausnahmen) mit der gleichen Syntax notiert werden. Sie werden User TSconfig (Einstellungen für einen Backend-Benutzer oder -Benutzergruppe) und Page TSconfig (Einstellungen für das Backend, die für einzelne Seiten und deren Unterseiten gelten) genannt und werden unter dem Begriff TSconfig[15] zusammengefasst.

Entwicklung

Geistiger Vater und ehemaliger Chefprogrammierer von TYPO3 ist der Däne Kasper Skårhøj. Die Entwicklung des Systems teilt sich derzeit in die Zweige TYPO3 CMS und TYPO3 Neos auf, die von Oliver Hader (CMS) respektive Robert Lemke (Neos) geleitet werden.[16][17]

Startseite der Demo-Website „Introduction Package“

Die Benutzeroberfläche wurde mit den Versionen 4.2 und 4.3 geändert, hier wurde das Backend überarbeitet und soll damit intuitiver sein. Im Rahmen von Version 4.4, die am 22. Juni 2010 veröffentlicht wurde, ist das Design auf Basis der Ergebnisse der sogenannten User Experience Week (T3UXW) aus dem Vorjahr speziell hinsichtlich der Benutzerfreundlichkeit erneut verbessert worden. Zudem wurde mit dieser Version erstmalig eine Demo-Website (genannt Introduction Package) ausgeliefert, die es Erstnutzern ermöglicht, sich schneller mit den Funktionen des Systems vertraut zu machen.[18] Mit TYPO3 4.5 wurden die wichtigsten Bearbeitungsformulare neu strukturiert. In neueren Versionen wurde das Interface weiter aufgeräumt und unter anderem für die Darstellung auf mobilen Geräten optimiert.

Da die Entwicklung von Version 5.0 über mehrere Jahre in Form einer kompletten Neuentwicklung parallel zum 4.x-Zweig vorangetrieben wurde, wurden aktuelle Hauptversionen im Rahmen der TYPO3-Branch 4.x veröffentlicht. Die Nummerierung der Versionen wich aufgrund dieser Eigenheit von der sonst üblichen ab, was bei Außenstehenden den Eindruck erweckte, die Entwicklung von TYPO3 würde bereits seit mehreren Jahren stagnieren. In der Tat aber sind seit Version 4.0 bereits mehrere Hauptversionen mit neuen Features veröffentlicht worden. Innerhalb der jeweiligen Unter-Zweige gilt der so genannte „Feature-Freeze“; es werden also mit kleineren Updates keine neuen Funktionen hinzugefügt, sondern lediglich Fehler behoben und Sicherheitslücken geschlossen.

Nachdem sich mehr und mehr zeigte, dass der ursprünglich als TYPO3 5.0 geplante Nachfolger sich von seinem Funktionsumfang und den möglichen Einsatzgebieten her nicht als Nachfolger eignet, sondern eher ein eigenständiges Produkt neben TYPO3 bildet, wurde im März 2012 beschlossen, diese Entwicklung auch durch einen anderen Namen deutlich zu machen: Als Arbeitstitel von TYPO3 5 wurde „Phoenix“ gewählt. Der offizielle Name lautet nun „TYPO3 Neos“. Um Verwirrung bei der Bezeichnung der folgenden TYPO3-Releases zu vermeiden, folgte auf TYPO3 4.7 als nächste Version nicht TYPO3 5.0, sondern direkt TYPO3 6.0. TYPO3 Neos wird eigenständig als Version 1.0 auf den Markt kommen, die Versionsnummer 5 wird vollständig aus dem Versionszyklus des TYPO3-Projektes gestrichen.[19][20]

Wichtige Versionen

Legende: Ältere Version; nicht mehr unterstützt Ältere Version; noch unterstützt Aktuelle Version Aktuelle Vorabversion Zukünftige Version
Paket-Name Version Unter-
version[21]
Veröffentlichung Allgemeine Korrekturen bis Sicherheitsrelevante Korrekturen bis Wichtigste Änderungen
TYPO3 CMS 3.x Ältere Version; nicht mehr unterstützt: 3.0 2001[22] Erste veröffentlichte Version.
Ältere Version; nicht mehr unterstützt: 3.2 Mai 2002[23] Diverse Fehlerkorrekturen.
Ältere Version; nicht mehr unterstützt: 3.3 3. Juni 2002[24] Diverse Fehlerkorrekturen. Erste über sourceforge verfügbare Version.
Ältere Version; nicht mehr unterstützt: 3.5 18. Februar 2003 Diverse Fehlerkorrekturen. Mit Version 3.5.1 Einführung des Erweiterungs-Managers. Damit ist die Erweiterung von TYPO3 um von Benutzern geschriebene Module möglich.
Ältere Version; nicht mehr unterstützt: 3.6 30. April 2004[25] Erzeugung von XHTML-konformem Quellcode der Standard-Inhaltselemente, Inhaltselemente können in XML individuell definiert und gespeichert werden, Grundlagen zur Unterstützung von anderen Datenbanksystemen als MySQL integriert.[26]
Ältere Version; nicht mehr unterstützt: 3.7 24. September 2004 Vereinfachte Erstellung und Verwaltung mehrsprachiger Websites, Erweiterung der Rechteverwaltung für Redakteure, erneuerte TypoScript-Engine.
Ältere Version; nicht mehr unterstützt: 3.8 23. Mai 2005 Mehrsprachigkeit des TYPO3-Backends mit sog. Language-Packs, Unterstützung von GraphicsMagick, Verbesserung der mitgelieferten Websitesuche, Zwischenspeichern der Seiten auf Proxy-Servern ist möglich.[27]
Ältere Version; nicht mehr unterstützt: 3.8.1 14. November 2005 Behebung einiger Fehler, einige sicherheitsrelevante Verbesserungen.[28]
4.x Ältere Version; nicht mehr unterstützt: 4.0[29] 7. April 2006 Runderneuerung des Backends zur Verbesserung der Benutzbarkeit, sinnvollere Strukturierung des erzeugten HTML-Codes, Einführung von Skins, Workspaces (Möglichkeit Inhalte zu entwerfen und davon unabhängig zu veröffentlichen) hinzugefügt, Wechsel zu einem Texteditor mit größerer Unterstützung von Browsern und Betriebssystemen, DBAL für Nutzung von Datenbanksystemen wie Oracle oder PostgreSQL hinzugefügt;[30] letzte Version: 4.0.13, 13. Sicherheits- und Stabilitätsaktualisierung.
Ältere Version; nicht mehr unterstützt: 4.1[31][21] 6. März 2007 Schnellere Darstellung des Datei- und Seitenbaums durch Nutzung von Ajax, beschleunigte Darstellung des Backends, Einführung des Inline Relational Record Editing (kurz IRRE) zum gleichzeitigen Bearbeiten miteinander verknüpfter Datensätze, Verringerung des Bedarfs an Arbeitsspeicher, Verbesserte UTF-8-Unterstützung, Vereinfachung von Wartungsarbeiten mittels eines CLI, Nutzung der Vorteile von InnoDB;[32] letzte Version: 4.1.15, 15. Sicherheits- und Stabilitätsaktualisierung.
Ältere Version; nicht mehr unterstützt: 4.2 24. Mai 2008 Zahlreiche Verbesserungen in der Benutzerführung im Backend, Nutzung von AJAX zum Zeigen erweiterter Optionen, Erweiterung der Funktionen des Texteditors, Integration eines verbesserten Frontend-Logins, vereinfachte Aktualisierung von Erweiterungen, Editor mit Syntaxhervorhebung für TypoScript, Verbesserungen der Workspaces;[33][34] letzte Version: 4.2.17.
Ältere Version; nicht mehr unterstützt: 4.3 30. November 2009[35] Neues Frontend-Editing, vereinfachtes Hochladen mehrerer Dateien mit Flash, Einführung eines Papierkorbs für gelöschte Inhaltselemente, Integration eines Berichtsmoduls für einen schnellen Überblick über grundlegende Einstellungen der TYPO3-Installation, Integration eines Planers zur automatischen Ausführung von Aufgaben, Unterstützung von Bedingungen in TSconfig-Code, Integration gesalzener Streuwerte zum Passwortschutz, Erweiterungen extbase und Fluid integriert zur künftigen Migration zu TYPO3 5.0;[36] letzte Version: 4.3.14.
Ältere Version; nicht mehr unterstützt: 4.4 22. Juni 2010[18] Komplettes Redesign des Backends, vereinfachte Installation, Modernisierung und Performanceverbesserungen im Backend, native Unterstützung weiterer Datenbanktypen, weitere Integration von ExtJS-Komponenten, Bereitstellung eines Introduction Package für einen leichteren Einstieg, Kompression für CSS und JavaScript, Unterstützung von HTML5 im Frontend, Erweiterung um mehrere Handbücher zu ausgewählten Bereichen;[37] letzte Version: 4.4.15.
Ältere Version; noch unterstützt: 4.5 LTS 26. Januar 2011[38] März 2015[39] März 2015[39] Release mit Long-Term-Support (LTS) mit weiteren Verbesserungen hinsichtlich Benutzerinterface und Performance sowie zahlreichen neuen und überarbeiteten Funktionen. UTF-8 als Standardzeichensatz bei Neuinstallationen, HTML5 im Backend,[40] grundlegende Überarbeitung der wichtigsten Bearbeitungsformulare, Ausbau und Verbesserung der stdWrap-Funktion für ein schnelleres und flexibleres Frontend, grundlegende Überarbeitung des Erweiterungs-Managers, Integration eines Linkprüfers, neue Sicherheitsfunktionen zum Schutz vor CSRF.[41][42] Diese Version wird über einen Zeitraum von mindestens drei Jahren ab ihrer Veröffentlichung offiziell unterstützt werden, was unter anderem auch die Unterstützung von IE6 bis Mitte 2014 gewährleistet;[43] aktuell als Version 4.5.31.
Ältere Version; nicht mehr unterstützt: 4.6 25. Oktober 2011[44][45] Oktober 2012[39] April 2013[39] Internationalisierung mittels XLIFF, neuer Formular-Assistent und neues Form-Objekt, Sicherheits-Verbesserungen, Performance-Verbesserung durch Aktivierung des Caching-Frameworks, grundlegende Bereinigung der Codebasis;[46][47][48] letzte Version: 4.6.18.
Ältere Version; noch unterstützt: 4.7 24. April 2012[49][50] Oktober 2013[39] April 2014[39] Für Neuinstallationen vollständige Barrierefreiheit für das Frontend gemäß WCAG und BITV [51], Nutzung der neuen HTML5-Elemente in den Standard-Rendering-Anweisungen, etwa <audio> und <video>, Verbesserungen der TCEforms[52]. Vollständige Überarbeitung des Inhaltsrenderings, Bereitstellung eines auf Anforderungen der Bundesanstalt für Landwirtschaft und Ernährung basierenden Government Packages als Vorzeigeprojekt für barrierefreie Webseiten mit TYPO3;[53] aktuell als Version 4.7.16.
6.x Ältere Version; noch unterstützt: 6.0[54] 27. November 2012[55] April 2014[56] Integration eines File Abstraction Layers (FAL), Drag & Drop im Seitenmodul, aufgeräumter Erweiterungsmanager, Support für IPv6, Namespace-Support, neues Handling der zentralen Konfigurationsdateien, vereinheitlichter Bootstrap für die unterschiedlichen Einstiegspunkte;[57][58] aktuell als Version 6.0.11.
Aktuelle Version: 6.1[59] 30. April 2013[60][61] Herbst 2014[56] Verbesserungen des FAL, Aufwertung des Erweiterungs-Managers, der TCA ist jetzt stets geladen, Nutzung des mysqli-Moduls anstelle des mysql-Moduls uvm;[62] aktuell als Version 6.1.6.
Zukünftige Version: 6.2 LTS[63] 25. März 2014[64] März 2017 Version mit Long Term Support. Möglichkeit automatischer Updates für Sprachen[65] und für den Core selbst[66], Responsive Image-Rendering, „Smooth-Migration“ für Nutzer von TYPO3 4.5 LTS, Modernisierung der Codebasis, uvm.[67]
TYPO3 Neos 1.x Zukünftige Version: 1.0[68] 10. Dezember 2013[69] Ursprünglich als TYPO3 Version 5.0 geplant, nun als separates Projekt unter neuem Namen. Das System erhält eine grundlegend neue Architektur basierend auf dem eigens dafür entwickelten Framework TYPO3 Flow, wobei vor allem moderne Konzepte (etwa MVC) durchgängig Berücksichtigung finden. Momentan im Alpha-Stadium.[70][71]
TYPO3 Flow 1.x Ältere Version; noch unterstützt: 1.0 20. Oktober 2011[72] Nach fast 5 Jahren Entwicklungszeit mit mehreren Zwischenveröffentlichungen aus der Alpha- und Betaphase[73] soll TYPO3 Flow als Fundament für das geplante TYPO3 Neos dienen.
Aktuelle Version: 1.1 24. August 2012[74] Cookie-Management, Content-Aushandlung für Media-Typen, Cache-Header und Expiration-Modelle sowie ein virtueller HTTP-Client für Testszenarien sind nun verfügbar. Ebenso Internationalisierung mittels Übersetzungsdateien im XLIFF-Format auf Package-Basis.[75]

TYPO3 Neos

Im Jahr 2006 begann ein Projekt, das zum Ziel hatte, mit der Version 5.0 eine vollständige, modernisierte Neuentwicklung von TYPO3 zu veröffentlichen. Das Projekt wurde vom Kernentwickler Robert Lemke begonnen und nach wenigen Monaten von Karsten Dambekalns unterstützt. Seit 2007 arbeiten Lemke und Dambekalns in Vollzeit an der Weiterentwicklung.[76][77]

Später in TYPO3 Phoenix umbenannt, war das Projekt ursprünglich vorgesehen als Refactoring des Kerns der bestehenden TYPO3-Version 4 und der Einführung neuer Funktionen und Standards.[78] Ziel war es, eine zukunftssichere Basis für weitere TYPO3-Versionen zu schaffen. Der Kern sollte künftig vollständig nach modernen MVC-Prinzipien aufgebaut sein. Es wurde jedoch schnell klar, dass das neue Konzept umfassende Änderungen erfordert hätte, die letztlich die Stabilität des Systems hätten gefährden können. So beschloss man, sich für die neue Version ganz von der alten Codebasis zu trennen, die in den Anfängen von TYPO3 wurzelt und teilweise nicht objektorientiert war.[76]

Aus diesen Bemühungen entstand auch das Software-Framework TYPO3 Flow, das im Juni 2009 mit der ersten Alpha-Version unter dem Namen FLOW3 veröffentlicht wurde. TYPO3 Flow ist nun das Fundament von TYPO3 Neos.[79]

Anfang Oktober 2012 einigten sich die Entwickler von TYPO3 darauf, ein neues Namenskonzept für die TYPO3-Versionszweige und die damit zusammenhängenden Projekte einzuführen. Der Zweig 4.x, der zuvor schlicht TYPO3 genannt wurde, hieß ab sofort TYPO3 CMS; die von Grund auf neu entwickelte Fassung wurde TYPO3 Neos getauft. Weiterhin firmiert das Framework FLOW3 nun als TYPO3 Flow. Durch die einheitliche Benennung soll der Name TYPO3 in den Vordergrund gestellt und als Dachmarke etabliert werden.[80] Im Oktober 2012 veröffentlichte die TYPO3 Association eine erste Alpha-Version.[71]

Erweiterungen

Mit Hilfe von Erweiterungen kann der Anwender den Funktionsumfang von TYPO3 CMS erweitern oder dessen Verhalten ändern. Dabei können diese eigenständigen Programmteile Änderungen in praktisch allen Bereichen vornehmen, u. a. in dem sie neue Inhaltselemente (beispielsweise zum Anzeigen eines Nachrichtensystems) einführen, dem Backend ein neues Modul hinzufügen oder Einfluss auf den Login-Prozess nehmen.

Verschiedene Arten

Einige Erweiterungen liegen der offiziellen TYPO3-CMS-Version bereits bei, weil sie besonders oft benötigt werden oder sogar für den Betrieb zwingend erforderlich sind. Diese Erweiterungen werden System Extensions genannt. Der Großteil der Erweiterung liegt aber im TER (TYPO3 Extension Repository), einem zentralen Server von dem sich die Erweiterungen kostenlos herunterladen lassen. Diese Erweiterungen werden entweder TER Extensions oder Local Extensions genannt.[6]

Eine andere Unterscheidung beleuchtet die Art der Funktionalität der Erweiterung und teilt diese in sogenannte Kategorien. Eine Erweiterung kann die Voraussetzungen für mehrere Kategorien gleichzeitig erfüllen, so dass es dem Entwickler obliegt zu entscheiden welche Kategorie den Hauptzweck der Erweiterung am besten beschreibt. Die Kategorien sind im Einzelnen:

  • Backend: Die Erweiterung beeinflusst das Verhalten des Backends, ohne notwendigerweise ein neues Modul einzuführen. Beispiel: Ein WYSIWYG-Editor
  • Backend Modules: Die Erweiterung führt ein neues Backend-Modul ein, das neue Verwaltungsfunktionen bietet. Beispiel: Integration von phpMyAdmin als Backend Modul
  • Frontend: Die Erweiterung beeinflusst das Rendering des Frontends, ohne notwendigerweise ein neues Inhaltselement einzuführen. Beispiel: Suchmaschinenfreundliche URLs
  • Frontend Plugins: Die Erweiterung führt ein neues Inhaltselement ein, häufig um ebenfalls von dieser Erweiterung eingeführte Datenstrukturen anzuzeigen. Beispiel: Ein Nachrichtensystem
  • Miscellaneous: Die Erweiterung kann nicht in eine der übrigen Kategorien sortiert werden.
  • Services: Die Erweiterung ersetzt einen bestehenden Service. Beispiel: OpenID als Loginmechanismus

Installation und Wartung

Erweiterungen werden im Backend mit Hilfe des Extension-Managers installiert, der sich auch direkt mit dem TER verbinden kann, um die Erweiterung herunterzuladen. Er verwaltet dabei auch Abhängigkeiten, indem er beispielsweise auf eine fehlende zweite Erweiterung hinweist, die zum Betrieb einer ersten zu installierenden Erweiterung benötigt wird, oder indem er die Deinstallation einer Erweiterung verhindert, wenn andere installierte Erweiterungen auf dieser basieren. Der Anwender kann sich auch verfügbare Updates zu installierten Erweiterungen anzeigen lassen und diese direkt installieren.

Entwicklung

Es empfiehlt sich, die TYPO3-Erweiterung „Kickstarter“ zu benutzen, mit der ein Grundgerüst für die gewünschten Funktionen automatisch erstellt werden kann. Je nach Bedarf kann man damit Frontend- oder Backenderweiterungen auswählen. Das Erscheinungsbild der Formulare wird dabei in das Konfigurationsarray TCA eingebunden. Die erstellte Erweiterung enthält Dateien mit fest vorgegebenen Namen, die automatisch aufgerufen werden, zum Beispiel ext_localconf.php, ext_tables.sql und ext_emconf.php. Der Programmierer muss nur noch einzelne PHP-Funktionen programmieren. Bei der Installation der Erweiterung überprüft TYPO3 automatisch, ob die Anforderungen der Erweiterung erfüllt sind (benötigte Pakete/Version etc.).

Der PHP-Quellcode, der bis TYPO3 Version 4.1 die Syntax der PHP-Version 4 und ab TYPO3 Version 4.2 wenigstens PHP 5.2[81] voraussetzt, besteht in der Regel aus Dateien, die jeweils eine Plug-in-Klasse enthalten. Die Programmierung ist je nach Autor objektorientiert oder man verwendet die Klassen nur im Sinne von Modulen. Jede Klassendatei enthält eine Einbindung einer sogenannten XCLASS am Ende. Diese können von Erweiterungs-Entwicklern mit einem bestimmten Namensschema selbst definiert werden und sollten von der Originalklasse abgeleitet sein. Sie werden immer anstelle der Originalklasse verwendet. Es wird jedoch empfohlen Hooks anstelle von XCLASS zu verwenden. Damit wird eine bestehende Funktion über den Funktionsaufruf zu einer oder mehreren anderen Funktionen innerhalb von TYPO3-Erweiterungen beliebig erweiterbar gemacht.

Seit der Version 4.3 besteht die Möglichkeit, Erweiterungen auf Basis neuer Techniken zu programmieren, die von TYPO3 Flow portiert wurden. Dazu zählen unter Anderem das Model-View-Controller-Framework, das in TYPO3 4.3 in der Erweiterung extbase integriert wurde, und die Template Engine Fluid.

Beispiele

Durch Erweiterungen lassen sich die verschiedensten Funktionen modular integrieren. Einige davon sind:

  • Nachrichtensysteme – Darstellung und Verwaltung von News
  • alternative Template-Systeme/-Engines
  • alternative Rich-Text- bzw. WYSIWYG-Editoren
  • Digital Asset Management zur Speicherung und Verwaltung von beliebigen digitalen Inhalten
  • Daten über Länder, Sprachen und Währungen
  • Shop-Systeme
  • Benutzerregistrierung
  • Gästebücher
  • Foren
  • Bildergalerien
  • die Generierung menschenlesbarer URLs
  • Erweiterte, individuelle Mailformulare
  • Besucherverhalten auf Websites
  • Suchfunktionen

Große TYPO3-CMS-Projekte

Zahlreiche große Websites, vor allem auch viele deutschsprachige, etwa die Website des Landes Sachsen-Anhalt, die Website der Partei Bündnis 90/Die Grünen, die Website der Technischen Universität Berlin oder die Website des Deutschen Fußball-Bundes basieren auf TYPO3 CMS.[82]

Kritik

Kritiker weisen auf die Komplexität des Systems hin, sowie die damit verbundene lange Einarbeitungszeit für Administratoren.[83] Der Quellcode ist bis Mitte 2012 auf über 450.000 Zeilen angewachsen, ein Resultat daraus ist, dass das System in manchen Bereichen als schwerfällig empfunden wird.[84][85]

Zertifizierung

Seit der TYPO3-Konferenz 2008 gibt es die Möglichkeit, sich offiziell zertifizieren zu lassen. Dazu werden in verschiedenen Städten weltweit zu bestimmten Terminen offizielle Prüfungen abgenommen. Den Beginn macht dabei die Zertifizierung zum so genannten „Certified TYPO3 Integrator“[86], dessen Aufgaben in der Templateerstellung, der Konfiguration von Erweiterungen und der Vergabe von Nutzerrechten bestehen. Er installiert jedoch nicht TYPO3 CMS selbst auf einem Server und entwickelt selbst keine neuen Erweiterungen.[87] Für weitere Aufgabenfelder sind ebenfalls Zertifikate in Planung. Die Notwendigkeit einer Zertifizierungsmöglichkeit für TYPO3 CMS begründete Dominic Brander, Leiter der TYPO3-Zertifizierungsgruppe, mit der Steigerung des öffentlichen Bekanntheitsgrades der freien Software und des damit einhergehenden Einsatzes von Agenturen und Freelancern. Vielen habe allerdings die nötige Erfahrung im Umgang damit gefehlt, weshalb die erzielten Resultate oft nicht den Anforderungen des Kunden entsprochen hätten. Brander: „Für den Auftraggeber ist dann meist nicht ersichtlich, dass die Qualitätsmängel nichts mit der Software zu tun haben, sondern mit den Implementierern. So wurde dann allzu oft TYPO3 als schlechtes CMS bezeichnet, nur weil unerfahrene Agenturen unbefriedigende Lösungen lieferten. Daraus ist dann die Idee der Zertifizierung und unser Claim ‚TYPO3 certification helps to improve the quality of TYPO3-centered services‘ entstanden.“[88] Bis Ende August 2012 konnten Zertifizierungen für eine bestimmte TYPO3-Version (z. B. TYPO3 4.x) erlangt werden, die eine unbegrenzte Gültigkeit aufwiesen. Seit dem 1. September 2012 ausgegebene Zertifizierungen sind jeweils für 36 Monate gültig, dafür aber nicht mehr auf eine bestimmte Version beschränkt. Dies soll den Wert der Qualifikation als Certified Integrator erhöhen: Sowohl der Integrator als auch seine Kunden können sich jetzt sicher sein, dass die Prüfung innerhalb eines gewissen Zeitraums abgelegt wurde und der Leistungsnachweis dementsprechend aktuell ist. Dadurch, dass die Zertifikate für alle TYPO3-Versionen gültig sind, wird der hohen Veränderungsdynamik bei TYPO3 jedoch nicht Rechnung getragen. Eine Lösung für dieses Problem muss noch entwickelt werden.[89]

Wurden die Prüfungen bisher jeweils in Papierform an wechselnden Orten durchgeführt, stehen diese seit 2013 jederzeit und weltweit über die Testcenter von Pearson VUE zur Verfügung.[90]

Literatur

Bücher

Die Titel sind absteigend nach Erscheinungsjahr sortiert.

  • Andrea Herzog-Kienast, Erwin Hontheim: Das TYPO3-Buch (Aktualisierte 2. Auflage) Open Source Press, 2012, ISBN 978-3-941841-27-7
  • Patrick Lobacher: Certified TYPO3 Integrator (Aktualisierte 2. Auflage), Open Source Press, 2012, ISBN 978-3-941841-62-8
  • Alexander Ebner, Patrick Lobacher, Bernhard Ulbrich: TYPO3 und TypoScript – Kochbuch (Aktualisierte 3. Auflage zu TYPO3 4.3) Hanser Fachbuch, 2010, ISBN 978-3-446-41557-7
  • Robert Meyer: Praxiswissen TYPO3. (Aktualisierte Auflage zu TYPO3 4.3) O’Reilly, 2010, ISBN 978-3-89721-961-8
  • Hubert Partl, Tobias Müller-Prothmann: TYPO3 4.3 für Web-Autoren. Das Einsteigerseminar (Neuauflage 2010) BHV Verlag 2010, ISBN 978-3-8266-7511-9
  • Christian Trabold, Jo Hasenau und Peter Niederlag: TYPO3 Kochbuch (2. Auflage aktuell zu TYPO3 4.2) O’Reilly, 2008, ISBN 978-3-89721-851-2

Videotrainings

Artikel und Magazine

Commons: TYPO3 – Sammlung von Bildern, Videos und Audiodateien
  • typo3.org – TYPO3-Entwickler-Website: Online-Dokumentationen und Download von Erweiterungs-Modulen (englisch)
  • flow.typo3.org – Offizielle Website des Frameworks Flow, auf dem das Nachfolgeprodukt (TYPO3 Neos) basieren wird (englisch)
  • forge.typo3.org – TYPO3 Forge – Offizielle Entwickler Plattform für TYPO3 CMS, TYPO3 Neos, TYPO3 Flow und andere TYPO3-Produkte/deren Erweiterungen sowie für diverse TYPO3-Teams (inkl. Subversion-Repositories, Wiki, News-Modul, Issue-Tracker, Roadmap-Tool etc.) (englisch)
  • wiki.typo3.org – Offizielles Wiki (vorwiegend englisch, auch deutsch)
  • typoscript-generator.de – TypoScript-Generator | Online Quellcode für das CMS TYPO3 generieren (deutsch)

Einzelnachweise

  1. http://typo3.org/download/
  2. http://typo3.org/download/
  3. http://typo3.org/teams/core-development-team/
  4. Keynote zur T3Con12, in der Robert Lemke die Umbenennung näher erläutert (ab Minute 9:40)
  5. http://typo3.org/the-brand/about-the-name/
  6. a b http://typo3.org/extensions/repository/
  7. Distribution of content management systems among websites that use German
  8. TYPO3 in Numbers
  9. http://typo3.org/about/typo3-the-cms/system-requirements/
  10. http://forge.typo3.org/projects/typo3cms-core/issues
  11. http://www.typo3.net
  12. http://lists.typo3.org/cgi-bin/mailman/listinfo
  13. TypoScript Syntax and In-depth Study
  14. TypoScript: ein kleiner Rundblick
  15. Dokumentation TSconfig über User TSconfig und Page TSconfig
  16. Zur Änderung der Rollenverteilung im TYPO3-Core-Team
  17. Team Leaders
  18. a b Release-Notes zu TYPO3 4.4
  19. http://typo3.org/news/article/the-typo3-core-team-is-giving-a-short-summary-about-the-upcoming-releases-of-typo3/
  20. http://t3n.de/news/typo3-47-release-manager-383981/ TYPO3 4.7: Der Release-Manager im Gespräch
  21. a b http://typo3.org/download/ Informationen zum Supportzyklus für TYPO3-Versionen
  22. Installationsanleitung für TYPO3 3.0 (PDF; 358 kB)
  23. Installationsanleitung für TYPO3 3.0 mit Screenshots der Version 3.2 (PDF; 358 kB)
  24. Downloadmöglichkeit für ältere TYPO3-Versionen
  25. Originalquelltext aller neueren Versionen inkl. Veröffentlichungsdaten
  26. http://www.heise.de/newsticker/meldung/Typo3-3-6-0-fertig-gestellt-97991.html
  27. Release-Notes zu TYPO3 3.8
  28. Release-Notes zu TYPO3 3.8.1
  29. http://typo3.org/news/article/support-for-typo3-40-is-officially-over/ Kein weiterer Support für TYPO3 4.0
  30. Release-Notes zu TYPO3 4.0
  31. http://typo3.org/news/article/support-for-typo3-40-is-officially-over/ Sicherheitskritische Fehler in TYPO3 4.1 wurden noch bis zum Release von TYPO3 4.4 behoben.
  32. Release-Notes zu TYPO3 4.1
  33. Release-Notes zu TYPO3 4.2
  34. Podcast-Interview von Skårhøj mit dem Chefentwickler der Version 4.2 Ingo Renner
  35. Release-Notes zu TYPO3 4.3
  36. Release-Notes zu TYPO3 4.3
  37. Weiterführende Informationen zu TYPO3 4.4
  38. 4.5 Kickoff bei den TYPO3 Developer Days 2010 in Elmshorn, Juli 2010
  39. a b c d e f https://typo3.org/download/ Typo3 > Download
  40. http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450alpha3
  41. http://forge.typo3.org/projects/typo3v45-projects/wiki/TYPO3_450beta1
  42. http://buzz.typo3.org/article/typo3-45-will-be-the-most-secure-typo3-version-ever/
  43. Statusbericht zur Entwicklung von TYPO3 4.5, Stand: Oktober 2010
  44. TYPO3 4.6 Release Date abgerufen am 6. Oktober 2012
  45. Roadmap für TYPO3 4.6
  46. Übersicht über die Projekte für TYPO3 4.6
  47. Roadmap für TYPO3 4.6
  48. typo3.org: A Brief Introduction to TYPO3 version 4.6, abgerufen am 24. Oktober 2011
  49. http://typo3.org/roadmap/
  50. http://forge.typo3.org/projects/typo3v47-projects/wiki
  51. Informationen über die von der Bundesanstalt für Landwirtschaft und Ernährung angeregten Änderungen, abgerufen am 27. Juli 2011
  52. [1]
  53. TYPO3 4.7: Der Release-Manager im Gespräch, t3n, 23. April 2012. Abgerufen am 23. April 2012.
  54. http://typo3.org/news/article/the-typo3-core-team-is-giving-a-short-summary-about-the-upcoming-releases-of-typo3/
  55. http://typo3.org/news/article/typo3-60-release-schedule/
  56. a b http://www.heise.de/open/meldung/Erstes-Typo3-Release-mit-Langzeit-Support-1179768.html Erstes Typo3-Release mit Langzeit-Support
  57. http://typo3.org/news/article/development-report-file-abstraction-layer/
  58. http://typo3.org/news/article/typo3-60-back-to-the-future/
  59. http://typo3.org/news/article/the-typo3-core-team-is-giving-a-short-summary-about-the-upcoming-releases-of-typo3/
  60. http://typo3.org/news/article/typo3-60-release-schedule/
  61. http://typo3.org/home/
  62. Release-Notes zu TYPO3 CMS 6.1
  63. http://typo3.org/news/article/the-typo3-core-team-is-giving-a-short-summary-about-the-upcoming-releases-of-typo3/
  64. TYPO3 6.2 Release verschoben
  65. http://forge.typo3.org/issues/43703
  66. http://forge.typo3.org/issues/52547
  67. http://forge.typo3.org/projects/typo3cms-v62/wiki
  68. http://typo3.org/news/article/the-typo3-core-team-is-giving-a-short-summary-about-the-upcoming-releases-of-typo3/
  69. http://t3n.de/news/typo3-neos-version-10-alpha-505883/
  70. Roadmap für TYPO3 5.0. TYPO3 Association, abgerufen am 10. Oktober 2012.
  71. a b Jan Christe: TYPO3 Neos 1.0 alpha1 – Erste Einblicke in das neue CMS. In: t3n Magazin. 5. Oktober 2012, abgerufen am 10. Oktober 2012.
  72. Release Announcement von FLOW3 1.0 abgerufen am 11. Oktober 2011
  73. [2] abgerufen am 21. Oktober 2011
  74. Release Announcement von FLOW3 1.1 abgerufen am 28. August 2012
  75. [3] abgerufen am 28. August 2012
  76. a b Robert Lemke: Robert Lemke im Interview zu FLOW3. In: heise developer. Abgerufen am 22. Oktober 2011.
  77. http://www.typovision.de/fileadmin/slides/DWX-TYPO3-Neos-Patrick-Lobacher-20130624.pdf
  78. T3DD06 TYPO3 5.0 Brainstorming Results, 2006.
  79. TYPO3 Roadmap. Abgerufen am 1. August 2013.
  80. Jan Christe: Aus TYPO3 5.0 Phoenix wird „TYPO3 Neos“. In: t3n Magazin. 5. Oktober 2012, abgerufen am 5. Oktober 2012.
  81. „In addition, the new TYPO3 version now requires at least PHP 5.2.0 in order to run.“
  82. TYPO3 Reference Blog
  83. Zusammenfassung der Medienberatung NRW nach einer Umfrage an den Schulen NRWs
  84. Was würde Open-Source Software kosten? von Alexander Wahl, 6. Juni 2012
  85. Interview mit WoWa-Webdesign Silvio Kunze in blogger-zone.de, 1. April 2011
  86. About the certification
  87. Certification Team auf typo3.org
  88. Interview zum neuen Zertifikat „Certified TYPO3 Integrator“. In: t3n. 3. September 2008, abgerufen am 21. Juni 2012.
  89. http://typo3.org/news/article/new-rules-for-typo3-certification-validity/
  90. TYPO3-Zertifizierung auf Website von Pearson VUE. Abgerufen am 6. November 2012.