Seit über 20 Jahren arbeiten wir jetzt schon mit dem Content-Management-System "TYPO3". In dieser Zeit haben wir hunderte von Projekten umgesetzt, die uns manchmal sehr gefordert haben. Am Anfang, als der Funktionsumfang von TYPO3 noch sehr überschaubar war, haben wir selber viele Erweiterungen programmiert. Im Laufe der Zeit sind jedoch sehr viele der Funktionen, die wir zu Beginn mit Hilfe der Erweiterungen umgesetzt haben, in den stetig wachsenden Programmkern gewandert. In diesem Blogbeitrag möchte ich die Entwicklung von TYPO3 seit 1999 anreißen und einen einfachen Überblick über die Funktionsweise und den Aufbau von TYPO3 geben.

Inhalt:


Internetauftritte mit statischen HTML

Als Thomas Schneider und ich 1999 BRAINWORXX gründeten, waren echte Content-Management-Systeme (CMS) noch in weiter Ferne. PHP fing gerade an sich als Scriptsprache für Internetseiten zu etablieren. Webseiten wurden hauptsächlich als statische HTML-Seiten erstellt. Programmierer waren zu der Zeit für die Erstellung der Seiten verantwortlich, und dafür war ein gewisses technisches Know-How nötig. Das Web-Design steckte in den Kinderschuhen und ohne die Hilfe eines Programmierers konnte kein Designer eine ordentliche Website erstellen.

 

Die ersten Offline CMS-Systeme

Dann gab es zunächst einige „offline“ Content-Management-Systeme. Das waren Design-Programme, die auf dem Rechner installiert wurden. Mit ihrer Hilfe konnte man relativ einfach Internetseiten gestalten und damit komplexere Webseiten erstellen. Nachdem mit Hilfe des Programms eine Website erstellt war, konnte man diese als statisches HTML exportieren und anschließend auf einen Webserver spielen. Diese Systeme hatte jedoch einige Nachteile:

  • Das Programm für die Erstellung der Webseite war in der Regel nur auf einem Rechner installiert. Man benötigte also den Zugriff zu diesem Rechner, um die Webseite zu bearbeiten.
  • Wenn Änderungen an der Webseite vorgenommen wurden, mussten alle Dateien erneut auf den Webserver übertragen werden.
  • Kurzfristige Änderungen am Inhalt waren fast nicht möglich.
  • Die Verwendung von Templates war zu dieser Zeit noch nicht Standard, so dass kleine Änderungen (neues Logo, andere Farben, …) zur Folge hatten, dass viele Dateien angepasst  werden mussten.
  • Dadurch waren diese System oft sehr fehleranfällig.

Außerdem kam es nicht selten vor, dass derjenige, der für den Internetauftritt zuständig war, nicht erreichbar war, so dass Änderungen am Internetauftritt nicht durchgeführt werden konnten.

 

(Online) Web-CMS-Systeme

So entstand (auch bei uns) der Wunsch ein Content-Management-System zur Verfügung zu haben,  das direkt auf dem Webserver läuft und von jedem Ort der Welt aufgerufen werden kann. Bald gab es die ersten Content-Management-Systeme, die im Browser aufgerufen werden können. Aus diesem Grund wurden sie in frühen Zeiten auch Web-Conent-Management-System (WCMS) genannt. Wir haben im Jahr 1999 begonnen ein eigenes WCMS zu entwicklen. Redaxx war der Name des Systems und es wurde über einige Jahre für mehrere namhafte Kunden eingesetzt. Unter anderem für Volkswagen-Braunschweig und Volkswagen-Coaching

 

TYPO 3 erscheint

Ungefähr zu gleichen Zeit tauchte TYPO3 auf der Bildfläche auf. Ein Web-Content-Management-System, das auf PHP und die Datenbank MySQL setzte. Ziel von Kasper Skårhøj, dem „Erfinder“ von TYPO3 war es Technik und Design von der inhaltlichen Pflege zu trennen. Dadurch wurde es möglich, das Online-Redakteure die Inhalte der Webseite bearbeiten können, ohne Erfahrung mit HTML, PHP, Javascript usw. zu haben. Kasper veröffentlichte TYPO3 als OpenSource, so dass sich sehr schnell eine grpße Entwickler-Community bildete, die das Projekt schnell vorantrieb. 2001 kam die erste stabile Version auf den Markt, die wir uns umgehend anschauten. Da auch Redax auf Basis von PHP und MySQL programmiert war, fanden wir einen schnellen Zugang zu TYPO3. 

TYPO3 entwickelt sich schnell weiter

Wir merkten schnell, dass die Entwicklung von TYPO3 durch die große Community zügig voran ging. Unser eigenes System Redaxx hing dem schnell hinterher, so dass wir uns 2002 entschieden ein Testprojekt mit TYPO3 zu realisieren, um dann zu entscheiden ob wir unser System Redaxx einstellen sollten, um ganz auf TYPO3 zu setzen. Nach einigen Monaten hatten wir so viel Erfahrung mit TYPO3 gesammelt, dass wir ab Ende 2002 Redaxx einmotteten und alle zukünftigen Projekte mit TYPO3 umsetzen. Dabei sind wir bis heute geblieben. 

Wir setzen auf TYPO3

Da wir 2004 ein Projekt umsetzten, bei dem der Wunsch des Kunden war, eine Oracle-Datenbank anstatt MySQL einzusetzen, haben wir damals mit Kasper zusammen einen Datenbank-Abstraction-Layer entwickelt, der es möglich machte, jede beliebige Datenbank an TYPO3 anzubinden. Unglücklicherweise hatte der DBAL den Nachteil, dass das System langsamer arbeitete und so gingen wir in dem Projekt doch wieder zurück zu MySQL. Heute wird so gut wie immer MySQL mit TYPO3 eingesetzt. 

Extensions erweitern TYPO3

Zu Beginn war der Funktionsumfang von TYPO3 noch ziemlich überschaubar, aber Kasper hatte von Anfang an ein Plugin-System implementiert, über das man beliebige Erweiterungen an TYPO3 anbinden konnte. Schnell entstanden tausende von Plugins für alle möglichen Funktionen, und auch der Programmkern wurde und wird permanent weiterentwickelt. Wir haben selber viele Erweiterungen für unsere Kundenprojekte erstellt, die in der Regel aber immer sehr speziell auf den Kunden zugeschnitten waren, so dass nur wenige davon veröffentlicht wurden. 

Wir entwickeln eigene TYPO3-Extensions

Heute gibt es von uns noch eine Extension, die regelmäßig an die neuste Version von TYPO3 angepasst wird. Krexx ist ein Debugger für TYPO3, der von der TYPO3-Community rege genutzt wird. Unser Mitarbeiter Tobias Gülzow hat den Debugger ursprünglich programmiert und kümmert sich seit Jahren um dessen Weiterentwicklung. TYPO3 liegt heute in der Version 10 vor und Krexx ist auch für dies Version schon optimiert.

Wie arbeitet TYPO3?

TYPO3 besteht grundlegend aus zwei Komponenten, dem Programmkern und der MySQL-Datenbank.

Der TYPO3-Kern stellt das eigentliche CMS dar und die MySQL-Datenbank ist der Bereich, in dem die Daten gespeichert werden. Der TYPO3-Kern ist neben vielen anderen Funktionen für die Bereitstellung des „Backends“ und des „Frontends“ zuständig. Das Frontend ist der Teil, der beim Aufruf einer Webseite, die mit TYPO3 erstellt wurde, im Browser angezeigt wird. Das Backend dient dazu, das Design und die Inhalte der Webseite als Administrator, Designer oder Redakteur zu bearbeiten.

Die Funktionalität von TYPO3 kann durch Plugins erweitert werden. Plugins können sowohl die Funktionalität des Frontends als auch des Backends erweitern.

TYPO3 speichert nicht alle Daten in der MySQL-Datenbank. Viele Daten, wie Bilder, PDFs, Templates (HTML), CSS-Dateien, … werden im Datei-System gespeichert.

In der Gesamtübersicht sieht man noch einmal den kompletten Aufbau von TYPO3.

Was sind die Voraussetzungen für TYPO3?

Damit das ganze System funktioniert und über das Internet erreichbar ist, muss TYPO3 auf einem Server abgelegt werden. Auf diesem Server müssen einige Voraussetzungen erfüllt sein.

  • Ein Webserver muss installiert sein (in der Regel ein Apache-Webserver)
  • Die Datenbank MySQL muss installiert sein
  • Die Scriptsprache PHP muss installiert sein

Der Apache ist dafür Zuständig, dass eine Webseite ausgeliefert werden kann. TYPO3 verwendet die Scriptsprache PHP, um die Seiten zu erstellen und mit den Daten aus der MySQL-Datenbank und dem Dateis-System zu füllen. PHP übergibt die fertige Seite an den Apache, und dieser liefert die Seite über das Internet an den Besucher oder Redakteur aus.

Welche Vorteile bietet TYPO3 gegenüber vielen anderen Content-Management-Systemen?

  • TYPO stellt eine umfangreiche Userverwaltung bereit, mit deren Hilfe die Zugriffsrechte sehr fein eingestellt werden können. Ein Redakteur sieht im Backend z.B. nur die Elemente, auf die er Zugriff hat.
  • TYPO3 ist sehr gut für mehrsprachige Projekte geeignet.
  • TYPO3 erfüllt die höchsten Sicherheitsstandards.
  • TYPO3 kann problemlos an größere ERP-Systeme wie SAP angebunden werden.
  • TYPO3 ist skalierbar und kann auch für sehr große Internetauftritte eingesetzt werden.
  • TYPO3 ist ein stabiles schnelles System, das kontinuierlich weiter entwickelt wird.

Wir arbeiten jetzt seit 2o Jahren mit TYPO3 und haben ein entsprechend großes Know-How aufgebaut. Viele unserer Kunden betreuen wir seit vielen Jahren, was uns in der heutigen kurzlebigen Zeit doch etwas stolz macht.