OXID Shop Optimierung mit DOIT Workflow

Die DOIT Workflow Software bietet eine leistungsstarke Lösung zur Optimierung von OXID Shops. Diese Präsentation erklärt die Struktur und Funktionsweise des DOIT Workflow-Systems sowie dessen vielfältige Anwendungsmöglichkeiten für die Shop-Optimierung.

Ein DOIT Workflow besteht aus einer oder mehreren Tasks, die sequentiell abgearbeitet werden. Jede Task wiederum setzt sich aus einem oder mehreren Steps zusammen. Diese hierarchische Struktur ermöglicht eine flexible und effiziente Verarbeitung von Shop und anderen Daten.

Struktur eines DOIT Workflows

Yaml-Konfiguration

Jeder Workflow wir mit exakt 1 Yaml-Datei definiert.

Alle Yaml-Dateien für die Workflows liegen im Ordner:

/modules/webtools/doitconfig

oder

/modules/webtools/doitconfig/doitmodulname

oder

/modules/webtools/doitcustomerconfig

oder

/modules/webtools/doitcustomerconfig/doitmodulname

Basis Einstellungen

Jede YAML Datei, die einem Workflow entspricht, besteht aus 3 Haupt-Bestandteilen

module:

Enthält Basis-Informationen des Workflows:

  • Klasse und Namespace der im Workflow aufzurufenden Funktionen
  • Workflow aktiv /inaktiv
  • Menge der Steps die in einem Task Aufruf ausgeführt werden sollen

Formular

Bei jedem Workflow werden vor dem Starten des Workflows Informationen angezeigt. Diese sind über ein frei definierbares Formular anzeigbar.

Das Formular ist erweiterbar mit Datei-Upload Funktionen

typischer Workflow Aufbau

Jeder Workflow besteht aus:

  • module
  • form
  • und dem eigentlichen Workflow „steps:“

Tasks

Ein Workflow besteht aus beliebig vielen Tasks die nacheinander ausgeführt werden.

Tasks können nach Belieben ein- oder ausgeschaltet werden.

Steps – einfach

Jede Task besteht aus immer gleichen Steps die die eigentlichen Aufgaben durchführen.

Step-Definitionen können sehr einfach sein.

Steps – umfangreich

Bei jedem Step können auch viele weitere Möglichkeiten eingestellt werden.

Zur Verfügung stehen:

  • Debugging
  • verschiedene Modes
  • Input und Output Funktionen
  • Log-Funktionen
  • und mehr

Meistens sind so umfangreiche Konfigurationen nicht notwendig!

mode: Magic happens!

Jeder Step wird anhand der „mode:“ Einstellungen ausgeführt.

D.h. manchmal besteht eine Task lediglich aus dem 1-maligen Aufruf einer Funktion oder speziellen Funktion.

In anderen Fällen wird ein Step für jede Zeile einer Datenbankabfrage, eines Inputfiles oder einer Variablen durchgeführt.

Datenbank Zugriff

Es kann auf jede Tabelle im Shop sehr einfach zugegriffen werden.

Entweder komplett mit Angabe „dbtable:“ oder mit einem query, Parameter „query:“

Tipp:

Um beim Entwickeln zu debuggen, ist es sehr einfach nur einen bestimmten Datensatz aus einer Tabelle per Query auszuwählen und so mit einzelnen oder wenigen Datensätzen zu entwicklen.

DOITData

Kern der DOIT-Technologie ist DOITData.

Im Prinzip werden mit DOITData beliebige Daten in Datenbanktabellen gespeichert, die dann in beliebigen DOIT-Abläufen weiter verwendet werden können.

Somit können auf einfachste Weise unterschiedlichste Daten aus völlig unterschiedlichen Quellen gesammelt und wenn gewünscht ergänzt werden.

Völlig unabhängig von Datenbankdefinitionen.

DOIT Data Beispiel

In einem Workflow wird der Aufruf einer Funktion die DOITData Objekte erzeugt, definiert.

Beispiel-Daten

Es wird ein beliebiges Objekt erzeugt, das beliebige ergänzende Artikeldaten enthält.

  • Google Shopping
  • Cross Selling
  • SEO Daten

Beispiel Daten Ausgabe

So könnte ein Daten-Object aussehen dass, dass unterschiedliche Daten sammelt, in DOITData speichert und beliebig verwendet werden kann.

DOITData speichern

Mit der DOITData-Klasse können die Daten sehr einfach in beliebigen Tabellen in der Datenbank gespeichert werden.

DOITData laden

Die als Objekte gespeicherten Daten werden in der gleichen Struktur wieder geladen. Die Struktur der Objekte bleibt erhalten.

DOITDataList

Um in einem Schwung viele DOITData Objekte zu erzeugen, kann DOITDataList verwendet werden.

Umgekehrt können so auch viele vorher erzeugten Daten eines Typs auf einmal geladen werden.

DOITDataList -Daten Generierung

Es wird eine Liste von DOITData Objekten erzeugt, die mit einem Save gespeichert werden.

DOITDataList – Daten laden

Einmal in der Datenbank gespeichert, stehen Informationen in jedem Step per load-Funktionen zur Verfügung.

Alle DOITData-Daten die mit dem Namen „ArticleUpdate“ gespeichert wurden, werden aus der Datenbank geladen.

StepTraits – Step Variablen

In jeder Funktion, die durch einen Step aufgerufen wird, stehen Step-Variablen zur Verfügung, wenn

  • die Variablen mit $this→getStepvariables() geladen wurden
  • die Klasse StepTraits benutzt wird

Step Variablen

Die Variablen enthalten:

  • während der Steps 1-n eines Tasks akkumulierte Daten
  • einzelne Werte

einzelne Daten

  • Step (gesammelte Daten des Steps)
  • SessionVar (Wert der in Yaml definierten Sessionvar)
  • Cnt (aktueller Zähler)
  • Max (maximale Anzahl der Steps der Task)
  • StepNr (die Nummer der Task)
  • Globals (globale Variablen des Workflows)

Output-Felder

Diese können im Step beliebig gefüllt werden und die Ergebnisse werden während des Aufrufs oder am Ende einer Task verarbeitet.

RunOutput / ResultOutput werden während des Laufes der Task im Frontend angezeigt.

TaskData – Beispiel

Eine gängie Vorgehensweise ist es in einer Task Daten zu sammeln und diese am Ende der Task zu speichern.

TaskData – Funktion

Im Beispiel füllt die Funktion TaskDataExample die Variable TaskData, so das am Ende der Task eine Liste (Array) mit allen gesammelten Daten vorliegt.

Am Ende der Task setzt DOIT Workflow den Wert in die Variable „TaskDataVariable“ und speichert den Wert zusätzlich noch in der Datei „myTaskData.txt“ als PHP Object.

Im Prinzip funktioniert es ähnlch mit den Variablen LogOutput, ResultOutput, DebugOutput, ResultErrorOutput.

Conditions

Bedingungen sind ein sehr interessanter Teil der DOIT Funktionalität.

Mit Conditions (Bedingungen) prüft DOIT ob eine Bedingung in einem Step zutrifft.

DOIT lädt im Hintergrund immer abhängig von den Daten-Typen für die die Bedingungen geprüft werden sollen, die entsprechenden Daten und werte sie aus.

DOIT-Conditions sind vielfältigste Prüfungen möglich.

Die Anwendungsmöglichkeiten sind fast unbegrenzt.

Ob B2C oder B2B, ob Artikel Felder oder Bestellungen abgefragt werden sollen oder Kunden und ihre Bestellungen, egal.

Hier nur ein paar Ideen.

1 Bedingung

Finde alle Artikel deren Namen „T-Shirt“ enthält

2 Bedingungen

Finde T-Shirts mit Preis > 50.

2 Bedingungen Range

Finde Artikel mit Preis zwischen 30 – 60

Bedingungen mit unterschiedlichen Objekten

Finde Artikel wenn er in bestimmter Kategorie ist und Preis 100 hat.

Bestellungen filtern

Finde Bestellungen für Artikel mit Artikelnummer 1 oder 2

User nach Benutzergruppe filtern

Finde User die in Benutzergruppe 1 oder 2 sind

Die Anwendugnsmöglichkeiten der DOIT Workflow Technologie sind fast unbegrenzt!

Wir lassen dich nicht alleine

Kundenworkflow für DOIT Software

Wir wollen Sie mit Daten überzeugen. Wir kreieren ein Audit gemäß Ihres Status Quo und Zielen. Wir analysieren Ihren Webshop Ist-Zustand und zeigen mit dem Audit Quick Wins und Langfristpotenziale mit DOIT. Bereits im Zweitgespräch werden wir Ihnen ein Angebot auf Basis unserer Ergebnisse machen.

Kostenloses Erstgespräch


Vorstellung von webtools.de und DOIT

Fragenkatalog zur Bedarfsermittlung

Grobe Einordnung, ob DOIT zum Shop grundsätzlich passt

Ergebnis: Klare Zieldefinition + Wunschfokus für das folgende Audit

Website Audit


Analyse der Ist-Situation

Je nach Kundenwunsch: SEO, SEA, SHOP Analyse

Tools: GSC, Shopdaten, Screaming Frog etc.

Ergebnis: Kompakter Audit-Bericht mit Pain Points, Quick Wins & Langfristpotenzial

Zweitgespräch inkl. Angebot / Case


Präsentation des Audits + DOIT-Paket

Demonstration von DOIT-Modulen

Vorstellung eines konkreten Anwendungscases

Ergebnis: Aufzeigen Return-on-Investment und Angebotsunterbreitung

Maximale Shop-Optimierung. Minimaler Aufwand.

Kunden lieben uns

Deswegen lieben unsere Kunden uns. Denn wir machen E-Commerce-Optimierung zum digitalen Standardprozess – für mehr Sichtbarkeit, Performance und Wachstum. In den letzten 20 Jahren haben wir vielen OXID Shop, Shopify, Magento, als auch Shopware Kunden geholfen, ihre Performance und Gewinn zu steigern, u.a. Street One, Cecil, Kaufbei, Vogue, Zeppelin, Wall Art, August Richter, Hyundai, DruckerPatronenHandel.de, Pro-Plast.