Große Herausforderungen, kleine Lösungen - eine kurze Geschichte zu Tempodome

Als ich vor 6 Monaten in das Projekt wechselte, sah Tempodome noch ganz anders aus. Mal ganz abgesehen von einer jetzt deutlich helleren und strukturierteren Aufmachung hat sich in der Gesamtstrategie viel verändert. Das machte natürlich Umbauten auch unter der Haube nötig.

Um Tempodome.com mit mehr Inhalten füllen zu können und neue Einnahmequellen zu erschließen, reifte im Laufe des letzten Jahres bei Tempodome der Entschluss, die eigene Software mandantenfähig zu machen und in Zukunft als Technologiepartner für andere Unternehmen aufzutreten. So konnte Tempodome Veranstaltungen wie die Energy Music Tour 2008 und das Heavy-Metal-Festival Wacken 2008 (zusammen mit Rock Alarm) live im Internet übertragen. Der letzte Schritt war im Dezember die Integration der eigenen Community-Plattform in das GetGo-Portal.

Mandantenfähgkeit à la Ruby

Eine der Herausforderungen war die Einführung der Mandantenfähigkeit der Software – also die Daten der Partner innerhalb einer gemeinsam genutzten Datenbank voneinander getrennt speichern zu können. Bei der Lösung kamen uns die extreme Flexibilität und Erweiterbarkeit von Ruby sehr entgegen. In unserem Fall bestand der Aufwand in der Entwicklung eines kleinen Ruby-Moduls, das per Mixin in die entsprechenden Klassen eingebunden werden kann. Das Modul überschreibt, einmal eingebunden, innerhalb der Klasse die zwei wichtigen Find- und Create-Methoden, so dass hier völlig transparent und ohne weiteres Zutun eines Entwicklers der gerade aktive Mandant an den entsprechenden Datensatz angehängt wird bzw. die bei einer Suche gefundenen Datensätze auf die des aktuellen Mandanten eingeschränkt werden. Dabei sind die neuen Methoden so flexibel implementiert, dass das Verhalten auf Wunsch des Entwicklers einfach an- und abgeschaltet werden kann.

Durch die Entwicklung dieses Mixins konnten wir eine verhältnismäßig einfache und in der weiteren Benutzung unaufwendige Lösung finden und ein komplettes Neuschreiben bestimmter Teile der Software vermeiden.

Templating à la Rails

Da die Datentrennung für die einzelnen Mandanten jetzt ohne weiteres möglich war, stand das nächste Thema an: das Templating, also die für den jeweiligen Mandanten individuelle Präsentation der Plattform. Durch Veränderungen der Standard-Suchpfade von Rails und einer kleinen Erweiterung der Standard-Rails-Methoden konnten wir auch diese Hürde mit relativ wenig Aufwand meistern, so dass jetzt jeder Mandant sein eigenes, individuell angepasstes Template-Set nutzen kann.

Ticketing mit Hindernissen

Ein weiterer wesentlicher Punkt war die Einführung eines Ticketing-Prozesses: die Erfassung der verkauften Onlinekonzert-Tickets und der Einlass der Besucher, die ein gültiges Ticket vorweisen können, auf die Online-Bühne. Im Vergleich mit den anderen Aufgaben war die Implementierung des Prozesses aufgrund der hohen Abstimmungsintensität mit Ticketpartnern und Veranstaltern einigermaßen komplex – und die Live-Übertragung von Wacken 2008 stand kurz vor der Tür. Allerdings konnten wir nach letzten Benchmarks mit dem Ticketservice auch den Ticketing-Prozess erfolgreich freischalten, so dass einer erfolgreichen Übertragung des Heavy-Metal-Festivals nichts mehr im Wege stand.

Tempodome.com bekommt einen Bruder

Den letzten größeren Milestone, die Integration der Tempodome-Plattform in das Getgo-Portal, haben wir kurz vor Weihnachten erreicht und auf den Produktionsservern veröffentlicht. Dabei wurde nicht nur eine Menge an den Templates für den Getgo-Mandanten gearbeitet, auch Performance-Optimierungen standen auf dem Programm – schließlich hat GetGo, ordentlich Traffic zu verzeichnen. Und auch hier waren es oft die kleinen Veränderungen, die zu guten Ergebnissen führten.

Große Herausforderungen, kleine Lösungen

So könnte man unsere Strategie zusammenfassen. Denn wie die Erfahrung mit Rails immer wieder beweist, dürfen Lösungen in der Softwareentwicklung ruhig immer nur so groß sein, wie unbedingt nötig – solange sie mitwachsen können. Und das tut die Tempodome-Plattform nun schon seit über einem Jahr.

Kommentare zu diesem Eintrag sind geschlossen.