Fugamo Shop

veröffentlicht am 6.2.2022 — letzte Aktualisierung: 7.2.2022
fugamo-screenshot.png

Optimierung des Backends und der Verwaltung von Bestellungen

Das auf ProcessWire und Padloper basierende Shopsystem wurde um selbst entwickelte Bestellabläufe und Auswertungen erweitert. Fugamo betreute uns mit der Aufgabe, diese Bestellabläufe im Backend schneller zu machen, da sie täglich oft Bestellungen verwalten oder sich die Auswertungen ansehen.

Dabei waren für die Auswertungen Ladezeiten von mehreren Minuten die Regel. Die Ansicht der offenen Bestellungen dauerte mehr als 6 Sekunden. Da diese Seite täglich oft im Gebrauch ist, summieren sich diese Zeiten schnell auf mehrere Minuten pro Tag.

Das Generieren der Auswertungen beinhaltet das Erstellen von PDFs. Diese werden dazu genutzt....

Zeiten von 2 Minuten oder länger für jede Generierung waren die Regel. In dieser Zeit war der Shop von Fugamo ausgelastet und Benutzer konnten nur mit Verzögerung durch den Shop navigieren.

300% schnellere Ladezeiten und einfachere Verwaltung

Die Geschwindigkeit der Seite "offene Bestellungen" wurde von initial 6 Sekunden auf < 2 Sekunden verkürzt; ein Geschwindigkeitszuwachs von 300 %.

So wurden die Verbesserungen erreicht:

Aktualisierung von ProcessWire und Integration neuer Funktionen

Um die Abfragegeschwindigkeit von Daten zu verbessern, installierten wir eine aktuelle Version von ProcessWire, mit der man bestimmte Datenbankabfragen effizienter ausführen lassen kann (findRaw).

Die neue Version bot allerdings nicht alle Funktionen die wir benötigten, und somit traten wir mit dem ProcessWire-Entwickler in Kontakt, welcher unsere Wünsche innerhalb kürzester Zeit integrierte.

Entwicklung eines Moduls zum schnellen Anzeigen von Datentabellen: ProcessWireTabulatorJs

Bislang wurde das Modul RockTabulator eingesetzt welches das JavaScript tabulator.info zu tabellarischen Darstellung von Daten in ProcessWire integriert.

Wir haben RockTabulator selbst in einigen Projekten eingesetzt, fanden aber mit der Art und Weise wie eine Datentabelle einzurichten ist umständlich und nicht performant genug. Es fehlten Methoden zum debuggen, sodass man Fehler im Blindflug suchen musste.

Zudem ist man darauf angewiesen, dass der Entwickler das Modul und die Tabulator Version aktuell hält. Das letzte Update erfolgte in Juni 2020.

Kurzerhand entwickelten wir selbst ein Modul zur Integration von Tabulator.info in ProcessWire: ProcessWireTabulatorJs, welches wir als Open-Source-Software veröffentlichten. Der Vorteil unseres Moduls ist, dass es die nativen Möglichkeiten von Tabulator nutzt und man somit Beispiele und Code von der Website des Herstellers übernehmen kann, und die Tabulator Version kann schnell auf einen neuen Stand gebracht werden.

Vorteile unseres Moduls

  • moderneres an ProcessWire's UI angepasstes Design

  • schnellere Ausführung

  • einfachere Einrichtung

  • schnelle und einfache Updates von Tabulator möglich.

Einführung einer Versionskontrolle

Bisher wurden Änderungen am Code von Fugamo immer am "offenen Herzen" also direkt auf dem Live-System vorgenommen. Dies birgt Risiken und kann.

Über Fugamo

Fugamo bietet Faire Schulkleidung, die coolsten Abishirts und Abschluss-Pullis.

ProcessWire optimization