Vor- und Nachteile einer Individualentwicklung gegenüber OpenSource-CMS – 4

18. Erweiterbarkeit
Die einfache Erweiterbarkeit des Systems, ohne tiefergehendes Wissen bezüglich der komplexen internen Struktur des Kerns, ist einfach möglich. Wir haben einige Funktionen entwickelt, mit derer sich per Logfile automatisiert alle verwendeten Templates und Seitenfunktionen identifizieren lassen. Durch einfache Klassen und Funktionen ist es möglich, beispielsweise einen neuen Werbeblock an eine bestimmte Stelle zu setzen. Hierfür muss nur im Ad-Controller die Funktion showad_SIZE aufgerufen werden. Dieser Controller bindet alle nötigen JS-Dateien ein, setzt entsprechenden Javascript-Code im head-Bereich der Webseite ein, um den Werbeblock zu konfigurieren. Zusätzlich wird ein definierter HTML-Code an die Stelle des Aufrufs gesetzt, um an der konfigurierten Stelle den AdBlock einzublenden. Dadurch ist es einem Entwickler jederzeit möglich, innerhalb weniger Minuten in das Template einzugreifen, ohne sich vorher ausführlich mit dem System auseinandersetzen zu müssen. Für das System sollten außerdem einige externe APIs angebunden werden. Wetter, Börse, Horoskop und ein Videoimport aus zwei anderen Webseiten des Kunden werden darüber eingebunden. Dies ließ sich innerhalb der Individualentwicklung sehr einfach Implementieren, da bereits Funktionen wie beispielsweise zum abspeichern eines  Eintrags im Mediapool inkl. der automatischen Anpassung des Bildformates, zur Verfügung standen. Hier konnten wir im Vergleich zu Open-Source- einiges an Entwicklungszeit einsparen. Des weiteren sollten alle News aus dem Portal per RSS-Feed in die beiden weiteren Webseiten des Kunden importiert werden können. Da es bereits einen RSS-Feed für die Besucher der Webseite gab, war auch diese API sehr einfach zu implementieren. Eine Erweiterung für Umfragen im Frontend haben wir per AJAX realisiert um keinen Page-Reload zu verursachen, wenn an der Umfrage teilgenommen wird. Alle Requests, die das Captcha (Sicherheitsabfrage) für die Umfrage betreffen, wurden im Loadbalancing auf den selben Server geleitet um das Captcha validieren zu können.

19. Fertige Plugins
Für stehen diverse Extension kostenlos im -Extension-Repository zur Verfügung. Diese können sehr einfach installiert werden und meist verläuft das Problemlos, sofern die Extension nicht veraltet ist. Dadurch kann das System sehr einfach an diverse fertige Schnittstellen angepasst werden sowie Standard-Features nachinstalliert werden. Beispielsweise die Integration eines Google-Analytics Trackings, einer XML-Sitemap oder eine Anmeldung für einen Newsletter sind bereits fertig und müssen nicht gesondert implementiert werden. Dadurch wird die Entwicklungszeit einer -Basierten Webseite deutlich verkürzt was natürlich entsprechend Kosten spart.

20. Frontend Technik
Die Umsetzung des Frontends wurde durch einzelne Elemente realisiert, die im Quellcode sehr einfach eingebunden werden können. Dadurch haben wir eine flexible Möglichkeit, bereits vorhandene Boxen an diversen Stellen im System zu verwenden, selbst wenn diese geringfügig voneinander abweichen. Diese Elemente können beliebig ineinander geschachtelt werden. Für jedes Element steht mindestens eine Funktion zur Verfügung, die das Element mit den benötigten Daten versorgt. In der Funktion werden z.B. die neusten fünf Meldungen abgefragt, die zugehörigen Bilder in der entsprechenden
Größe ermittelt und die fertigen Daten in das Element übergeben. Dadurch kann im Controller der Seite eine Funktion neueste 5 Meldungen aufgerufen werden, welche die gesamte Logik und HTML-Code beinhaltet und liefert. Die Elemente werden dann im Seitentemplate an Ihren definierten Positionen ausgegeben.

21. Fazit
Die Kosten der Individualentwicklung sind natürlich deutlich höher als beim Einsatz von fertigen Systemen. Die Erfahrung hat jedoch gezeigt, dass diese fertigen Systeme kaum mehr den Kundenanforderungen gerecht werden können, da sie in den meisten Fällen ein hohes Maß an Individualisierung benötigen. Viele TYPO3 Systeme sind daher mit Unmengen an Extensions erweitert, die alle von verschiedenen Entwicklern stammen. Dazu kommen meist weitere Eigenentwicklungen, die alle zur Unübersichtlichkeit beitragen. Oftmals müssen in fertige Systeme neue Funktionen zusätzlich implementiert werden, die das Standard-System nicht unterstützt. Das ist der große Nachteil, beim Einsatz fertiger Systeme. Hier muss nun im Core des TYPO3-Systems eine Funktion implementiert werden, welche die Update-Fähigkeit des Systems beeinträchtigt. Um diese Änderung möglichst sauber vorzunehmen, muss man häufig größere Umwege in Kauf nehmen oder eine Quick-and-Dirty Lösung akzeptieren. Hier wäre eine individuelle Lösung in den meisten Fällen der einfachere und saubere Weg gewesen und schlussendlich oft sogar der kostengünstigere.

Dieser Beitrag wurde unter Sonstiges abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.