Schnelle Lösungen oder intelligente (aufwendige) Lösungen?

„Das WEB verändert sich in einem rasantem Tempo“ wird es oft zitiert. Diese Devise wird dann auch gerne auf die Entwicklung übertragen und kann dann zu verheerenden Auswirkungen für das komplette Projekt führen. Hier ein kleines Beispiel aus der Entwicklung und zwei Lösungsansätze, die konträrer nicht sein könnten. Stellen Sie sich doch einmal die Frage, wie Sie sich entschieden hätten mit dem Zeitdruck im Nacken, das Projekt möglichst schnell zu realisieren.

Problemstellung

Es gibt sehr unterschiedliche Produkte (Laptops, Bildschirme, Server und so weiter) in Ihrem Shop. Die Informationen zu diesen Produkten sollen dem Kunden/Besucher auf der Produktseite in einer Tabellen-Darstellung präsentiert werden. In dieser Informations-Tabelle gibt es unterschiedliche Sektionen, welche auf-/zugeklappt werden können. Die Daten in der Tabelle werden nur auf der Produktseite verwendet und nicht für Filter, auf Kategorieseiten oder in der Suche.

Schnelle Lösungsvariante

Sie legen für jeden Produkttyp ein Attributset an. Sie legen alle Attribute an, die Sie benötigen. Sie befüllen die Attribute mit den jeweils benötigten Werten. Sie ordnen die Attribute einer eindeutigen Gruppe zu. Im Frontend (Template) laden Sie die Gruppe und alle Attribute, die sich in dieser Gruppe befinden. Der Aufwand für den Entwickler ist gering, da er eine fest definierte HTML-Struktur im Template verankern kann und sich nur Labels und Werte holt und diese anzeigt.

Vorteile der schnellen Lösung

  • Der zeitliche Aufwand des Entwicklers ist gering.
  • Die Lösung kommt weitestgehend mit vorhandenen Funktionen (Core) aus.
  • Es kann durchaus sein, dass ein Attribut irgendwann in der Zukunft für die Filter, Suche etc. verwendet wird. Dann hätten Sie damit einen geringeren Aufwand.

Nachteile der schnellen Lösung

  • Der zeitliche Aufwand wird auf die Schultern der Produktmanager verteilt oder sofern möglich durch einen Import bzw. die Warenwirtschaft erledigt.
  • Für jede Option muss ein Attribut gepflegt werden. Wenn es viele Optionen gibt, wird das schnell unübersichtlich.
  • Es müssen viele Attribute auf der Produktseite geladen werden, welche nur zur Anzeige dienen. Ebenso müssen die Optionen aus den Attributen geholt werden, was bei vielen Optionen zu weiteren Ballast führt.

Die intelligente (aufwendige) Lösung

Sie speichern die HTML-Struktur, die Sie für das Frontend benötigen in einem einzigen Attribut ab. Sie erstellen ein Modul, welches die HTML-Struktur parsen kann und generieren daraus eine Eingabe-Maske für das Backend. Sie schaffen die Möglichkeit Sektionen und Reihen hinzuzufügen. Die Sektionen und Reihen können per Drag & Drop beliebig sortiert werden. Weiter schaffen Sie eine Funktion, welche eine vorhandene Struktur von einem bestehenden Produkt in ein neues Produkt kopiert. Sie blenden den normalen Editor aus und stellen eine Funktion zur Verfügung, die von Ihnen geschaffene Eingabemaske zu aktivieren/deaktivieren (auf Attributebene). Im Frontend laden Sie ein Attribut und geben das HTML aus.

Vorteile der intelligenten (aufwendigen) Lösung

  • Die Produktmanager brauchen keinerlei HTML-Kenntnisse für die Pflege der Produktinformationen im Backend.
  • Die Datenbank wird nicht mit tausenden Attributen und deren Optionen überschwemmt.
  • Die Produktmanager können sehr unterschiedliche Templates erstellen und diese einfach von Produkt zu Produkt kopieren.

Nachteile der intelligenten (aufwendigen) Lösung

  • Der Aufwand beim Programmierer ist wesentlich höher.
  • Sollte sich die HTML-Struktur in der Zukunft irgendwann ändern, muss diese in jedem Produkt bei dem entsprechenden Attribut zum Beispiel per Script angepasst werden. Ebenso muss das Modul auf die neue Struktur angepasst werden (das könnte mit Templates und Placeholdern gelöst werden, aber noch nicht vorhanden).

Fazit schnelle oder intelligente Lösungen

Viel zu oft wird sich für die schnelle Lösung entschieden. Aber bedenken Sie, dass dies unter Umständen Sie irgendwann in eine Sackgasse führen kann. Wenn Sie zu viele Attribute mit zu vielen Optionen haben, werden Sie irgendwann an die Grenzen des System gelangen und im schlimmsten Fall wird das laden der Produktseite an die 30 Sekunden dauern. Die intelligente Lösung ist natürlich komplizierter aber vereinfacht dadurch entscheidend den Prozess der Produktpflege und hat positive Nebeneffekte auf die Datenbank. Grundsätzlich sollten Sie hier auch nicht immer auf die Programmierer hören! Oft gehen diese aus Bequemlichkeit auch gerne den einfachen Weg.

Zum Abschluss die intelligente Lösung im Einsatz

Magento2-Datasheet-Composition-Module

Magento2 Datasheet Compostition Module

Viel Erfolg beim Entscheiden, welcher Weg für Sie der richtige ist.

PS: Nicht immer gewinnt der intelligentere Weg 😉

(Bildquelle: Flickr mjtmail (tiggy))

Björn Meyer
Björn Meyer arbeitet als E-Commerce Projektmanager bei Flagbit. Er ist zertifizierter Magento Frontend Developer sowie zertifizierter Magento Developer Plus. Er begeistert sich sehr für die Details hinter der User Experience.

Hinterlassen Sie einen Kommentar

Ihr Kommentar*

Name*
Website

Unser Artikel hat Ihnen gefallen?

Mit dem E-Commerce Forum Newsletter erhalten Sie die aktuellsten Beiträge direkt in Ihr Postfach.

Weitere Beiträge zum Thema
Agil gewinnt im E-Commerce immer!
MVP
Better Done Than Perfect – Warum ein MVP sinnvoller als ein umfangreicher Relaunch ist
Agile Digitalisierung des B2B Vertriebs
E-Commerce Forum Karlsruhe über die Zukunft des E-Commerce