31.01.2018

Open Source Technologie die begeistert

Was ist Django CMS und warum mögen wir es so?

Django CMS ist ein quell-offenes Enterprise Content Management System basierend auf dem ausgereiften, schnellen und sicheren Web Framework Django (welches in Python geschrieben und ebenfalls quell-offen ist).

preview-2_subsampling

EIN CMS FÜR DIE ZUKUNFT

Django-CMS ist aktuell in Version 3.4 LTS. Die LTS (Long-term support) Version wird für mindestens die nächsten 2 Jahre mit sicherheits-relevanten Updates versorgt. Darüber hinaus wird aber für viele Jahre hinaus die Kompatibilität aller darauf aufbauenden Module sichergestellt. Daher bietet django-CMS 3.4 LTS die geeignete Grundlage, um auch langfristig angelegte Softwareentwicklungs-Projekte darauf zu realisieren.

WER ENTWICKELT DJANGO CMS?

Der Kern von Django CMS wird maßgeblich von der Schweizer Unternehmung Divio AG entwickelt und öffentlich zugänglich gemacht. Da Blueshoe ein Partner von Divio ist, sind wir auch in der Lage, Einfluss auf die Roadmap und Entwicklung zu nehmen. Django CMS ist mit seiner einfachen und intuitiven Bedienoberfläche nicht nur kompatibel zu allen aktuellen Web-Browsern, sondern kann auch hervorragend mit mobilen Geräten wie Tablets und Smartphones, gesteuert werden. Deshalb mögen wir es so gerne!

EINFACHES BEARBEITEN VON INHALTEN

Wir schwören auf Django CMS und haben keinen Kunden, der nicht von der simplen Art und Weise Inhalte zu editieren vollkommen überzeugt ist. Redakteure müssen sich nicht durch aufwändige und komplexe Backend-Ansichten navigieren – ein Doppelklick auf den Inhalt reicht, um diesen zu verändern.

Inhalte werden in „Plugins“ dargestellt. Diese können nach dem Drag-and-Drop-Prinzip an einer beliebigen Stelle auf der Seite platziert werden. Damit hat der Administrator die Möglichkeit Struktur und Inhalt der Seite zu bearbeiten, ohne dabei mit HTML-Code in Berührung zu kommen. Die Trennung von Code und Inhalt, aber dennoch eine große Flexibilität in der Darstellung, ist eine weitere Stärke von Django-CMS. Plugins können auch ohne Weiteres verschachtelte Inhaltsstrukturen abbilden. Der Fantasie sind damit in der Strukturierung von Seiten keine Grenzen gesetzt.

seitenstruktur_mit_plugins

Automatisch generierte Seiten werden über sogenannte „Apps“ erstellt. Diese können auf Bestände in der Datenbank zurückgreifen und Ansichten mit Listen, Tabellen oder anderen Darstellungsformen generieren. Diese müssen dann nicht explizit durch einen Administrator angelegt werden. Über Apps lassen sich in Django CMS die komplexesten Herausforderungen meistern.

TAXONOMIE IN DJANGO CMS

Seiten werden in einem Seitenbaum organisiert. Ganz im Stile von Django CMS kann der Seitenbaum durch einfache "drag'n'drop" Bedienung beliebig und in wenigen Sekunden angepasst werden. Eine Seite vom der zweiten Hierarchie-Ebene auf die Erste holen? Kein Problem, drag'n'drop. Reihenfolge in der Baumstruktur ändern? Kein Problem, drag'n'drop. Das schöne dabei ist, dass es somit kein Problem ist im Verlauf der Erstellung einer Seite auch mal seine Meinung zu ändern. Nichts ist in Stein gemeißelt und Änderungen in Sekundenschnelle umgesetzt.

seitenbaum_django_cms

Für jede Seite kann eine weitere Sprache angelegt werden. Jedoch ist es unproblematisch, wenn eine Seite mal nicht in jeder Sprache verfügbar sein soll. Doch nicht nur das Frontend ist mehrsprachig, auch im Backend werden unterschiedliche Sprachen unterstützt. Bei Django CMS wurde akribisch darauf geachtet, das multilinguale Webseiten möglichst einfach erstellt und gepflegt werden können.

STATE-OF-THE-ART FEATURES

Aus technischer Sicht bietet Django CMS alle state-of-the-art Funktionalitäten, die man erwartet: von LDAP Authentifizierung bis hin zu einer Versionsverwaltung mit Vergleichsansicht und Audit-Trail. Darüber hinaus bietet Django CMS ein umfassendes Rechtemanagement, welches nach Belieben erweitert und angepasst werden kann. Dieses findet Anwendung sowohl bei der Rollenverteilung für Administratoren als auch für das „Absichern“ von zugangsgeschützten Seiten.

VIELE WEBSITES ABER NUR EIN BACKEND

Genau wie bei der Multilingualität war es Kern der Entwicklung von Django CMS den Betrieb multipler Webseiten, auch auf völlig unterschiedlichen Domains, so einfach wie möglich zu gestalten. Eine einzige Installation des CMS genügt um alle ihre Seiten unter einen Hut zu bringen. Entwickelte Features, wie bspw. spezielle Plugins können dann bspw. über alle Seiten hinweg deployed und genutzt werden. Aber auch die Einschränkung von Features oder Styles auf nur eine einzelne Instanz der Installation ist ohne weiteres möglich. Plugins lassen sich z. B. auch Seitenübergreifend kopieren und in die Inhaltsstruktur einer anderen Seite einfach einfügen. Das erspart oft viel Arbeit und erleichtert die Verwaltung multipler Seiten ungemein.

SKALIERBARKEIT, BACK-UPS UND UPDATES

Die Architektur von Django CMS erlaubt das einfache Betreiben derselben Anwendungen auf unterschiedlichen Server-Instanzen. Dies ist besonders wichtig, wenn durch sehr hohes Besucheraufkommen eine horizontale Skalierung angestrebt werden soll.

Als Backup-Strategie setzten wir typischerweise inkrementelle Datenbank-Snapshots ein. Diese können bei Bedarf problemlos zurückgespielt werden. Updates werden über den Paketmanager „Pip“ abgebildet. Diese werden zunächst umfänglich auf dem Staging-System getestet, bevor sie in das Live-System eingespielt werden.

BEISPIELE FÜR Django CMS WEBSEITEN

BLUESHOE GmbH
© 2024 BLUESHOE GmbH