Feinheit Webseite 5.0 — die technischen Details

Die neue Webseite entspricht meiner Vorstellung einer minimalen Webseite. Der spezifisch für diese Seite geschriebene Programmcode ist nicht mal 1000 Zeilen lang, bei den Funktionen wurde bewusst gespart.

Trotzdem bietet die Webseite einige Funktionen, nicht zuletzt ein Administrationswerkzeug das durch alle FEINHEITler, auch die nicht-technischen, bedient werden kann. Dahinter steckt viel Arbeit, die aber vor allem in Open Source Software geflossen ist. Einige Projekte haben wir selbst entwickelt und veröffentlicht, bei anderen profitieren wir in erster Linie von der Arbeit von anderen.

Django und Python sind die wichtigsten Bestandteile unserer Toolbox. Dank Django und Python können wir einfach und schnell Webseiten programmieren, die sich nach den den Wünschen unserer Kunden und unseren Vorstellungen richten. Dadurch ersparen wir den Kunden viel Schulungsaufwand und uns selbst viel Zeit, die wir dafür in weiteren Projekt einsetzen können.

FeinCMS erlaubt es dem Kunden, nicht nur den Inhalt seiner Seite, sondern auch die ganze Webseitenstruktur selbst zu verwalten — sofern dies denn gewünscht ist. FeinCMS ist unser erfolgreichstes Open Source Projekt: Unterdessen haben 50 Entwickler aus aller Welt Code, Dokumentation und weiteres beigesteuert. Die Abhängigkeit vom Programmierer wird kleiner, die Gestaltungsfreiheit grösser.

FeinCMS ist so flexibel, dass damit nicht nur Seiten, sondern alle möglichen Inhalte verwaltet werden können. Im Elephantblog wird dieselbe Art der Inhaltsbearbeitung für Blogeinträge verwendbar gemacht. Damit sparen wir Entwicklungsaufwand (Inhaltselemente bzw. Plugins oder Content types müssen nur einmal geschrieben werden) und Schulungsaufwand (Inhalt wird überall auf die gleiche Art und Weise erstellt und bearbeitet.)

Unterdessen gibt es sehr viele Dienste im Netz, die man nur mit viel Aufwand und auch eher schlecht als recht ersetzen kann. Darunter befinden sich z.B. Vimeo und Youtube für Videos und Github für Code. Zum Glück lassen sich diese Dienste einfach auf Drittseiten verwenden: embed.ly bietet eine standardisierte Schnittstelle, um URLs in Video- und Bildeinbindungen zu verwandeln. Dank feincms-oembed lässt sich diese Funktion einfach aus dem FeinCMS-Administrationspanel bedienen — auch durch technisch nicht versierte Nutzer.

Wir veröffentlichen Neuigkeiten auf vielen verschiedenen Kanälen — auf unserem Weblog, auf Twitter, Facebook, Vimeo und so weiter. Die chronologisch sortierte Übersicht unter «News» wird durch django-newswall erstellt. Diese Django-Applikation erlaubt es, Inhalte aus allen möglichen Quellen zusammenzuziehen, zu durchsuchen und ein Archiv zu erstellen.

django-fhadmin, eine weitere Django-Applikation, ändert das Farbschema der Django-Administration nach unseren Vorstellungen und erlaubt einen schnelleren Wechsel zwischen verschiedenen Administrationsmodulen.

Dank South können wir Änderungen an der Seite, die Anpassungen an der Datenbank bedingen, einfach und schnell durchführen. Django selbst unterstützt sogenannte «Migrations» nicht, dank South können wir dieses (kleine) Problem aber als gelöst betrachten.