TYPO3 im Framework-Einsatz: Mehr als nur Content Management
Auf ihrer Website stellt die GSC GmbH [1] Finanzinformationen über börsennotierte Unternehmen zur Verfügung, etwa Geschäftsdaten der letzten Jahre und selbst erstellte Analysen und
Berichte. Derzeit werden im System mehr als 2.936 Firmen, 5.875 Bilanzen, 5.868 Gewinn- und Verlustrechnungen sowie 5.740 Berichte verwaltet. Die Website ist dabei ein
wichtiger Bestandteil der regelmäßigen Einnahmen der Firma GSC, da der Zugang zu den Informationen per Abo oder Pay-per-click (Firstgate)
bereitgestellt wird. Da für die tägliche Bearbeitung der Finanzinformationen besondere
Workflows zur Kontrolle sowie spezialisierte Eingabemasken zur Pflege
notwendig sind, werden die komplexen Daten von über 200 Redakteuren im
Backend gepflegt. Normale Inhalte in Form von Seiten und
Seitenelementen sind hingegen nur in Form von allgemeinen Informationen
enthalten und lassen sich an einer Hand abzählen.
Besonderes Augenmerk galt bei dem Projekt dem technischen Grundgerüst. Dieses sollte es auch in zukünftigen Ausbaustufen ermöglichen, das Portal sowohl im Frontend als auch im Backend individuell zu erweitern. Außerdem sollten bereits vorhandene Strukturen sowie sämtliche Daten gleich zu Beginn in das neue System migriert werden.
TYPO3 machte das Rennen
Da das Altsystem von GSC auf einer abzulösenden Kombination aus ColdFusion und einer Microsoft-SQL-Datenbank basierte, war die Umsetzung des Projekts an keinerlei technische Vorgaben geknüpft. Daher wurde im ersten Schritt ein Konzept für das neue System in Form einer Datenbankstruktur entwickelt. Die Struktur ließ aufgrund ihrer Größe und Komplexität sofort erkennen, dass man zur Wartung der Daten ein System benötigt, das dynamisch mit den verschiedenen Tabellen im Backend umgehen kann und das sich bei der Erweiterung der Strukturen schnell anpassen lässt.
Als Lösungsansatz wurden sowohl die Erstellung eines eigenen Systems als auch die Benutzung eines Frameworks evaluiert. TYPO3 als CMS kam erst in einer sehr späten Evaluierungsphase ins Spiel, konnte aber dennoch mit seiner Flexibilität und der großen Anzahl an vorhandenen Elementen das Rennen für sich entscheiden. Insbesondere folgende Punkte haben das Entwicklungsteam überzeugt:
- Funktionen für die Verwaltung von Benutzern im Frontend sind vorhanden und decken sich mit den Projektanforderungen.
- Das Framework bietet die notwendigen Funktionen zum Pflegen von Datensätzen.
- Eine einheitliche grafische Benutzeroberfläche für die Pflegemasken ist bereits entwickelt worden, sodass ein einheitliches „Look and Feel“ für die Redakteure gegeben ist.
- Über Hooks/XCLASS können TYPO3 weitere Funktionen hinzugefügt werden.
- PHP und MySQL sind verbreitete Technologien und bieten die Möglichkeit, an TYPO3 „vorbei“ zu programmieren.
Technische Umsetzungen
In einem ersten Schritt wurde die im Vorfeld entwickelte Datenbank-Struktur in Form einer TYPO3-Extension in TYPO3-Tabellen angelegt. So konnte schon in einer sehr frühen Projektphase mit realen Daten gearbeitet werden. Außerdem konnte aufgrund des engen Zeitrahmens die Arbeit am Projekt von drei Teams gleichzeitig durchgeführt werden: Während sich ein Team um die Datenübernahme aus der Microsoft-SQL-Datenbank kümmerte, arbeitete je ein Team an der Erstellung der Frontend- und Backend-Module. Das Framework ließ bei der Erstellung der Module sehr schnelle
Projektfortschritte zu. Bereits nach wenigen Tagen konnten die Masken
mit dem Kunden abgestimmt werden.
Für die Verwaltung der Berichte wurde bei der Erstellung auf die TYPO3-News-Extension „tt_news“ zurückgegriffen und die Extension entsprechend erweitert. Im weiteren Verlauf des Projekts wurden im Backend viele Techniken entwickelt, die die Redakteure insbesondere bei der Pflege und Kontrolle der Daten unterstützen. Die Pflege der Gewinn- und Verlustrechnungen und der Bilanzdaten wurde hier speziell in TYPO3 erstellt. Die Daten sollten für jedes Jahr in Spaltenform nebeneinander dargestellt und gepflegt werden. Zwar bietet das System des Inline Relational Record Editing (IRRE) die Pflege der Daten in Relationen an, eine Darstellung von mehreren Relationen parallel nebeneinander ist dabei jedoch nicht vorgesehen und in einem CMS auch nicht immer sinnvoll.
Da zur Pflege der Daten bereits verschiedene Hooks zum Einsatz kamen und die Daten auch während des Projekts bearbeitet wurden, musste bei der Umsetzung der Funktionen auch deren Nutzung beachtet werden. Um also die Systematiken weiter nutzen zu können, werden die Daten nicht direkt in die Datenbank geschrieben, sondern über die TCE-Main-Klassen von TYPO3. Dieser Schritt sorgt für die Ausführung der Hooks, die Verarbeitung der Daten und auch für die notwendigen Prüfungen der Daten. Gerade hier lässt sich durch die konsequente Nutzung des Frameworks viel Programmierarbeit sparen, da die Funktionen innerhalb des Frameworks in sich geschlossen sind.
Fazit
Die Auswahl von TYPO3 als Framework war im Nachhinein betrachtet die richtige Entscheidung. So wurden besonders bei der Umsetzung deutliche Synergien geschaffen, denn das Framework konnte sowohl den Kunden als auch die umsetzende Agentur überzeugen. Marketing Factory wird auch in Zukunft und auch für kleinere Projekte die TYPO3-Funktionalitäten wie TCE-Main konsequent nutzen, da sie eine spätere Erweiterung und Ergänzung jederzeit möglich machen und wenig böse Überraschungen bergen. Außerdem sind auf diese Weise Inkompatibilitäten innerhalb einer bestehenden Installation aufgrund einer Ergänzung mit weiteren Extensions garantiert ausgeschlossen.