Digitales Rundum-Management eines Online-Bilderdienstes mit TYPO3: Was druckst Du?
Der gesamte Service musste von einem Windows-System auf TYPO3 unter Unix vollkommen transparent vollzogen werden, um die Bestandskunden nicht zu verunsichern. Erschwerend kam hinzu, dass Kunden die Bilder nicht nur per Browser auf die Klickbilderbox hochladen konnten, sondern auch mit einer separaten Upload-Software, die unter Windows läuft. Diese Software war an einige ASP-Programme (Active Server Pages) gekoppelt. Wie bringt man nun ASP-Programme unter Unix zum Laufen?
Schnell wurde klar, dass ein direkter Weg sehr schwer bis unmöglich ist. Die Lösung: Es genügte, dem Client alle notwendigen Protokolle vorzugaukeln. Anschließend war es weitgehend „Handarbeit“, die Protokolle zu analysieren und als PHP-Skripte zu implementieren.
Nachdem der Apache gelernt hatte, dass .asp nun auch durch PHP 5 ausgeführt werden soll, waren die größten Hürden genommen. So konnte das alte Windows-Programm, das zu diesem Zeitpunkt noch von mehreren tausend Altkunden verwendet wurde, wie gewohnt weiterlaufen.
Der Relaunch sollte aber nicht nur die Bestandskunden glücklich machen, sondern auch neue Kunden durch interessante Features ansprechen. So wurde das Windows-Upload-Programm (Easybib) vollkommen neu implementiert und mit neuen Funktionen angereichert, die nun mit der TYPO3-Installation der Klickbilderbox kommunizieren.
Die größte Herausforderung bestand darin, die neue Klickbilderbox so skalierbar zu implementieren, dass ein beliebiges Wachstum in Bezug auf Kunden und Traffic möglich ist, ohne dafür extrem teure Hardware einkaufen zu müssen. Zudem sollte die notwendige Rechnungsstellung vollautomatisch ablaufen, damit Arbeitszeit in Kundensupport und Neukundengewinnung investiert werden kann, statt in die Administration des Backoffice.
Konzeptionelles Herzstück der Klickbilderbox ist ein zentraler Dispatcher, der die Übersicht über alle angeschlossenen Server hat. Er weiß sowohl über die Auslastung der Festplatten als auch der Prozessoren jedes einzelnen Servers Bescheid.
Auf jedem der Server wurde eine selbstentwickelte Bildverarbeitungssoftware installiert, die die erhaltenen Fotos an das Fotolabor schickt. Hier wurde bewusst kein Standardprodukt gewählt, weil jede neue Maschine möglichst flexibel in das bestehende Rechnernetzwerk eingebunden werden sollte und die Implementierung in zukunftssichere Software sich als günstiger erwies als die Implementierung in Hardware.
Wie sag ich’s dem Finanzamt?
Die nächste Hürde für die Bilder auf dem Weg zum Kunden war das in Unix neu zu implementierende Shopsystem. Es sollte die wichtigsten Züge einer Warenwirtschaft und eines Buchungssystems aufweisen. Zwar erledigen alle für TYPO3 existierenden Shop-Systeme ihr Kerngeschäft gut, Kundenaufträge können aber nicht nachbearbeitet werden. Die Rechnungsstellung sowie die Verbuchung der Rechnungen und Zahlungseingänge sind meist händisch oder per Import zu erledigen. Hier geht die Klickbilderbox neue Wege.
Intern werden die Bilddaten und das Kreditlimit überprüft, der Auftrag an das Labor geschickt, die Bilder dort ausbelichtet und an den Kunden geschickt. Zusätzlich wird die Rechnung mit FPDF [2] als PDF generiert, die sowohl im Labor dem Auftrag beigelegt wird als auch dem Kunden im Webinterface zur Verfügung steht. Die Rechnung wird vollautomatisch verbucht und als offener Posten geführt. In einem weiteren Prozess werden die Kontoauszüge digital von der Bank abgeholt und direkt in eine Datenbanktabelle geschrieben. Ein Programm gleicht dabei offene Posten mit den Zahlungseingängen ab. Auch Über- und Unterzahlungen werden so erkannt und auf dem internen Kundenkonto entsprechend behandelt.
Das vollautomatische Mahnwesen erinnert die Kunden an fehlende Zahlungen und stößt weitere Prozesse an. Die Meldungen über Vorsteuer und Ein-/Ausgaben werden per DATEV-Schnittstelle an das Finanzamt weitergereicht. Da in der gesamten Prozesskette kein Medienbruch vorhanden ist, können die Mitarbeiter im Backoffice und der Buchhaltung sehr effizient arbeiten und haben mehr Zeit für die individuelle Kundenbetreuung.
Der Realisierungszeitraum für das gesamte Projekt betrug insgesamt drei Monate. Diese kurze Entwicklungszeit konnte nur erreicht werden, da mit TYPO3 ein leistungsfähiges Content Management System zur Verfügung stand, das sich modular erweitern lässt.
Ein weiterer Vorteil war, dass die umsetzende Agentur punkt.de für interne Zwecke schon ein umfangreiches Shopsystem [3] mit dem Ziel entwickelt hatte, digitale Abläufe ohne Medienbruch abbilden zu können. So konnten sich die Entwickler während der Umsetzung vieler Abläufe aus dem bestehenden System bedienen, die lediglich für ihre Aufgabe angepasst werden mussten.
Mit dem Erscheinen dieser Ausgabe wird das entwickelte Shop-System im TYPO3 Extension Repository veröffentlicht. Die Haupt-Extension heißt „pt_gsashop“ und wird durch viele weitere Extensions ergänzt.
Captain Hook an Bord
Grün hinterlegte Flächen enthalten die Ein- und Ausgaben der Kunden. Orange hinterlegte Flächen stellen interne Prozesse dar. Beim Standardablauf schickt ein Kunde seine Bilder an die Klickbilderbox, teilt Anzahl und Größen mit und bestätigt den Auftrag.
Die Klickbilderbox wollte von Anfang an die meiste Zeit für externen Kundensupport und weniger für die interne Verwaltung verwenden. Es war daher notwendig, nicht nur eine Shop-Lösung für den Verkauf der Produkte, sondern auch eine Verwaltung für den gesamten buchhalterischen Aufwand und alle relevanten Betriebsdaten zu finden. Die Extension „pt_gsashop“ bietet hierfür schon eine Menge an Funktionen. Für das Projekt Klickbilderbox fehlende Features wurden an den entsprechenden Stellen durch sogenannte Hooks (Schnittstellen) in das Projekt integriert. So können die Standard-Features genutzt werden, während sich die für das jeweilige Projekt nötigen Anpassungen so kapseln lassen, dass späteren Updates nicht viel im Wege steht. Neben üblichen Features anderer Shopsysteme bietet „pt_gsashop“ unter anderem folgende Funktionen:
- HBCI-Abgleich der Zahlungseingänge inklusive Mahnwesen
- myKonto: Übersicht über Kontostand, offene Posten, Guthaben und Überzahlungen für den Endkunden
- Möglichkeit von Cent-Preisen mit zwei Nachkommastellen
- Templating und PDF-Generierung
- vielfältige Schnittstellen, Hooks, APIs
- saubere objektorientierte Architektur mit PHP 5
Ausblick
Fabrizio Branca wird den Shop während der Developer Days 2008 in Elmshorn bei Hamburg vorstellen und Fragen in einem Workshop beantworten. In der kommenden Ausgabe des T3N Magazins wird „pt_gsashop“ zudem ausführlich vorgestellt.