| TYPO3 | |
|---|---|
![]() |
|
![]() browserbasiertes Content-Management-System |
|
| Basisdaten | |
| Entwickler: | Kasper Skårhøj, TYPO3 Association |
| Aktuelle Version: | 4.2.3 (11. November 2008) |
| Betriebssystem: | betriebssystemunabhängig (interpretiert) |
| Kategorie: | Web-Content-Management-System |
| Lizenz: | GPL (Freie Software) |
| Deutschsprachig: | ja |
| typo3.com typo3.org | |
TYPO3 ist ein 1998 erschienenes freies Entwicklungsframework für mittlere bis große Websites, das von Kasper Skårhøj entwickelt wurde. TYPO3 basiert auf der serverseitigen Skriptsprache PHP. Als Datenbank wird häufig MySQL eingesetzt, möglich sind aber auch etwa PostgreSQL oder Oracle. Das System wird von dem ursprünglichen Autor und einer Community aktiv weiterentwickelt.
TYPO3 kann mit Plugins (extensions, Erweiterungsmodulen) um viele Funktionen und ganze Anwendungsprogramme erweitert werden, ohne dass eigener Programmcode geschrieben werden muss. Derzeit sind etwa 3.000 Erweiterungen verfügbar, darunter News, Shop-Systeme, Diskussionsforen und andere. Vorteilhaft ist die Mehrsprachigkeit von Front- und Backend, sowie die aktive Anwender- und Entwicklergemeinde aus aller Welt. TYPO3 gehört zusammen mit Drupal und Joomla! zu den bekanntesten Content-Management-Systemen aus dem Bereich der freien Software.
Inhaltsverzeichnis |
Es wird geschätzt, dass TYPO3 im Jahr 2008 mehr als 290.000 mal weltweit[1] eingesetzt worden ist. TYPO3 stellt hohe Anforderungen an die Leistungs- und Konfigurationsfähigkeit des verwendeten Servers. Die Einarbeitungszeit für einen Website-Entwickler beträgt mehrere Wochen, für einen Redakteur normalerweise einige Stunden. Ein Entwickler, der eine TYPO3-Website einrichten möchte, muss sich meist auch mit der Konfigurationssprache TypoScript beschäftigen.
Im Gegensatz zu kommerzieller Software gibt es bei TYPO3 keinen Support durch den Hersteller bzw. Entwickler, dafür aber durch die Anwendergemeinde (Bugtracker, Foren, News-/Mailinglisten) und eine große Anzahl an Web-Agenturen. Einige Firmen haben sich auch darauf spezialisiert, Webseiten in TYPO3 zu erstellen oder Hostingangebote mit vorinstalliertem TYPO3 anzubieten.
TYPO3 wird auf einem Webserver betrieben und von einem Webbrowser aus gesteuert. Hierfür ist keine Zusatzsoftware beim Redakteur erforderlich, allerdings muss der Webbrowser unterstützt werden. Die Bedienung gliedert sich in die Bereiche Design, TypoScript und Inhalt. Die Komplexität wird teils als Stärke, teils als Schwäche betrachtet.
Die Verwaltung (das „Backend“ siehe Hinweis zu den Begriffen) ist der im Webbrowser sichtbare Teil von TYPO3, in dem Inhalte erstellt und bearbeitet werden. Ein Rich-Text-Editor, in dem Inhalte wie in einer Textverarbeitung (z. B. Word) formatiert werden können, erlaubt auch Anwendern ohne HTML-Kenntnisse redaktionelle Arbeit zu erledigen. Alternativ kann die Bearbeitung auch direkt über die dargestellten Webseiten (das „Frontend“) erfolgen. Diese Option muss vom Administrator freigegeben werden und bietet Autoren dann einen schnellen Einstieg in das System.
Die Verwendung der Begriffe Frontend und Backend in TYPO3 weicht von der klassischen Definition ab, nach der TYPO3 lediglich zwei Frontends für verschiedene Benutzerkategorien hätte. Siehe Frontend und Backend (klassische Definition).
Zu den Funktionen gehören unter anderem zeitliche Steuerung zum Einblenden und Entfernen von Inhalten, Rollen- und Rechtesystem, Suchfunktion für statische und dynamische Inhalte, automatische Sitemap, Druckansicht, Nutzerverwaltung, Mehrsprachigkeit, suchmaschinenfreundliche URLs, die sich über verschiedene Zusatzmodule (sogenannte Extensions), wie z. B. Gästebücher, Foren, Newsletter, Statistikmodule etc. erweitern lassen. Bilder, Texte, Tabellen, Animationen sowie externe Datenquellen können in TYPO3 verwaltet werden.
Templates (Formatvorlagen) erleichtern die Darstellung von Inhalten, in denen Seitenaufbau und Formate definiert werden (z. B. an welcher Stelle die Navigationsleisten und Inhalte angezeigt werden, die Schriftfarben und -größen, die Positionierung von Überschriften). Inhalte werden über frei konfigurierbare Eingabemasken eingegeben, z. B. 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 in Verbindung mit dem Bildkonverter ImageMagick und GDLib eine modifizierte Bilddatei im neuen Format erzeugt.
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 Internetpräsenz allein durch Austausch des Templates vollständig geändert werden, ohne die Inhalte anzufassen, oder dieselben Inhalte in unterschiedlichen Layouts präsentiert werden.
Während in früheren Versionen die MySQL-Datenbank direkt angesprochen wurde, kann nun mit dem 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 häufiger Datenbankaufrufe zwischen. So wird gerade bei stark nachgefragten Seiten die CPU-Belastung gesenkt, die Anzahl der Datenbankabfragen verringert und die Seite damit schneller ausgeliefert, wenn viele Nutzer die gleichen Informationen abrufen. Seit Version 4.1 verwendet TYPO3 im Backend auch Ajax.
Gestaltung und Programmierung mit TYPO3 kann über folgende Elemente erfolgen:
Geistiger Vater und ehemaliger Chefprogrammierer von TYPO3 ist der Däne Kasper Skårhøj. Die Weiterentwicklung des Systems teilt sich zur Zeit auf den 4.x-Zweig und die Version 5.0 auf, die von Michael Stucki respektive Robert Lemke geleitet werden. Aktuell ist der Versionszweig 4.2, die im Oktober 2008 veröffentlicht wurde. In der Version 4.0 kamen einige Features hinzu wie Unterstützung von Workspaces, ein neuer Texteditor, diverse Änderungen an der Arbeitsweise von CSS-styled-content und Geschwindigkeitsverbesserungen. Version 3.8.1, die am 14. November 2005 veröffentlicht wurde enthielt u. a. GraphicsMagick-Unterstützung und lässt das Zwischenspeichern der Seiten auf Proxy-Servern zu. Am 26. September 2004 wurde die Version 3.7 veröffentlicht, die u. a. eine erneuerte TYPO3-Engine enthielt. Am 30. April 2004 wurde die Version 3.6 von TYPO3 fertig gestellt, deren wichtigste Neuerung die Erzeugung von XHTML-konformem Quellcode der Standard-Content-Elemente ist. Außerdem wurde in diesem Jahr die TemplaVoila Template Engine als Extension eingeführt, die allerdings bis heute nicht Bestandteil des offiziellen TYPO3-Package ist. Daneben wurde u. a. eine Datenbank-Abstraktionsschicht (DBAL) geschaffen, mit der TYPO3 neben MySQL auch mit anderen Datenbanksystemen wie Oracle oder PostgreSQL eingesetzt werden kann. Neben der Weiterentwicklung des 4.x-Zweiges, für den unter anderem eine verbesserte Benutzerführung im Backend geplant ist, wurde bereits mit der Entwicklung von TYPO3 5.0 begonnen. Das Projekt wurde von Robert Lemke initiiert und setzt auf eine grundlegend neue Architektur für das System. TYPO3 5.0 wird auf einem eigens dafür entwickelten Framework basieren, das unter dem Namen FLOW3 als eigenständiges Projekt veröffentlicht wurde.
Der Code zum Erweitern von TYPO3 geschieht über eigenständige Programmteile, die Extensions. Bedeutsame und weit verbreitete Extensions sind
TYPO3 wird intern über verschiedene PHP-Arrays gesteuert. Sie enthalten alle Informationen, die notwendig sind, um aus den in einer Datenbank gespeicherten Inhalten über Typoscriptbefehle HTML-Code zu erzeugen. In der Regel kann man fast jede Ausgabe und viele Backendeinstellungen über Änderungen der Konfiguration in den Arrays anpassen. Der bei Laufzeit der PHP-Skripte dabei verwendete Speicher im Webserver ist deshalb nicht unerheblich.
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. Die benötigte Funktionalität wird dabei normalerweise in das TYPO3-Konfigurationsarray TCA eingebunden. Die erstellte Extension enthält Dateien mit fest vorgegebenen Namen, die automatisch aufgerufen werden, z. B. ext_localconf.php, ext_tables.sql und ext_emconf.php. Der Programmierer muss nur noch einzelne PHP-Funktionen programmieren, wobei häufig Funktionen, die schon vorhanden sind, kopiert und angepasst werden können. Nach der Installation der Extension überprüft TYPO3 automatisch, ob die Erweiterung notwendige TYPO3-Standards einhält.
Der PHP-Quellcode, der bis TYPO3 Version 4.1 die Syntax der PHP-Version 4 und ab Version 4.2 PHP5 verwendet, besteht in der Regel aus Dateien, die jeweils eine Plugin-Klasse enthalten. Die Programmierung ist je nach Autor richtig 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. Dabei wird eine bestehende Funktionen über den Funktionsaufruf zu einer oder mehreren anderen Funktionen innerhalb von TYPO3-Extensions beliebig erweiterbar gemacht.
Die Titel sind absteigend nach Erscheinungsjahr sortiert.