Kajona ist ein auf der Programmiersprache PHP5 basierendes Content Management Framework welches als Open Source Projekt unter der LGPL-Lizenz entwickelt und veröffentlicht wird. Der Ursprung des Projekts geht auf das Jahr 2004 zurück, als zentral gesammelte Programmierlösungen zu einer Bibliothek zusammengefasst wurden. Der Gedanke eines Web Content Management Frameworks war geboren – Version 2.0 folgte im Jahr 2005, Version 2.1 Anfang des Jahres 2006. Im darauf folgenden Jahr erschien die grundlegend überarbeitete Version 3.0.
Mittlerweile (September 2009) ist Kajona mit der Version 3.2.1 zu einem umfangreichen und leistungsstarken Framework gewachsen und bietet mit einer großen Modulauswahl eine ganze Reihe an Einsatzmöglichkeiten. Das Backend ist hierbei neben der Sprache Deutsch auch in Englisch, Russisch, Portugiesisch und Bulgarisch verfügbar. Aktuell beteiligen sich neben den beiden Hauptentwicklern drei weitere Entwickler sowie mehrere Softwaretester, Übersetzer und Support-Helfer.
Zu den Nutzern zählen unter anderem die Universität Kassel, die ETH Zürich sowie einige Unternehmen aus Deutschland, der Schweiz und aus Ländern außerhalb Europas wie Südafrika.
Nach dem Login am Backend öffnet sich das Dashboard. Dieses dient als Einstieg in das System und stellt dem Anwender aktuelle Daten und Informationen dar. Über eigene Widgets kann das Dashboard um weitere Funktionalitäten erweitert werden.
Einstieg nach dem Login: Das Dashboard
Über die Navigationsleiste am oberen Rand können die einzelnen Module ausgewählt werden. Jedes Modul bringt hierbei seine eigenen Navigationspunkte mit, welche im linken Bereich des Backends angezeigt werden.
Um nun bspw. einen neuen Textabsatz auf einer bestehenden Seite anzulegen wechselt der Anwender auf das Modul "Seiten", öffnet dort die entsprechende Seite und kann nun in der angezeigten Liste einen weiteren Seitenabsatz anlegen oder auch vorhandene Absätze bearbeiten.
Auswahl der Seiteninhalte
Darüber hinaus kann der Anwender unter Verwendung des Portaleditors eigene Inhalte direkt im Layout der Webseite editieren. Dieser wird immer dann angezeigt, wenn der Benutzer bei einem Portalaufruf am System angemeldet ist und über entsprechende Rechte verfügt. Bei Bedarf kann der Portaleditor temporär deaktiviert und auch wieder aktiviert werden.
Der Portaleditor
Die Bedienung des Backends gestaltet sich durch AJAX-basierte Drag 'n Drop-Funktionen, Autovervollständigungen und Dialogen sehr komfortabel.
Drag 'n Drop-Funktionen im Backend
Dialogbasierte Administration
Das Anlegen von textbasierten Inhalten erfolgt über einen WYSIWYG-Editor (Aktuell verwenden wir den FCKEditor in Version 2.6.3. In der kommenden Version 3.3 von Kajona ist geplant auf die neue CKEditor Version 3.x zu wechseln). Der Anwender benötigt also keinerlei fachliches Hintergrundwissen sondern kann seine Inhalte ähnlich wie in Microsoft Word bearbeiten.
WYSIWYG-Editor
Das Layout der eingepflegten Inhalte wird komplett per CSS gesteuert. So ist sichergestellt, dass das Layout der Seite unabhängig von den eingepflegten Informationen konsistent bleibt.
Die Verwaltung von Dateien erfolgt über das Modul "Filemanager". Dieses bietet die Möglichkeit neue Dateien auf den Server hochzuladen, bestehende Dateien zu editieren oder zu löschen. Durch einen Flash-basierten Dateiupload lassen sich mehrere Dateien komfortabel und parallel auf den Webserver übertragen.
Upload mehrerer Dateien
Bilddateien lassen sich direkt online im System bearbeiten. In die Portalseiten integrierte Bilder werden automatisch serverseitig auf die gewünschte Bildgröße skaliert und für das Web komprimiert.
Integrierte Online-Bildbearbeitung
Mehrsprachige Portale lassen sich mit Kajona ohne Einschränkungen realisieren. Über das Backend lassen sich beliebig viele Sprachen für das Portal verwalten. Für jede Sprache lassen sich sowohl getrennte, als auch verknüpfte Seitenelemente anlegen. So ist zum einen für die Webseitenbesucher ein direkter Sprachwechsel einer Seite möglich, zum anderen lassen sich aber bei Bedarf bestimmte Seiten auch nur in einer einzelnen Sprache anlegen.
Andere Module wie eine Bildergalerie lassen sich in mehreren Sprachen verwenden und müssen nur auf der jeweiligen Seite verknüpft werden, lassen sich also auch sprachunabhängig verwalten und verwenden.
Sprachumschaltung im Backend
Durch die von der Sprache losgelöste Navigationsverwaltung ist es möglich für unterschiedliche Sprachen im Portal separate Navigationsbäume anlegen. Das Layout der jeweiligen Seiten im Portal basiert auf dem sprachabhängig definierten Seitentemplate und erlaubt damit getrennte Seitenlayouts in den jeweiligen Sprachen.
Sprachumschaltung im Portal
Templates in Kajona basieren auf regulären (X)HTML-Dateien und sind strikt vom Programmcode getrennt. Der einzige Unterschied zu HTML-Dateien ist die Dateiendung, die statt .html oder .htm für Kajona-Templates auf .tpl definiert wurde.
In diesen Templates kann frei gearbeitet werden. Es obliegt also dem Webentwickler ob er eine XML, eine HTML oder eine XHTML-Struktur aufbauen möchte.
Templates werden dabei in zwei Kategorien unterteilt: Seitentemplates definieren das Grundgerüst der Seite und beinhalten die Platzhalter der möglichen anzulegenden Elemente, Elementtemplates hingegen steuern das Layout eines angelegten Seitenelements wie einem Absatz oder einem verknüpften Download-Archiv.
Bearbeitung eines beispielhaften Seitentemplates in Eclipse
Die Navigationsverwaltung erfolgt unabhängig von der Seitenstruktur was eine bestmögliche Flexibilität bei der Verwaltung von Navigationspunkten bietet, eine Sitemap lässt sich daraus automatisch erzeugen.
Kajona bietet ein ausgereiftes Rechtesystem, mit dem sich Rechte feingranular definieren lassen. Hierbei werden Benutzer in frei zu definierenden Gruppen eingeordnet, für jede Gruppe lassen sich allgemeine und modulspezifische Rechte einstellen.
Durch die rekursive Vererbungshierarchie lassen sich Rechte automatisch auf untergeordnete Datensätze vererben. Dies ist z.B. dann sinnvoll, wenn alle Seiten eines Ordners beschränkten Zugriff erhalten sollen. Mit dem Einstellen der Rechte am Ordner erben die darunter liegenden Seiten automatisch diese Einstellungen. So lassen sich auch komplexe Szenarien problemlos abbilden.
Rechtekonfiguration
Der gleichzeitige Zugriff mehrerer Redakteure auf einen Datensatz wird durch einen internen Locking-Mechanismus (sofern das Modul dies unterstützt) verhindert.
Kajona ist als Framework konzipiert und realisiert. Dies erlaubt das schnelle Einbinden eigener Funktionen. Hierbei gibt es unterschiedliche Stellen, an denen das System um eigene Funktionen wie Module, Elemente, Such-Plugins oder Admin-Skins für das Backend erweitert werden kann. Alle Erweiterungen basieren auf der öffentlichen, quelloffenen und dokumentierten Kajona API.
Die in Kajona verwendete und mitgelieferte JavaScript-Bibliothek Yahoo! User Interface (YUI) erlaubt die einfache Integration einer Vielzahl von vorgefertigten Elementen oder die Ergänzung der eigene Webseite um AJAX-Funktionen sowie beispielsweise Animationen.
Mit Kajona lassen sich Webseiten und Portale schnell und einfach realisieren. Durch das leistungsfähige und dennoch leicht verständliche Templatesystem lassen sich sämtliche Anforderungen an das Layout schnell und wiederverwendbar realisieren. Das AJAX-unterstützte Backend ist auch für technisch nicht versierte Anwender schnell und intuitiv zu nutzen, die Oberfläche kann durch das umfangreiche Rechtesystem für den jeweiligen Anwendungsfall reduziert werden.
Mit Hilfe verschiedener ausgeklügelter Caching-Mechanismen ist auch bei umfangreichen Seiten eine schnelle Zugriffszeit im Portal gewährleistet. Durch vielfältige Möglichkeiten der Suchmaschinen-Optimierung (SEO) lassen sich gute Platzierungen in Suchmaschinen erreichen.
Mögliche Suchmaschinenoptimierung einer News-Meldung
Große Webportale werden oft unter Verwendung von Workflows gewartet und gepflegt. Hier kann Kajona bisher nicht durch eine integrierte Workflow-Engine unterstützen. Zudem ist Kajona bisher nur auf den Betrieb auf einem einzelnen Server ausgelegt. Die Verwendung mehrerer Datenbankserver oder der Betrieb mehrerer paralleler Kajona-Systeme hinter einem Loadbalancer wird aktuell nicht unterstützt.
Weiterer Kritikpunkt ist die bisher noch nicht all zu große Community rund um Kajona. Diese befindet sich jedoch in einem stetigen Wachstum, was sich auch an der steigenden Anzahl der Projektentwickler widerspiegelt.
Um Kajona direkt testen zu können steht ein Demo-System unter: demo.kajona.de bereit.
Bitte beachten Sie unsere Informationen zum Datenschutz.
blog comments powered by Disqus© 2012 FEiG & PARTNER