State Machine importieren
Der Import liest eine JSON-Datei aus dem Export und fügt ihren Inhalt diesem Shop hinzu. Bis zum letzten Schritt wird nichts geschrieben, und gelöscht wird nie etwas.
1. Datei wählen
Abschnitt betitelt „1. Datei wählen“Öffnen Sie das Menü neben State Machine erstellen und wählen Sie Import.

Sobald die Datei gelesen ist, wird der Shop sofort mit ihr verglichen — und die Schrittleiste wächst um das, was dieser Vergleich ergeben hat: ein Schritt je zu importierender Maschine, dazu ein Schritt für Namen, falls welche fehlen.

2. Maschinen auswählen
Abschnitt betitelt „2. Maschinen auswählen“Jede Maschine aus der Datei wird mit ihren Auswirkungen aufgeführt: wie viele Zustände und Übergänge angelegt würden und wie viele Einträge blockiert sind.

- Grün — die Maschine ist bereits in diesem Shop und wird erweitert.
- Blau — die Maschine ist neu und wird angelegt.
Maschinen, auf die Shopware selbst angewiesen ist (order.state, order_transaction.state, order_delivery.state sowie die Capture-Maschinen), tragen hier eine Warnung: Änderungen daran wirken sich auf die Bestellabwicklung aus. Importieren lassen sie sich trotzdem — siehe Kern-State-Machines.
3. Jede Maschine prüfen
Abschnitt betitelt „3. Jede Maschine prüfen“Jede gewählte Maschine bekommt einen eigenen Schritt, der genau zeigt, was der Import mit ihr täte.

Das Diagramm verwendet dieselben Farben wie die Liste:
| Farbe | Bedeutung |
|---|---|
| Grün | Bereits in diesem Shop — bleibt unverändert |
| Blau | Neu aus der Datei — wird angelegt |
| Grau gestrichelt | Abgewählt — wird nicht importiert |
| Rot | Blockierender Konflikt — muss vorher gelöst werden |
Entfernen Sie den Haken bei allem, was Sie nicht möchten. Ein Klick auf einen Zustand oder eine Aktionsbeschriftung im Diagramm schaltet ihn um, genau wie die Checkboxen in der Leiste — und ein abgewählter Zustand graut die Übergänge aus, die von ihm abhängen, denn ein Übergang braucht beide Enden.
Mit Tabelle tauschen Sie das Diagramm gegen eine Liste über die volle Breite, mit Leiste ausblenden bekommt das Diagramm die ganze Breite, und über die Zoom-Steuerung oder Einpassen rahmen Sie eine große Maschine. Ziehen Sie an beliebiger Stelle der Fläche, um sie zu verschieben.
Konflikte aus dem Vergleich werden in diesem Schritt aufgelistet, samt der Wahl, wie sie aufgelöst werden — etwa ob ein vorhandener Name bleibt oder ersetzt wird.
4. Fehlende Namen ergänzen
Abschnitt betitelt „4. Fehlende Namen ergänzen“Shopware verlangt für alles, was es speichert, einen Namen in der Standardsprache des Shops. Fehlt er in der Datei, fragt der Assistent hier danach und lässt Sie erst weiter, wenn jedes markierte Feld gefüllt ist.

Hier erscheinen nur Objekte, die neu angelegt werden. Was der Shop bereits hat, behält seinen Namen — das Umbenennen vorhandener Objekte ist eine eigene Entscheidung und wird am Konflikt im vorherigen Schritt getroffen.
Die Tabelle hat eine Zeile je Objekt und eine Spalte je Sprache Ihres Shops. Alle Felder sind bearbeitbar — hier vergeben Sie also auch einen Namen, den die Datei nie enthalten hat.
Was passiert, wenn ein Name fehlt
Abschnitt betitelt „Was passiert, wenn ein Name fehlt“Die Datei stammt aus einem anderen Shop, der nicht dieselben Sprachen haben muss wie dieser. Es gilt:
| In der Datei | Was der Assistent tut |
|---|---|
| Ein Name in Ihrer Standardsprache | Wird eingetragen. Nichts zu tun. |
| Kein Name in Ihrer Standardsprache, aber einer in einer anderen Sprache | Trägt diesen Namen als Vorschlag ein, sodass Sie ihn nur bestätigen oder überschreiben. Solange das Feld leer ist, geht es nicht weiter. |
| Überhaupt kein Name, in keiner Sprache | Das Feld bleibt leer und ist markiert. Tragen Sie einen ein — vorher lässt sich der Schritt nicht verlassen. |
| Nichts für eine Ihrer weiteren Sprachen | Das Feld bleibt leer. Das ist zulässig: Das Objekt wird ohne Namen in dieser Sprache angelegt. |
Pflicht ist ausschließlich die Standardsprache, weil Shopware einen übersetzbaren Datensatz ohne sie nicht speichert. Die übrigen Spalten sind optional und lassen sich später am Objekt selbst nachtragen.
Legt der Import nichts an, was benannt werden müsste, entfällt der Schritt vollständig.
5. Bestätigen
Abschnitt betitelt „5. Bestätigen“Der letzte Schritt listet auf, was geschrieben wird.

Ein Klick auf Importieren schreibt es. Jede Maschine wird in einer eigenen Transaktion geschrieben, sodass ein Problem bei einer die anderen nicht halbfertig zurücklässt. Unmittelbar vor dem Schreiben wird der Shop serverseitig noch einmal mit der Datei verglichen — hat sich zwischenzeitlich etwas geändert, bricht der Import ab, statt darüber zu schreiben.
Was der Import nie tut
Abschnitt betitelt „Was der Import nie tut“- Er löscht nie. Ein Zustand oder Übergang, der in diesem Shop existiert, aber nicht in der Datei steht, bleibt.
- Er überschreibt nie einen Namen, außer Sie haben es am Konflikt ausdrücklich so gewählt.
- Er verschiebt nie eine Bestellung. Nur die Definition der Maschine ändert sich; Entitäten behalten den Zustand, in dem sie stehen.
Eine nützliche Folge davon: Ein zweiter Import derselben Datei ändert nichts mehr.