# Contao

Contao (früher TYPOlight) ist ein freies Content-Management-System (CMS) für kleine bis große Websites. Es ist ein Open-Source-Projekt, erschien erstmals 2006 und setzt auf Barrierefreiheit und aktuelle Webstandards. Als Datenbank wird MySQL verwendet. Das System lässt sich aus einem Pool von über 1900 Plug-ins in seiner Funktionalität erweitern.
Mit der Veröffentlichung der Vorabversion 2.9. RC1 am 6. Juni 2010 wurde TYPOlight in Contao umbenannt. Der Entwickler Leo Feyer begründete diesen Schritt damit, dass TYPOlight nach einem abgespeckten TYPO3 (CMS) klang und dass der Zusatz „light“ dahingehend missverstanden wurde, dass das CMS nur für kleine Projekte geeignet sei.

## Funktionsumfang

Contao bietet dem Anwender folgende Funktionen:
* Barrierefreie Ausgabe (HTML5)
* Generierung von suchmaschinenfreundlichen URLs, dynamischen Seitentiteln und vollständigen META-Angaben
* browserübergreifendes CSS-Framework
* Unterstützung von Seiten für Mobilgeräte
* Verwendung von Ajax- und Web-2.0-Technik
* integrierter Dateimanager, Suchmaschine und Formulargenerator
* mehrsprachiges benutzerfreundliches Backend (ca. 16 Sprachen), basierend auf Templates, und mehrsprachige Dokumentation
* Frontend-Ausgabe 100 % vorlagenbasierend
* Versionsverwaltung, Revisionen und Funktion, um Änderungen rückgängig zu machen
* Newsletterverwaltung
* Unterstützung mehrerer Sprachen mittels UTF-8-Codierung
* Aktualisierung via Composer oder dem eigens dafür entwickelten Frontend Contao Manager

### Erweiterungen

Inzwischen existieren im Contao Extension Repository über 1800 Erweiterungen in vielen Sprachen, welche im Administrationsbereich von Contao aufgelistet, installiert und aktualisiert werden können. Die Erweiterungen reichen von einfachen Funktionen bis hin zu umfangreichen Online-Shops oder Ticketsystemen.
Mit Composer steht eine neue Paketverwaltung für Contao zur Verfügung, die besser Abhängigkeiten verschiedener Module und Versionen verwalten kann und mittelfristig das Extension Repository ablösen soll. Sie basiert auf der gleichnamigen Paketverwaltung Composer.

### Gestaltungsmöglichkeiten
#### Module

    Bereitstellung und Konfiguration von vorhandenen Frontend-Modulen oder Erweiterungen von Drittanbietern. Frontend-Module sind zum Beispiel Gästebücher, Anmeldeseiten, Menüelemente, Nachrichten, Suchfelder etc.

#### Stylesheets

    Individuelle Gestaltung von Seiteninhalten durch die Verwendung von Cascading Style Sheets (CSS)

#### Seitenlayouts

    Definitionen der inhaltlichen Aufteilung von Webseiten (Anzahl und Position der verwendeten Inhaltselemente wie Textspalten, Kopfzeile, Fußzeile; Anzahl und Position der in der Seite verwendeten Module etc.)

#### Seitenstruktur

    Erweiterung/Veränderung der Seitenstruktur der Website und der Eigenschaften einzelner Seiten (wie zum Beispiel Sprache, Sichtbarkeit etc.)

#### Templates

    Vorkonfigurierte HTML-Seitenvorlagen, die sogenannte Bereichsvorlagen (zum Beispiel $this->header) beinhalten können, die dann in den Seitenlayouts mit Frontend-Modulen befüllt werden.

#### Inserttags

    Inserttags sind Platzhalter (zum Beispiel {{date}} für das aktuelle Datum), die bei der Ausgabe einer Seite durch bestimmte Werte ersetzt werden. Sie können in Templates oder in Modulen verwendet werden.

#### PHP

    Contao kann mit Hilfe der Skriptsprache PHP um zusätzliche Frontend- oder Backend-Module erweitert oder in seiner Funktionalität angepasst werden. Seit September 2008 gibt es ein offizielles „Contao Extension Repository“, in dem alle verfügbaren Erweiterungen zentral zusammengefasst sind.

#### Hooks

    Hooks sind Schnittstellen zu allen wichtigen Contao-Grundfunktionen, über die Entwickler eigene Anpassungen und Erweiterungen am System vornehmen können, ohne Änderungen am Contao-Kern durchführen zu müssen.

### Suchmaschinenfreundlichkeit

Möchte man Webseiten erstellen, die für die Crawling-Technik der heutigen modernen Suchmaschinen besonders geeignet sind, bietet Contao die hierzu notwendigen Einstellmöglichkeiten:

#### Metaangaben

    Schlüsselwörter und Beschreibungs-Tags können für jede Seite separat angegeben werden. Die Integration eigener Metaangaben ist möglich.

#### Seitentitel

    Diese können für jede Seite definiert werden. Der Titel des Projektes und der Seite stehen als eigene Variablen zur Verfügung.

#### Robot Tags

    Seiten können von der Indexierung explizit ausgeschlossen werden. Das Indexwort, follow-tag kann durch eine PHP-Bedingung integriert werden.

#### URLs

    Contao bietet das Umschreiben der vom System generierten URLs in ein suchmaschinenfreundliches Format. Wahlweise geschieht dies auch per mod_rewrite. Auch URLs mit mehr als einer logischen Verzeichnistiefe wie beispielsweise kontakt/ansprechpartner.html sind möglich.

#### Code

    Das System liefert barrierefreien und standardkonformen Code. Ein tabellenloses Design ist umgesetzt.

#### Sitemap

    Es kann automatisiert eine Sitemap generiert werden, die zum Beispiel von Suchmaschinen ausgewertet werden kann.

#### Analyse

    Im Backend können Vorlagen für Google Analytics oder Matomo eingebunden werden, die den benötigten Code für dieses Tool an der richtigen Stelle im Quelltext der Seite einfügen.

## Long-Term-Support-Version

Der Release-Zyklus von Contao beinhaltet auch Versionen mit Long-Term-Support. Die Contao-Versionen mit verlängertem Supportzeitraum werden während 3 Jahren mit Bugfixes und 1 Jahr mit sicherheitsrelevanten Updates versorgt, auch wenn zwischenzeitlich schon neuere Contao-Versionen veröffentlicht wurden.

## Versionen

| Legende: | Ältere Version; nicht mehr unterstützt | Ältere Version; noch unterstützt | Aktuelle Version | Aktuelle Vorabversion | Zukünftige Version |
| Software | Major-Releases | Minor-Releases | Bugfix-Releases (Veröffentlichung) | Allgemeine Korrekturen bis | Sicherheitsrelevante Korrekturen bis |
| TYPOlight | 1.x | Ältere Version; nicht mehr unterstützt: 1.0 | 1.0.0 (12.03.2006) | | |
| TYPOlight | 2.x | Ältere Version; nicht mehr unterstützt: 2.0 | 2.0.0 (24.11.2006) | | |
| TYPOlight | 2.x | Ältere Version; nicht mehr unterstützt: 2.1 | 2.1.0 (28.11.2006) bis 2.1.22 (29.01.2007) | | |
| TYPOlight | 2.x | Ältere Version; nicht mehr unterstützt: 2.2 | 2.2.0 (28.02.2007) bis 2.2.12 (10.4.2007) | | |
| TYPOlight | 2.x | Ältere Version; nicht mehr unterstützt: 2.3 | 2.3.0 (25.04.2007) bis 2.3.4 (11.05.2007) | | |
| TYPOlight | 2.x | Ältere Version; nicht mehr unterstützt: 2.4 | 2.4.0 (07.06.2007) bis 2.4.7 (11.10.2007) | | |
| TYPOlight | 2.x | Ältere Version; nicht mehr unterstützt: 2.5 | 2.5.0 (12.12.2007) bis 2.5.9 (06.06.2008) | | |
| TYPOlight | 2.x | Ältere Version; nicht mehr unterstützt: 2.6 | 2.6.0 (12.08.2008) bis 2.6.8 (01.05.2010) | | |
| TYPOlight | 2.x | Ältere Version; nicht mehr unterstützt: 2.7 | 2.7.0 (01.05.2009) bis 2.7.7 (01.05.2010) | | |
| TYPOlight | 2.x | Ältere Version; nicht mehr unterstützt: 2.8 | 2.8.0 (16.02.2010) bis 2.8.4 (30.06.2010) | | |
| Contao | 2.x | Ältere Version; nicht mehr unterstützt: 2.9 | 2.9.0 (02.07.2010) bis 2.9.5 (18.05.2011) | | |
| Contao | 2.x | Ältere Version; nicht mehr unterstützt: 2.10 | 2.10.0 (11.08.2011) bis 2.10.4 (30.12.2011) | | |
| Contao | 2.x | Ältere Version; nicht mehr unterstützt: 2.11 (LTS) | 2.11.0 (15.02.2012) bis 2.11.17 (07.04.2014) | | |
| Contao | 3.x | Ältere Version; nicht mehr unterstützt: 3.0 | 3.0.0 (30.10.2012) bis 3.0.6 (21.03.2013) | | |
| Contao | 3.x | Ältere Version; nicht mehr unterstützt: 3.1 | 3.1.0 (21.05.2013) bis 3.1.5 (08.11.2013) | | |
| Contao | 3.x | Ältere Version; nicht mehr unterstützt: 3.2 (LTS) | 3.2.0 (21.11.2013) bis 3.2.21 (05.06.2015) | | |
| Contao | 3.x | Ältere Version; nicht mehr unterstützt: 3.3 | 3.3.0 (26.05.2014) bis 3.3.7 (24.11.2014) | | |
| Contao | 3.x | Ältere Version; nicht mehr unterstützt: 3.4 | 3.4.0 (25.11.2014) bis 3.4.5 (27.03.2015) | | |
| Contao | 3.x | Ältere Version; nicht mehr unterstützt: 3.5 (LTS) | 3.5.0 (05.06.2015) bis 3.5.40 (11.04.2019) | Juni 2018 | Mai 2019 |
| Contao | 4.x | Ältere Version; nicht mehr unterstützt: 4.0 | 4.0.0 (09.06.2015) bis 4.0.4 (16.10.2015) | Dezember 2015 | |
| Contao | 4.x | Ältere Version; nicht mehr unterstützt: 4.1 | 4.1.0 (26.11.2015) bis 4.1.3 (22.04.2016) | Juni 2016 | |
| Contao | 4.x | Ältere Version; nicht mehr unterstützt: 4.2 | 4.2.0 (18.06.2016) bis 4.2.5 (27.10.2016) | Dezember 2016 | |
| Contao | 4.x | Ältere Version; nicht mehr unterstützt: 4.3 | 4.3.0 (25.11.2016) bis 4.3.11 (02.06.2017) | Juni 2017 | |
| Contao | 4.x | Ältere Version; nicht mehr unterstützt: 4.4 (LTS) | 4.4.0 (15.06.2017) bis 4.4.57 (23.08.2021) | 14. Dezember 2020 | 14. Dezember 2021 |
| Contao | 4.x | Ältere Version; nicht mehr unterstützt: 4.5 | 4.5.0 (28.12.2017) bis 4.5.14 (28.08.2018) | August 2018 | |
| Contao | 4.x | Ältere Version; nicht mehr unterstützt: 4.6 | 4.6.0 (23.08.2018) bis 4.6.14 (24.01.2019) | Februar 2019 | |
| Contao | 4.x | Ältere Version; nicht mehr unterstützt: 4.7 | 4.7.0 (15.02.2019) bis 4.7.7 (16.07.2019) | August 2019 | |
| Contao | 4.x | Ältere Version; nicht mehr unterstützt: 4.8 | 4.8.0 (15.08.2019) bis 4.8.8 (17.02.2020) | Februar 2020 | |
| Contao | 4.x | Ältere Version; nicht mehr unterstützt: 4.9 (LTS) | 4.9.0 (18.02.2020) bis 4.9.42 (25.07.2023) | 14. Februar 2023 | 14. Februar 2024 |
| Contao | 4.x | Ältere Version; nicht mehr unterstützt: 4.10 | 4.10.0 (18.08.2020) bis 4.10.7 (16.02.2021) | 14. Februar 2021 | |
| Contao | 4.x | Ältere Version; nicht mehr unterstützt: 4.11 | 4.11.0 (17.02.2021) bis 4.11.9 (24.08.2021) | 14. August 2021 | |
| Contao | 4.x | Ältere Version; nicht mehr unterstützt: 4.12 | 4.12.0 (19.08.2021) bis 4.12.7 (18.02.2022) | 14. Januar 2022 | |
| Contao | 4.x | Ältere Version; noch unterstützt: 4.13 (LTS) | 4.13.0 (17.02.2022) bis 4.13.54 (18.03.2025) | 14. Februar 2025 | 14. Februar 2026 |
| Contao | 5.x | Ältere Version; nicht mehr unterstützt: 5.0 | 5.0.0 (18.08.2022) bis 5.0.10 (16.02.2023) | 14. Februar 2023 | |
| Contao | 5.x | Ältere Version; nicht mehr unterstützt: 5.1 | 5.1.0 (16.02.2022) bis 5.1.11 (01.08.2023) | 14. August 2023 | |
| Contao | 5.x | Ältere Version; nicht mehr unterstützt: 5.2 | 5.2.0 (15.08.2023) bis 5.2.10 (16.02.2024) | 16. Februar 2024 | |
| Contao | 5.x | Ältere Version; noch unterstützt: 5.3 (LTS) | 5.3.0 (16.02.2024) bis 5.3.30 (18.03.2025) | 14. Februar 2027 | 14. Februar 2028 |
| Contao | 5.x | Ältere Version; nicht mehr unterstützt: 5.4 | 5.4.0 (15.08.2024) bis 5.4.14 (17.02.2025) | 14. Februar 2025 | |
| Contao | 5.x | Aktuelle Version: 5.5 | 5.5.0 (18.02.2025) bis 5.5.6 (18.03.2025) | 14. August 2025 | |
| Contao | 5.x | Zukünftige Version: 5.6 | | 14. Februar 2026 | |
| Contao | 5.x | Zukünftige Version: 5.7 (LTS) | | 14. Februar 2029 | 14. Februar 2030 |
| Contao | 6.x | Zukünftige Version: 6.0 | | 14. Februar 2027 | |
| Contao | 6.x | Zukünftige Version: 6.1 | | 14. August 2027 | |

## Contao-Association

Am 16. Mai 2012 wurde der „Contao Verein Schweiz“ per Mitgliederentscheid in „Contao-Association“ umbenannt und tritt als offizieller Contao-Verein zur Förderung des Contao Open Source CMS auf. Der Verein hat seinen Sitz weiterhin in der Schweiz, jedoch nun mit dem Fokus auf Deutschland, Österreich und die Schweiz. Die Ziele des Vereins sind die Finanzierung der Weiterentwicklung von Contao, die Neu- und Weiterentwicklung von Erweiterungen, die Kommunikation nach innen und außen sowie Public Relations und die Organisation von Events.

## Arbeitsgruppe „Core-Entwicklung“

In der Vergangenheit wurde Contao dafür kritisiert, dass das Kernsystem von Contao nur von einem Entwickler erstellt wird, was für eine nachhaltige Weiterentwicklung kritisch sein kann. Um dem entgegenzuwirken, gibt es seit Sommer 2011 die offizielle Arbeitsgruppe „Core-Entwicklung“ mit aktuell (2022) acht Entwicklern.
Der Prozess der Entwicklung des Kernsystems wurde inzwischen dahingehend geöffnet, dass ein öffentliches Projektarchiv (Repository) eingerichtet wurde. Engagierte Entwickler aus der Community können dadurch Änderungen am Kernsystem in den Zwischenschritten zeitnah nachvollziehen, überprüfen und dazu Hinweise/Anregungen im Ticketsystem hinterlassen.