HOME Details Über uns Webprojekte Netzwerktechnik Kontakt

Datenbanken und Webprogramierung


Seit 2004 haben wir schon viele Projekte realisiert. Vier haben wir hier, in form von Kurzberichten, zusammengefasst.

Videoplattform - Plone - Python - Javascript - AJAX

Ein sehr interessantes Projekt war die Website für den Regionalsender KULT1, welche die Videos des Senders über das Internet zur Verfügung stellt.

Umsetzung

Als Basis haben wir uns dafür entschieden, das Open Source CMS Plone einzusetzen. Damit ist die einfache Handhabung der Artikel, Bilder und News sowie die Vergabe von bestimmten Rechten an unterschiedliche Personen schon mal gegeben.

Programmierung eines Plugin für Plone zur Verwaltung von Videos. Dieses Plugin konvertiert die hochgeladenen Filme automatisch in das WebM und H.264 Format.

Da es schon eine Website gab, wurde das Design übernommen, in gewissen Bereichen angepasst und daraus ein Plone Theme entwickelt.

Es gab mehr als 400 bestehende Videos. Aus diesem Grund war es unablässig, diese automatisiert in die neue Videodatenbank zu importieren. Dafür wurde ein entsprechendes Programm geschrieben, welches die Videos konvertiert, mit den notwendigen Metadaten ausstattet und in der Datenbank speichert.

Django - memcached - JavaScript - AJAX

Während eines Consultingprojekts, trat der Kunde an mich heran und fragte, ob ich die Hardwareverwaltung web-basierend machen könnte.

Umsetzung

Eines der wichtigsten Dinge bei Datenbank basierenden Projekten ist das Datenmodell. Wenn dieses unvollständig ist, wird das Programmieren problematisch bzw. lassen sich bestimmte Anwendungsfälle (Use cases) gar nicht realisieren. Daher war eine der ersten Aufgaben, sich mit den Anwendern der Applikation zusammenzusetzen, um die Anforderungen zu analysieren. Daraus konnte in weiterer Folge das Datenbankmodell abgeleitet werden.

Bestimmte Hardware wurde dabei hierarchisch in Form von Einheit-A beinhaltet Einheit-B, welche wiederum Einheit-C,D und F beinhaltet, inkl. Attribute modelliert. Diese "Kontainer" wurden dann zu logischen Einheiten zusammengefasst. Dieser Use case war anfänglich langsam, konnte aber durch den Einsatz von AJAX und Memcached stark beschleunigt werden.

Nachdem die Hardware, für die das System zu Anfang programmiert wurde, integriert war, wurden weitere Hardwaretypen aufgenommen. Diese Art von System ist eigentlich nie komplett fertig, denn es wächst stetig. Wo Wachstum ist, gibt es auch Veränderung!

Eckdaten

Wagtail CMS - Python - JavaScript

Eine bestehende, auf dem Web-CMS Plone basierende, Website soll erneuert werden und auch für mobile Endgeräte, wie Smartphone und Tablets, tauglich gemacht werden.

Aufgrund des Umfanges und der gewünschten Funktionalität der Website, war klar, dass Plone diesmal nicht mehr zum Einsatz kommen wird.

Schließlich fiel die Entscheidung auf Wagtail. Da wir ohnehin Django Power User sind, war es naheliegend, ein darauf basierendes CMS einzusetzen.

Die Integration des Designs in das CMS gestaltete sich recht einfach. Um eine responsive Website zu gewährleisten, war noch zusätzlicher Aufwand nötig.

Die Programmierung von ein paar kundenspezifischen Erweiterungen erleichterten das Einpflegen der Daten, sowie das Aktualisieren der Website durch den Kunden.

Plone - Administration - Failover

Programmierung einer Community Plattform für eine Firma aus Kanada im Bereich Marketing inkl. Setup des Linux-Servers (Debian) und dessen Administration. Die Anforderungen wurden vom Kunden, anhand einer Spezifikation, vorgegeben.

Eckdaten

Schnittstellen Programmierung in Python

Unter der Verwendung von Python wurde eine kommerzielle Webapplikation und ein umfangreiches IT System miteinander verbunden. Eine wichtige Anforderung dabei war, dass die Schnittstelle von unterschiedlichen Abteilungen gleichermaßen verwendet werden kann, obwohl jede Abteilung ihre eigene Instanz der kommerziellen Webapplikation installiert hat. Das heißt, eine hoch konfigurierbare Lösung war notwendig. Inklusive der Sicherstellung, dass abteilungsspezifische Programänderungen andere so wenig als möglich beeinflussen.

Umsetzung

Berichte Netzwerktechnik

Kontakt

DI(FH) Erwin Ambrosch
A- 9544 Feld am See, Sonnenstr. 19
^