magento_logo

Magento-Module – goldenes Kalb oder die Büchse der Pandora?

Eines der größten Argumente für Open-Source-Systeme wie Magento sind verfügbare Module, welche die Funktionalität des Grundsystems um Lösungen für wiederkehrende Aufgabenstellungen erweitern. Magento bietet auf seiner Plattform Connect sowohl unentgeltliche als auch kostenpflichtige Module an. Das Installieren wird dem Shop-Betreiber durch den Magento Connect Manager auch sehr einfach gemacht, ein neues Modul ist in Nullkommanichts installiert und vollführt von nun an seinen Dienst. Doch gerade die mit der geringen Komplexität einhergehende niedrige Hemmschwelle beim Integrieren neuer Module kann zu großen Problemen führen. Die meisten Betreiber von Magento-Online-Shops gehen mit der Installation von Modulen deutlich zu unkritisch, teilweise naiv um und sollten die Extensions deutlich häufiger hinterfragen. Die Liste der Problematiken, die durch Module heraufbeschworen werden können, ist relativ lang:

Funktionalität
Macht das Modul wirklich, was ich mir darunter vorstelle? Die Beschreibung passt, die Screenshots sehen sehr viel versprechend aus. Aber ob im Kern und im Detail dann auch wirklich ein Modul dahinter steckt, was genau die speziellen Anforderungen des jeweiligen Shops erfüllt, ist fraglich. Woher bezieht es seine Daten? Entspricht die Logik dem, was sich der Shop-Betreiber vorgestellt hat? Wie hoch ist der Aufwand, um eine „kleine Änderung“ durchzuführen? Kann man die Ausgaben an die eigenen Vorstellungen anpassen? Die Antworten auf all diese Fragen können nicht mittels Screens und Co., sondern erst nach einer detaillierten Prüfung des Programms gegeben werden.
Sicherheit
Es sollte bei der Integration eines Moduls geprüft werden, ob die installierten Mechanismen grundlegende Regeln der Sicherheit einhalten. SQL Injection, Cross-Site-Scripting oder Cross-Site Request Forgery sind nur drei mögliche Angriffsmöglichkeiten, die in einem guten Magento-Modul nicht vorkommen sollten. Die Sicherheit sollte jedoch nicht als gottgegeben angenommen werden – hier ist der Betreiber einer Seite selbst aufgerufen, dies explizit zu überprüfen.
Performance
Jedes Modul wird die Leistungsfähigkeit des gesamten Systems ein Stück mehr bremsen. Das fängt mit einer Verlängerung der Konfiguration an und setzt sich über die Verarbeitung des eigentlichen Zwecks eines Moduls fort. Das wird man nicht verhindern können – allerdings sollte man darauf achten, dass ein Modul seine Arbeit möglichst effizient durchführt. Es sollte darauf geachtet werden, dass Caches genutzt und somit unnötige Rechenoperationen vermieden werden.
Skalierbarkeit
Ein Modul kann im Kontext eines kleinen Shops mit einer Handvoll Produkten und Kunden sehr gut funktionieren, bei der Verarbeitung eines Enterprise Stores mit einer Million Produkten jedoch komplett versagen. Im schlimmsten Fall hieße das: Der Shop ist bei eingeschalteter Funktionalität einfach nicht mehr zu erreichen.
Wartbarkeit
Für den Betrieb eines Online-Shops sowie dessen kontinuierliche Weiterentwicklung ist es von zentraler Bedeutung, dass alle eingesetzten Module die notwendigen Eingriffe „sanft“ durchführen. Dies bedeutet zu allererst, dass Änderungen in dem Sinne ausgeführt werden, der von Magento zur Änderung vorgesehen wurde. Man muss sich auch im Klaren darüber sein, dass durch die Veränderung einiger Prozesse andere Änderungen oder Module von der Installation ausgeschlossen werden. Auch Updates auf neue Magento-Versionen werden durch die Vielzahl von installierten Magento-Modulen in der Regel deutlich erschwert.

Noch etwas brisanter ist die Problematik im Rahmen von Professional- oder Enterprise-Editions. Hier bezahlt der Betreiber eines Shops für die professionelle Lizenz, durch die im Härtefall auch eine Verbesserung oder Kompensation von Magento erzielt werden soll. Je mehr Module jedoch in die Verarbeitung der Original-Prozesse eingreifen, desto unwahrscheinlicher wird jedoch der Haftungsfall für Magento, könnten doch eben die installierten Module für die fehlerhafte Leistung verantwortlich sein.

Ein großer Vorteil der Enterprise-Edition ist der Full-Page-Cache. Damit dieser jedoch ordnungsgemäß funktionieren kann, müssen auch die installierten Module hierzu kompatibel sein. In der Praxis schaut der Kunde hier gleichwohl aufgrund inkompatibler Entwicklung oft in die Röhre und der teuer bezahlte Full-Page-Cache bleibt ausgeschaltet.

Problematisch bei kommerziellen Modulen ist darüber hinaus, dass man die Qualität eines Moduls erst überprüfen kann, nachdem man bereits dafür bezahlt hat. Andernfalls müsste man beim Hersteller eines Moduls zunächst eine Test-Version beantragen, um bei positiver Prüfung die Vollversion zu erwerben. Kommerzielle Module sind darüber hinaus häufig mit IonCube verschlüsselt und können somit gar nicht oder nur mit hohem Aufwand auf Schwachstellen überprüft werden. Auch entstehen hiermit Aufwände für die Administration des IonCube-Moduls für PHP.

Wenn man nun bedenkt, dass oben genannte Punkte sowohl im Rahmen der Installation als auch bei jedem Update eines Moduls überprüft werden müssen, kann die vermeintlich kostenfreie Extension relativ schnell zeitintensiv und damit sehr teuer werden.

Insgesamt möchten wir nicht davon abraten, kostenfreie oder kostengünstige Module von der Stange einzusetzen – im Gegenteil: diese Möglichkeit stellt für viele Shop-Betreiber eine günstige Alternative dar, um oft gewünschte Funktionalitäten nachzurüsten. Auch wir stellen bekanntlich einige Module für Magento – selbstverständlich kostenfrei – zu Verfügung. Wir möchten aber gerade aufgrund unserer Erfahrung mit anderen Modulen umso dringender dazu raten, alle Erweiterungen detailliert zu überprüfen und im Zweifel eine externe Expertenmeinung einzuholen. Wenn hierdurch eine Downtime oder ein Datenverlust verhindert werden kann, ist eine tief greifende Untersuchung gut investierte Zeit bzw. gut investiertes Geld.

PS: Die Problematik ist nicht Magento-spezifisch! Diese Ausführungen lassen sich auf diverse andere Systeme genauso anwenden.

Michael Türk
Seit 2007 entwickelt und betreut Michael Türk Web-Applikationen und vorrangig Online-Shops für Flagbit. Er ist in diversen Magento Hackathons engagiert und Gründungsmitglied des Firegento-Vereins. Außerdem veranstaltet er als Zeremonienmeister das regelmäßig stattfindende E-Commerce Forum in Karlsruhe.

Hinterlasse einen Kommentar

4 Kommentare auf "Magento-Module – goldenes Kalb oder die Büchse der Pandora?"

Benachrichtige mich zu:
avatar

Sortiert nach:   neuste | älteste | beste Bewertung
Alexander Sibert
Gast
6 Jahre 9 Monate her
Toller Bericht. Hätte ich nicht besser schreiben können. Zu ergänzen in Sachen Sicherheit und Privatsphäre gibt es noch die netten Curl Übertragungen zum Extension Hersteller, damit dieser weiß, wo genau die Extension installiert wurde. Es gibt davon eine Handvoll kostenlose Module sowie aber auch z. B. aitoc mit seiner Shop by Brands Extension usw. Bei aitoc habe ich nicht viel dagegen, da die das auch deutlich machen und es an sich seriöser Anbieter ist, aber so manche kostenlose Extensions die ich gesehen haben, haben die curl Funktion nicht verdeutlicht. Ich selbst habe schon von flagbit einige Magento Projekte und damit… Read more »
Alexander Sibert
Gast
6 Jahre 9 Monate her

… und fooman ist für mich ein seriöser Anbieter mit brauchbaren Extensions.

Thorsten Weber
Webmaster
6 Jahre 9 Monate her

Wir hatten bei einem Kunden auch schon das Problem, dass ein Serverausfall beim Extensionanbieter den Shop lahmgelegt hat. Die Extension wollte nach hause telefonieren, konnte den Server aber nicht erreichen und hat daraufhin eine Exception geworfen.

JCG
Gast
6 Jahre 6 Monate her

> Wir hatten bei einem Kunden auch schon
> das Problem, dass ein Serverausfall
> beim Extensionanbieter den Shop
> lahmgelegt hat

Uns ist genau das mit aheadWorks-Extensions passiert: Eines Freitags (!) Anfang 2010 war der aheadWorks-Server down und dort natürlich bis Montag früh niemand erreichbar. In der Folge war dann auf einmal unser Adminbereich weg (Exception).

Überhaupt telefonieren insbesondere die aheadWorks-Extensions leider sehr intensiv nach Hause.

wpDiscuz
Weitere Beiträge zum Thema
Namenskonventionen im Layout-XML
Patch für CustomerController / Magento 1.4.0.1
Artikel über TypoGento im Internet Magazin & TypoGento-Schulungen
Vortrag über TypoGento auf der T3Con08