Registrieren Passwort vergessen?

Typo3

27. Nov 2008, 11:45
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

[Bearbeiten] Verwendung

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.

[Bearbeiten] Bedienung

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.

[Bearbeiten] Hinweis zu den Begriffen

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).

[Bearbeiten] 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 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.

[Bearbeiten] 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
  • Extensions - Einrichtung zusätzlicher Module
  • HTML-Template: Einfaches HTML-Gerüst mit sogenannten Markern (z. B.: ###MARKER###), die von TYPO3 durch unterschiedlichste Inhalte (Seitennavigation, Texten, 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 den Markern verfahren soll. Außerdem können damit Inhaltselemente konfiguriert werden.
    • Es ist auch die Ausgabe von Seiten nur über TypoScript ohne Verwendung von eingebundenen HTML Templates und Markern möglich. Dies wird teils von fortgeschrittenen Entwicklern angewendet bei XHTML Seiten, deren HTML-Elemente sich auf wenige divs beschränken.
  • PHP: Die TYPO3-Funktionen sind in PHP geschrieben und können von Anwendern, die besondere Zusatzfunktionen realisieren wollen, geändert oder ergänzt werden.

[Bearbeiten] 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, 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.

[Bearbeiten] Extensions

Der Code zum Erweitern von TYPO3 geschieht über eigenständige Programmteile, die Extensions. Bedeutsame und weit verbreitete Extensions sind

  • tt_news (Nachrichtensystem)
  • Templa Voila (Templatingsystem)
  • DAM (Digital Asset Management)
  • static_info_tables (Informationen wie Länder, 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 (Formulare)

[Bearbeiten] 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 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.

[Bearbeiten] Literatur

[Bearbeiten] Bücher

Die Titel sind absteigend nach Erscheinungsjahr sortiert.

[Bearbeiten] DVDs

  • Irene Höppner: TypoScript Videotraining (DVD-ROM) Addison-Wesley, 2006, ISBN 978-3-8273-6069-4
  • Thomas Kötter: TYPO3 4.0 Das Video-Training – Von den Grundlagen bis zum professionellen Webauftritt Galileo Press, 2006, ISBN 3-89842-856-7

[Bearbeiten] Artikel und Magazine

[Bearbeiten] Quellenangaben

  1. TYPO3: Facts and Figures

[Bearbeiten] Weblinks

Dieser Artikel ist eine Kopie aus der freien Enzyklopädie Wikipedia. Am Originalartikel kann jeder Korrekturen und Ergänzungen vornehmen. Zudem kann man frühere Versionen einsehen.
In Kooperation mit Lycos Europe Network