# Zikula

Zikula [sikula:] ist ein in PHP geschriebenes freies Webframework, welches auf de-facto Standards wie Symfony und Twig basiert.

## Name

Der Name „Zikula“ ist angelehnt an mehrere Zulu-Worte, die „schnell“ und „einfach“ bedeuten, und wurde zusammen mit dem Logo 2008 vom Unternehmen pro bono entwickelt. Die Entwickler versprachen sich davon einen Neuanfang, der die umfangreichen Änderungen in der Codebase gegenüber dem Vorgängersystem reflektierte:
    „The Zikula brand name was created from several Zulu words, one of the official languages of South Africa, where „Zila ukudla“ means fast and „Lula“ means easy, which are the main attributes of the software.“

## Versionen

| Legende: | Ältere Version; nicht mehr unterstützt | Ältere Version; noch unterstützt | Aktuelle Version | Aktuelle Vorabversion | Zukünftige Version |
| Zweig | Version | Veröffentlichung | Wichtigste Änderungen |
| 1.0 | Ältere Version; nicht mehr unterstützt: 1.0.0 | 9. Juni 2008 | Erste veröffentlichte Version. |
| 1.0 | Ältere Version; nicht mehr unterstützt: 1.0.1 | 17. Juli 2008 | Diverse Fehlerkorrekturen. |
| 1.0 | Ältere Version; nicht mehr unterstützt: 1.0.2 | 4. August 2008 | Diverse Fehlerkorrekturen. |
| 1.0 | Ältere Version; nicht mehr unterstützt: 1.0.3 | 21. Dezember 2008 | |
| 1.1 | Ältere Version; nicht mehr unterstützt: 1.1.0 | 21. Dezember 2008 | |
| 1.1 | Ältere Version; nicht mehr unterstützt: 1.1.1 | 2. Februar 2009 | |
| 1.1 | Ältere Version; nicht mehr unterstützt: 1.1.2 | 18. Juli 2009 | |
| 1.2 | Ältere Version; nicht mehr unterstützt: 1.2.0 | 5. November 2009 | Umstellung auf UTF-8 und gettext |
| 1.2 | Ältere Version; nicht mehr unterstützt: 1.2.1 | 26. Januar 2010 | Diverse Fehlerkorrekturen. |
| 1.2 | Ältere Version; nicht mehr unterstützt: 1.2.2 | 8. Februar 2010 | Diverse Fehlerkorrekturen. |
| 1.2 | Ältere Version; nicht mehr unterstützt: 1.2.3 | 20. April 2010 | Diverse Fehlerkorrekturen. |
| 1.2 | Ältere Version; nicht mehr unterstützt: 1.2.4 | 21. August 2010 | Diverse Fehlerkorrekturen |
| 1.2 | Ältere Version; nicht mehr unterstützt: 1.2.5 | 24. Januar 2011 | Diverse Fehlerkorrekturen |
| 1.2 | Ältere Version; nicht mehr unterstützt: 1.2.6 | 12. März 2011 | Diverse Fehlerkorrekturen |
| 1.2 | Ältere Version; nicht mehr unterstützt: 1.2.7 | 2. Mai 2011 | Diverse Fehlerkorrekturen |
| 1.2 | Ältere Version; nicht mehr unterstützt: 1.2.8 | 9. September 2011 | Diverse Fehlerkorrekturen |
| 1.2 | Ältere Version; nicht mehr unterstützt: 1.2.9 | 30. April 2012 | Sicherheitsupdate |
| 1.3 | Ältere Version; nicht mehr unterstützt: 1.3.0 | 21. August 2010 | Zikula 1.3 verlangt mindestens PHP 5.3 und verwendet Doctrine statt ADOdb als Datenbankschnittstelle. Gettext wird obligatorisch – das alte, define-basierte Sprachsystem fällt weg. Insgesamt sollen viele Altlasten entfernt werden. Zusätzlich findet eine Re-Lizenzierung auf LGPL statt. |
| 1.3 | Ältere Version; nicht mehr unterstützt: 1.3.1 | 18. Oktober 2011 | Zikula 1.3.1 ist ein größeres Bugfix-Release für die 1.3.x-Serie und bringt einige Neuerungen mit, insbesondere Zikula-eigene Extensions für Doctrine 2. |
| 1.3 | Ältere Version; nicht mehr unterstützt: 1.3.2 | 21. Februar 2012 | Diverse Fehlerkorrekturen |
| 1.3 | Ältere Version; nicht mehr unterstützt: 1.3.3 | 8. Mai 2012 | |
| 1.3 | Ältere Version; nicht mehr unterstützt: 1.3.4 | 5. Oktober 2012 | Diverse Fehlerkorrekturen |
| 1.3 | Ältere Version; nicht mehr unterstützt: 1.3.5 | 7. Dezember 2012 | Diverse Fehlerkorrekturen |
| 1.3 | Ältere Version; nicht mehr unterstützt: 1.3.6 | 7. November 2013 | Diverse Fehlerkorrekturen |
| 1.3 | Ältere Version; nicht mehr unterstützt: 1.3.7 | 17. Februar 2014 | Diverse Fehlerkorrekturen |
| 1.3 | Ältere Version; nicht mehr unterstützt: 1.3.8 | 1. August 2014 | Diverse Fehlerkorrekturen |
| 1.3 | Ältere Version; nicht mehr unterstützt: 1.3.9 | 22. August 2014 | Sicherheitsupdate |
| 1.3 | Ältere Version; nicht mehr unterstützt: 1.3.10 | 28. Juli 2015 | Diverse Fehlerkorrekturen |
| 1.3 | Ältere Version; nicht mehr unterstützt: 1.3.11 | 8. Dezember 2016 | Diverse Fehlerkorrekturen |
| 1.3 | Ältere Version; nicht mehr unterstützt: 1.3.12 | 1. Januar 2017 | Sicherheitsupdate |
| 1.4 | Ältere Version; nicht mehr unterstützt: 1.4.0 | 20. Juli 2015 | Weiterführende Umstellung auf Symfony, Nutzung von Symfony Routing, Definition der Modul- und Theme-Struktur für 2.0 |
| 1.4 | Ältere Version; nicht mehr unterstützt: 1.4.1 | 23. November 2015 | Umstellung einiger Systemmodule auf Twig und Symfony Forms, Fehlerkorrekturen |
| 1.4 | Ältere Version; nicht mehr unterstützt: 1.4.2 | 28. März 2016 | Umstellung weiterer Systemmodule auf Twig und Symfony Forms, Fehlerkorrekturen |
| 1.4 | Ältere Version; nicht mehr unterstützt: 1.4.3 | 2. September 2016 | Abschluss der Umstellung der Systemmodule auf Twig und Symfony Forms, neue Interfaces für Authentifizierungsmethoden, Fehlerkorrekturen |
| 1.4 | Ältere Version; nicht mehr unterstützt: 1.4.4 | 8. Dezember 2016 | Neue Menüverwaltung, kleinere neue Funktionen, Fehlerkorrekturen |
| 1.4 | Ältere Version; nicht mehr unterstützt: 1.4.5 | 1. Januar 2017 | Sicherheitsupdate, kleinere neue Funktionen, Fehlerkorrekturen |
| 1.4 | Ältere Version; nicht mehr unterstützt: 1.4.6 | 12. Februar 2017 | Kleinere neue Funktionen, Fehlerkorrekturen |
| 1.5 | Ältere Version; nicht mehr unterstützt: 1.5.0 | 5. August 2017 | Benötigt mindestens PHP 5.5.9. Integration der Symfony Workflow-Komponente. OAuth-basierte Authentifizierung. |
| 1.5 | Ältere Version; nicht mehr unterstützt: 1.5.1 | 1. September 2017 | Fehlerkorrekturen |
| 1.5 | Ältere Version; nicht mehr unterstützt: 1.5.2 | 3. Oktober 2017 | Fehlerkorrekturen |
| 1.5 | Ältere Version; nicht mehr unterstützt: 1.5.3 | 4. November 2017 | Fehlerkorrekturen |
| 1.5 | Ältere Version; nicht mehr unterstützt: 1.5.4 | 16. Dezember 2017 | Fehlerkorrekturen |
| 1.5 | Ältere Version; nicht mehr unterstützt: 1.5.5 | 24. Februar 2018 | Fehlerkorrekturen |
| 1.5 | Ältere Version; nicht mehr unterstützt: 1.5.6 | 13. April 2018 | Fehlerkorrekturen |
| 1.5 | Ältere Version; nicht mehr unterstützt: 1.5.7 | 28. Mai 2018 | Sicherheitsupdate |
| 1.5 | Ältere Version; nicht mehr unterstützt: 1.5.8 | 5. August 2018 | Sicherheitsupdate, Fehlerkorrekturen |
| 1.5 | Ältere Version; nicht mehr unterstützt: 1.5.9 | 6. Dezember 2018 | Sicherheitsupdate |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.0 | 5. August 2017 | Entspricht der 1.5-Serie ohne Legacy-Support, basierend auf Symfony 3 |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.1 | 1. September 2017 | Fehlerkorrekturen |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.2 | 3. Oktober 2017 | Fehlerkorrekturen |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.3 | 4. November 2017 | Fehlerkorrekturen |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.4 | 16. Dezember 2017 | Fehlerkorrekturen |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.5 | 24. Februar 2018 | Fehlerkorrekturen |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.6 | 13. April 2018 | Fehlerkorrekturen |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.7 | 13. April 2018 | Sicherheitsupdate |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.8 | 5. August 2018 | Sicherheitsupdate, Fehlerkorrekturen |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.9 | 6. August 2018 | Fehlerkorrektur |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.10 | 18. August 2018 | Fehlerkorrekturen |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.11 | 23. August 2018 | Fehlerkorrekturen |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.12 | 6. Dezember 2018 | Sicherheitsupdate, Fehlerkorrekturen |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.13 | 17. April 2019 | Sicherheitsupdate |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.14 | 13. November 2019 | Sicherheitsupdate, Fehlerkorrekturen |
| 2.0 | Ältere Version; nicht mehr unterstützt: 2.0.15 | 18. November 2019 | Fehlerkorrekturen |
| 3.0 | Ältere Version; nicht mehr unterstützt: 3.0.0 | 25. Juni 2020 | Aktualisierter Unterbau (z. B. Symfony 5.1, Twig 3, Bootstrap 4), diverse neue Features |
| 3.0 | Ältere Version; nicht mehr unterstützt: 3.0.1 | 25. Juli 2020 | Fehlerkorrekturen |
| 3.0 | Ältere Version; nicht mehr unterstützt: 3.0.2 | 28. August 2020 | Fehlerkorrekturen |
| 3.0 | Ältere Version; nicht mehr unterstützt: 3.0.3 | 4. September 2020 | Sicherheitsupdate, Fehlerkorrekturen |
| 3.0 | Ältere Version; noch unterstützt: 3.0.4 | 21. Dezember 2021 | Sicherheitsupdate, Fehlerkorrekturen |
| 3.1 | Aktuelle Version: 3.1.0 | 21. Dezember 2021 | Aktualisierter Unterbau (z. B. Symfony 5.4 LTS), diverse neue Features |

## Serverumgebung

Zikula benötigt mindestens:
* Webserver: Apache 2.4 oder Apache 2.2, IIS, Lighttpd oder andere
* Programmiersprache: Version 1.4.x PHP ≥ 5.4, ab Version 1.5 ≥ PHP 5.5.9, ab Version 3.0 ≥ PHP 7.2.5
* Datenbank: MySQL, Oracle, Microsoft SQL Server oder PostgreSQL

## Bestandteile

* Zikula besteht aus dem Basissystem (Core), das sich um das Templating, die Benutzerverwaltung, die Rechteverwaltung usw. kümmert.
* Content-Management und Community-Funktionen werden in Form von Modulen dazu installiert.
* Die Layouts heißen Themes und basieren seit Zikula 1.4 auf der Template Engine Twig. In früheren Versionen kam Smarty zum Einsatz.

## Funktionen

* Datenbankabstraktion per Doctrine
* Workflow-API
* Formular-Validierungs-API
* flexibles Rechtesystem mit beliebig vielen Gruppen, Komponenten und Instanzen
* Auth-API zur Integration unterschiedlicher Authentifizierungs-Methoden (LDAP, OpenID, OAuth u. a.)
* Mehrsprachigkeit per GNU gettext

## Entwicklung

Die Entwicklung von Modulen für Zikula kann zum einen klassisch per Editor durchgeführt werden oder mit dem auf Eclipse basierten ModuleStudio (modulestudio.de). ModuleStudio verfolgt den Ansatz der modellgetriebenen Softwareentwicklung (MDSD) und erlaubt einen entwurfslastigeren Entwicklungsprozess.

## Philosophie

Die Philosophie des Projektes beruht auf Sicherheit, Kontinuität, Standards und Pragmatismus.
* Alle Entwicklungen des Cores werden unter dem Aspekt der Sicherheit begutachtet. Zikula kann zum Beispiel ohne beschreibbare Pfade im Webroot betrieben werden.
* Bei der Entwicklung wird auf Aktualisierungspfade geachtet, so dass Versionwechsel der Software grundsätzlich immer möglich sind.
* Zikula setzt auf Webstandards wie XHTML und CSS, achtet auf Barrierearmut und verwendet Quasi-Standard-Lösungen wie Symfony, gettext, Doctrine, Twig, Bootstrap und JQuery.

## Gemeinschaft

Zikula wird entwickelt von der Zikula Software Foundation und in Deutschland durch den Postnuke e. V. repräsentiert.

### Support

Unterstützung gibt es über die internationale Homepage oder über Slack.

### Entwicklerplattform

Als primäre Plattform wird GitHub verwendet.

### Google Summer of Code

Zikula ist mit vier Projekten beim Google Summer of Code im Jahr 2008 beteiligt gewesen:
* Verbesserte Suchfunktion
* Verbessertes Kategorien-Management
* Zentrale Versionierungs-API
* Überarbeitung der Usability

## Ähnliche Projekte

* CodeIgniter
* CakePHP
* eZ Components
* Symfony