Da ich nach längerer Zeit nun wieder auf der Suche nach neuen Aufgaben bin, stellt sich für potentielle Auftrags- und Arbeitgeber die Frage, "Was hat er denn bisher gemacht?" - darum hier eine Übersicht über einige bisherige Projekte.

In den letzten 5,5 Jahren habe ich viel Individualsoftware entwickelt, also Programme komplett nach Kundenwünschen erstellt. Leider bedeutet das auch, daß einiges an Code nur direkt beim Kunden läuft, die Projekte mithin nicht öffentlich sind. Über diese kann ich natürlich nur anonymisiert und unter Berücksichtigung der jeweiligen Geheimhaltungsvereinbarungen berichten  (Andere Projekte sind im Open Source-Bereich angesiedelt - da kann ich natürlich auch den Code und die Webseiten zeigen).

Validierung von S1000D-Datenmodulen

Eine in Grails geschriebene Webapplikation, die hochgeladene Datenpakete auf die Einhaltung von Business Rules prüft,  Fehler teilweise korrigiert und am Ende die einzelnen Probleme an der jeweiligen Stelle im XML-Code der Datenmodule im Browser darstellt.

Technologien: Grails, XPath (mit Saxon-SA), Perl,

Anforderungen: Verteiltes Team, iterative Entwicklung, Umsetzung von Corporate Design-Vorgaben.

Mein Anteil: Mitarbeit an der Konzeption, das Projekt-Management und die Implementierung des größten Teils des Server-Codes. Die Business-Regeln wurden gemeinsam mit dem Team umgesetzt, das Design vom Webdesigner entworfen.

Open Source ECMS Cinnamon

Cinnamon ist ein Enterprise CMS mit einem Schwerpunkt auf der Verwaltung von technischer Dokumentation. Es besitzt einen Desktop-Client (.NET) und einen Server (Java) - für letzteren habe ich recht früh die Verantwortung  übernommen und bin seitdem Hauptentwickler und -maintainer dieses Projektteils. Cinnamon ist von "großen" CMS-Systemen wie EMC documentum inspiriert - unterscheidet sich aber von den großen durch den unschlagbaren Preis, die bessere Performance und der noch beherrschbaren Komplexität.

Technologien bis Version 2: Java 6, JPA 2, Lucene, Hibernate, Grails für Admin-Oberfläche, MSSQL, PostgreSQL

Technologien Version 3: Java 7, Grails 2.2, Lucene, Hibernate, MSSQL, PostgreSQL, JavaScript, jQuery, AJAX, gPars (Actors für Hintergrundprozesse)

Anforderungen / Features

  • Extrem customizable für proprietäre und Open Source-Kundenwünsche - an vielen Stellen können kundenspezifische Erweiterungen integriert werden, die das Verhalten einzelner Aspekte verändern.
  • eigene Workflow-Engine (z.B. für Review-Workflows)
  • semantische Suche mit Lucene
    Ein Beispiel für mögliche Anpassungen sind spezielle Index-Klassen, die Bauteilnummern in ein allgemeines Format bringen, das die Suche nach Produkten mit genau diesen Bauteilen ermöglicht (also deutlich über bloße Volltext-Suche hinaus)
  • umfangreiche Rechteverwaltung
  • Lifecycle-Management inklusive Logging von Lifecycle-Änderungen und der Möglichkeit, eigenen Code beim Wechsel von Lebenszyklen auszuführen.
  • Übersetzungsmanagement (liegt Version 4 des Handbuches mit den deutschsprachigen Schautafeln auch auf Englisch vor? Dann kann die englische Version als Pivot-Sprache für die Übersetzung ins Portugiesische verwendet werden.)
  • Unterstüzung für modulare Dokumentation, z.B. DITA

Mein Anteil: Konzeption, Umsetzung und Support für den Cinnamon Server, Entwicklung von kundenspezifischen Erweiterungen (Workflows, ChangeTrigger [Code, der konfigurierbar bei bestimmten API-Aufrufen ausgeführt wird], Lifecycles, Indexklassen)

Code: Cinnamon auf Github

Projektplanung von verteilten Dokumentationsprojekten (Automotive)

Die Technische Dokumentation für ein Produkt erfolgt oft an unterschiedlichen Standorten und besteht aus einer Vielzahl von Modulen. Ein Kunde benötigte eine Webapplikation zur Kalkulation der Arbeitsumfänge und zur Verwaltung der darauf folgenden Projekte. Ziel war die Ablösung einer Excel-Applikation hin zu einer modernen Weboberfläche für gleichzeitigen Zugriff durch Projektmanager und Redakteure.

Anforderungen:

  • Mehrere Standorte mit unterschiedlichen Stundensätzen mussten berücksichtigt werden
  • Import von Excel-Daten in die Datenbank, mit Update der betroffenen Projekte
  • Rechteverwaltung für Admins, Projektmanager, Redakteure
  • Nachvollziehbarkeit von Change Requests durch den Auftraggeber des Kunden (um ausufernde Projekte zu vermeiden, bei denen nachher nicht klar ist, wann und wie es zu Verzögerungen kam bzw. welcher Umfang noch in der Kalkulation enthalten ist)
  • Grafische Darstellung der Anlaufkurven und der Fertigstellung der einzelnen Projektteile (mit jFree)

Technologien: Grails 2, Hibernate, jQuery, Twitter Bootstrap

Mein Anteil: Konzeption, Spezifikation & Kalkulation, Umsetzung

Projektplanung und -verwaltung von Dokumentationsprojekten (Aerospace)

Eine Webapplikation, bei der der Auftraggeber Datenmodule zum Download bereitstellt, die ein Subunternehmer dann herunterlädt und bearbeitet, um sie wieder hochzuladen. Daraufhin erfolgt eine automatische Prüfung der Daten durch proprietäre Software des Auftraggebers. Der Subunternehmer wird über das Ergebnis informiert, kann die Ergebnisse auf der Webseite einsehen und dann Nachfragen stellen, zusätzliche Daten herunterladen (z.B. weitere Konstruktionszeichungen oder Style Guides) und dann eine neue Version verfassen für eine weitere Iteration des Workflows.

Anforderungen

  • Integration von Software des Auftraggebers (Input zur konfigurierbaren Prüfung bereitstellen, Output in Webpplikation übernehmen)
  • Alles muß aus Sicherheitsgründen geloggt werden - es muß ein komplettes Log aller User-Aktionen erstellt werden. (Aerospace-Technik ist generell extrem in dieser Hinsicht - bis zu dem Techniker, der jede Schraube am Flugzeugrumpf prüfen und auf seiner Liste abhaken muß [und haftbar gemacht werden kann, wenn das Flugzeug wegen seiner Unachtsamkeit runterkommt])
  • Workflow muß mehrere verschiedene Rollen (Projektadministratoren, Redakteure, Quality Management) nicht nur rechtemäßig sondern auch von den unterschiedlichen Funktionen berücksichtigen.

Technologien: Grails 2, Hibernate, MS-SQL Server

Mein Anteil: Mitarbeit in Konzeption in Absprache mit dem Kunden; Angebotserstellung und Umsetzung

Verwaltungssystem für Verbände und Vereine

Das Verwaltungssystem dient der Organisation der täglichen Aufgaben in kleinen bis mittleren Organisationen, wie z.B. dem Kreisverband einer Partei. Dies ist ein aktuelles Nebenprojekt, das zur Zeit bei einem Kunden intern getestet wird.

Anforderungen / Features

  • Alle Objekte im System müssen verschlagwortet werden können - dies gilt für Kontakte, Dokumente, Dateien, Termine, Newsletter.
  • Alle Objekte im System müssen verknüpft werden können - Kontakte mit Dokumenten und Terminen, Dateien mit Dokumenten, Dokumente mit Newslettern (werden als Anhänge mitgeschickt) etc.
  • Alle Basis-Objekte haben Berechtigungen für ihre Sichtbarkeit im System. Dies dient dem Datenschutz gerade hinsichtlich der Kontaktdaten.
  • Verteiler- und Newsletterfunktion für Emails, die abhängig von den konfigurierten Interessen der Abonnenten individuell beim Versand zusammengestellt werden (d.h., ein Empfänger bekommt nur Infos zu den Themen und Regionen, die ihn oder sie interessieren)
  • Umsetzung eines festen Webdesigns mit sehr detaillierten Vorgaben
  • Import von CSV-Daten (Kontakte)
  • Export von Teilnehmerlisten

Technologien: Grails 2, Hibernate, PostgreSQL, jQuery, AJAX, CSS

Mein Anteil: Kompletter Re-Write eines nicht mehr gewarteten Perl-Catalyst-Projektes mit MySQL als Backend und deutliche Erweiterung des Funktionsumfangs, weitgehende Migration der disparaten Altdaten des aktuellen Testkunden in das neue System.

Little Goblin

Ein Browserspiel-Framework in Grails - ongoing project. Noch lange nicht fertig, und wird auch nur nebenbei weiterentwickelt. Ist mittlerweile ein Grails-Plugin, das also auch von anderen Entwicklern verwendet und erweitert werden kann.

Anforderungen / Features

  • Tech-Trees
  • Asset-Management (Lizenzen und Artists für Bilder)
  • Quest-System
  • Gilden
  • Crafting
  • Französische Übersetzung
  • Hilfestellung für nicht-Grails-kundige Programmieranfänger; Bereitstellen einer Ubuntu Entwicklungs-VM mit IntelliJ-IDEA
  • Erstellen von Doku-Videos ;)

Mein Anteil: Konzeption, Umsetzung. Zeitweilig unterstützt durch drei französische Studierende (Webdesign, franz. Übersetzung), die LittleGoblin als Studienprojekt verwendet haben.

Joomla templates by a4joomla