Software-Projekte und Code-Snippets
Neben meiner hauptberuflichen Tätigkeit und der geliebten Forschung und Lehre bin ich gelegentlich in Web-Projekte involviert, die sich bisweilen aus diesen Betätigungs-schwerpunkten ergeben, zum Teil aber auch privaten Projekten entspringen. In dieser Rubrik werde ich also nach und nach einige (aus, ähm, meiner Sicht) interessante Projekte in aller Kürze vorstellen, an denen ich aktiv entweder als Entwickler oder – eher häufiger – als Projektmanager beziehungsweise Feinkonzepter beteiligt war. Und dann möchte ich ab und zu auch auf Code-Schnipsel hinweisen, die ich nutze und deswegen ganz begründet gar nicht falsch finde. Die Open Source-Szene hat schließlich ein Herz aus Gold, und wir strahlen gerne zurück.
Feinkonzeption und Projektmanagement im Rahmen der Implementierung eines Rezensionsarchivs
Für unsere Musikzeitschrift Rolling Stone sollte im Rahmen von Digitalisierungsprozessen ein Online-Rezensionsarchiv entstehen. Neben der Digitalisierung des Print-Contents stand bei diesem Projekt insbesondere der Entwurf und das Projektmanagement eines entsprechenden Online-Tools im Vordergrund. Die Anforderungen: Der Upload der Archive über CSV-Dateien musste einen Qualitätscheck durchlaufen, bevor ein endgültiger Eintrag in die Datenbank erfolgt, um auf diese Weise fehlende Spaltenwerte schon vorab zu erkennen und zu korrigieren. Des Weiteren sollten einige Spalten miteinander verknüpft und die Werte auch nachträglich noch verändert werden können. Eine Suche im Volltext aber auch limitiert auf Kategorien rundeten die Anforderungen ab. Ein externer Programmierer entwickelte auf Grundlage meines Feinkonzepts eine entsprechende Applikation; diese ist hier im Einsatz. Für die Zukunft ist ein vollständiger Code-Rewrite geplant, der neben SEO-Vorkehrungen auch eine Erweiterung der Verknüpfungen mit sich bringt.
Projekt: Entwicklung eines Blog-Moduls für "OpenCMS"
Beschreibung: OpenCms ist ein Java-basiertes Open-Source Content-Management-System (CMS), welches die Bearbeitung komplexer Inhalte durch Autoren ohne HTML-Kenntnisse ermöglicht. Verfügbar unter der LGPL-Lizenz können jederzeit Modul-Erweiterungen hinzugefügt werden. Zur OpenCms-Entwicklergemeinde gehört auch die Darmstädter componio GmbH, die Module für OpenCms konstruiert und (meist frei) zur Verfügung stellt. Ein solches Modul, das in einem OpenCms-System gängige Blog-Techniken (Ping-/Trackback, Content-Syndication, Kommentare, Tag-Wolke, etc.) anbietet, wurde im Rahmen des Winf-Praktikums im Sommersemester 2007 am Lehrstuhl für Wirtschaftsinformatik an der Technischen Universität Darmstadt von einer Studentengruppe entwickelt. Ich habe dieses Projekt verantwortlich betreut.
Entwicklung: Realisiert wurde das Projekt durch Technologien wie Java (J2EE), Java Beans, XML, MySQL, CSS, etc. die von den Studenten teilweise erst analysiert und erlernt werden mussten. Jedes Teammitglied wählte sich zwei der verwendeten Technologien aus, erwarb Kenntnisse dazu und präsentierte diese den restlichen Gruppenmitgliedern. Entwickelt wurde anhand des Vorgehensmodells “Rational Unified Process” (RUP), das einen iterativen Durchlauf der Projektphasen und Meilensteine vorsieht – ergänzt durch Konzepte des “Extreme Programming” (XP). So entstanden Pflichtenheft, DV-Konzept und schließlich das fertige Blog-Modul und das Projektziel wurde vollständig erreicht.
Projekt: Migration einer bestehenden Webseite in das CMS "Typo3"
Beschreibung: Die Popakademie Baden-Württemberg betreibt das Musiker-Portal popforum.de, das als Informations- und Kontaktbörse von Musikern für Musiker konzipiert ist. Die alte Version der Webseite war etwas aus der Mode gekommen, da das damals verwendete System in der Steinzeit von einem einzelnen Herrn handgeschrieben wurde und seitdem unkoordiniert und mitnichten dokumentiert gewachsen ist. Die Aufgabe meines Studenten-Teams (auch hier: im Rahmen des Software-Praktikums am Fachgebiet Wirtschaftsinformatik der TU Darmstadt) bestand darin, diesen SQL-Irrgarten in das Content Management-System “Typo3” umzuziehen und dabei auch gleich einige zunächst nicht sehr spezifisch benannte Erweiterung zu programmieren. Die inhaltliche Grobkonzeption wurde aus Mannheim geliefert. Eine Herausforderung bei dem Projekt war, dass die großen Mengen an bestehenden Inhalten die Entwicklung eines Migrations-Tools eigentlich unabdingbar machten. Zudem stießen zwei unterschiedliche Kulturen aufeinander – Popakademiker (voller guter Ideen, aber nicht immer strukturiert) und Darmstädter Wirtschaftsinformatiker (voller Struktur, aber nicht immer voller Geduld). Erfreulicherweise funktionierte diese Zusammenführung letztlich aber doch recht gut – das Projekt wurde im vorgebenden Zeitrahmen abgeschlossen, die erst im Live-Betrieb aufgetretenen Bugs von den Studenten noch nachträglich gefixt.
Entwicklung: Auf Basis von PHP, MySQL, TypoScript und Java erfolgte die Migration der bestehenden Datenbank und die Entwicklung der zusätzlich benötigten Module und AddOns sowie das Templating.
Startartikel-Teaser für Redaxo
Dieses einfache Modul für Redaxo listet immer den Startartikel einer Kategorie auf, die im Backend entsprechend ausgewählt wurde. Die Teaserdaten werden über die Metadaten des Startartikels gepflegt, der angesprochen werden soll. Ausgegeben werden immer das Artikelbild, die Headline und die Kurzbeschreibung. Wer das Modul braucht, möge mich kontaktieren.
MarkItUp für das CMS Redaxo
In diesem Falle mal von woanders her – die freundlichen Menschen des GN2-Netwerks haben MarkItUp für Redaxo angepasst. Begründung für den Einsatz: Da WYSIWYG-Editoren wie TinyMCE oder FCK-Editor bei der Inhaltseinpflege in Webseiten immer wieder Probleme machen (invalider Code etc.), setzen wir seit Jahren auf Textile-Markup bei den Inhaltsmodulen von Redaxo. Da einigen Anwendern die Formatierungsbefehle zu kompliziert waren, ist MarkItUp als Editor für Textile eine perfekte Lösung. Endanwendern wird eine leicht verständliche Oberfläche für alle notwendigen Eingaben zur Verfügung gestellt und die genannten Probleme der anderen Editoren treten nicht auf. Wir haben deshalb ein flexibles Addon für Redaxo programmiert, was modul- und benutzerspezifische Buttonsets ermöglicht und Mehrsprachigkeit unterstützt.










