Typo3
Das Flakschiff der CMS-Systeme Typo3
Verwendung
Es wird geschätzt, dass TYPO3 weltweit mehr als 290.000mal eingesetzt wird[1]. TYPO3 stellt hohe Anforderungen an die Leistungs- und Konfigurationsfähigkeit des verwendeten Servers. Die Einarbeitungszeit für einen Website-Entwickler beträgt mehrere Wochen bis Monate, für einen Autor oder Redakteur normalerweise einige Stunden. Ein Entwickler, der eine TYPO3-Website einrichten möchte, muss sich in der Regel intensiv 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 (zu einem Großteil deutschsprachige) Anwendergemeinde (Bugtracker[2], Foren[3], News-/Mailinglisten[4]) und eine große Anzahl an Web-Agenturen. Einige Unternehmen haben sich auch darauf spezialisiert, Webseiten in TYPO3 zu erstellen oder Hostingangebote mit vorinstalliertem TYPO3 anzubieten.
Bedienung
TYPO3 wird auf einem Webserver betrieben und von einem Webbrowser aus gesteuert. Hierfür ist keine Zusatzsoftware beim Redakteur erforderlich, nur der Webbrowser muss unterstützt werden. 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. Die daraus entstehende Komplexität kann als Stärke, wie auch als Schwäche betrachtet werden.
TYPO3 enthält ein sog. Backend und ein Frontend. Die Verwendung dieser Begriffe weicht in TYPO3 von der klassischen Definition ab. Nach der klassischen Definition hat TYPO3 lediglich zwei Frontends für verschiedene Benutzerkategorien.
In TYPO3 meint der Begriff „Backend“ den im Webbrowser sichtbaren Teil von TYPO3, in dem die Website verwaltet wird. Dort werden Inhalte erstellt und bearbeitet. Ein Rich-Text-Editor, in dem Inhalte wie in einer Textverarbeitung (z. B. Word) formatiert werden können, erlaubt es gerade 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.
Funktion und Architektur
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 Erweiterungen), 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 (zum Beispiel 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.
Gestaltungselemente
Gestaltung und Programmierung mit TYPO3 kann über folgende Elemente erfolgen:
- Seitenbaum - Veränderung der Struktur und Eigenschaften der Seiten einer Website
- TYPO3-Konstanten - Universell gültige Parameter
- Erweiterungen - Einrichtung zusätzlicher Module
- HTML-Template: Einfaches HTML-Gerüst mit sogenannten Markern (z. B.: ###MARKER###) oder Subparts (z. B.: alles, was zwischen zwei Subparts steht, wird ersetzt ), die von TYPO3 durch unterschiedlichste Inhalte (Seitennavigation, Texte, Grafiken etc.) ersetzt werden. Alternativ können diese Marker durch die Extension Template Autoparser automatisch gesetzt werden.
- TypoScript-Template (unter "Template" – "setup"): Mit dieser etwas gewöhnungsbedürftigen internen Konfigurationssprache wird beschrieben, wie TYPO3 mit Markern und Subparts verfahren soll. Außerdem können damit Inhaltselemente konfiguriert werden.
- Die Ausgabe von Seiten ist auch ohne HTML-Templates – mit reinem TypoScript-Code – möglich. Diese Technik wird zum Teil von fortgeschrittenen Entwicklern bei XHTML-Seiten angewandt, die aus wenigen div-Elementen aufgebaut sind.
- PHP: Die TYPO3-Funktionen sind in PHP geschrieben und können von Anwendern, die besondere Zusatzfunktionen realisieren wollen, geändert oder ergänzt werden.
Entwicklung
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, der im April 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 Erweiterung eingeführt, die allerdings bis heute nicht Bestandteil des offiziellen TYPO3-Paketes 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 Verbesserungen in der Benutzerführung im Backend geplant sind, 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.
Erweiterungen
Um TYPO3 zu ändern oder zu ergänzen, werden eigenständige Programmteile, die sog. Erweiterungen, verwendet Bedeutsame und weit verbreitete Erweiterungen sind
- tt_news (Nachrichtensystem)
- Templa Voila (Templatingsystem)
- DAM (Digital Asset Management)
- static_info_tables (Informationen wie Länder, Sprachen und Währungen in lokalisierten Namen)
- tt_products (Shopsystem)
- sr_feuser_register (Frontend-Benutzerregistrierung)
- mm_forum (Forum)
- ve_guestbook (Gästebuch)
- realurl (Zur Erzeugung menschenlesbarer URLs)
- th_mailformplus und powermail (Mail-Formulare)
Entwickeln eigener TYPO3-Erweiterungen
TYPO3 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 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 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, wobei häufig Funktionen, die schon vorhanden sind, kopiert und angepasst werden können. Nach der Installation der Erweiterung ü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 Funktion über den Funktionsaufruf zu einer oder mehreren anderen Funktionen innerhalb von TYPO3-Erweiterungen beliebig erweiterbar gemacht.
Quelle: Wikipedia







