Import maszyny stanów
Import czyta plik JSON z eksportu i dokłada jego zawartość do tego sklepu. Do ostatniego kroku nic nie jest zapisywane, a usuwane nie jest nigdy.
1. Wybór pliku
Dział zatytułowany „1. Wybór pliku”Otwórz menu obok Utwórz maszynę stanów i wybierz Import.

Po wczytaniu pliku sklep jest od razu z nim porównywany — a pasek kroków rozrasta się o to, co z tego porównania wyszło: jeden krok na każdą importowaną maszynę plus krok na nazwy, jeśli którejś brakuje.

2. Wybór maszyn
Dział zatytułowany „2. Wybór maszyn”Każda maszyna z pliku jest wypisana razem z tym, co oznaczałby jej import: ile stanów i przejść powstanie oraz ile pozycji jest zablokowanych.

- Zielony — maszyna już jest w tym sklepie i zostanie rozszerzona.
- Niebieski — maszyna jest nowa i zostanie utworzona.
Maszyny, na których opiera się sam Shopware (order.state, order_transaction.state, order_delivery.state oraz maszyny płatności), mają tu ostrzeżenie: zmiany w nich wpływają na obsługę zamówień. Nadal można je zaimportować — zobacz Maszyny stanów rdzenia.
3. Przegląd każdej maszyny
Dział zatytułowany „3. Przegląd każdej maszyny”Każda zaznaczona maszyna dostaje własny krok, pokazujący dokładnie, co import z nią zrobi.

Diagram używa tych samych kolorów co lista:
| Kolor | Znaczenie |
|---|---|
| Zielony | Już w tym sklepie — zostanie bez zmian |
| Niebieski | Nowe, z pliku — zostanie utworzone |
| Szary przerywany | Odznaczone — nie zostanie zaimportowane |
| Czerwony | Konflikt blokujący — trzeba go rozwiązać, żeby przejść dalej |
Odznacz to, czego nie chcesz. Kliknięcie stanu albo etykiety akcji na diagramie przełącza go tak samo jak pole wyboru na liście — a odznaczenie stanu wyszarza przejścia, które od niego zależą, bo przejście potrzebuje obu końców.
Przycisk Tabela zamienia diagram na listę na pełną szerokość, Ukryj panel oddaje diagramowi całą szerokość, a powiększenie i Dopasuj pozwalają ująć dużą maszynę w kadrze. Płótno przesuwasz przeciągnięciem w dowolnym miejscu.
Konflikty wykryte przy porównaniu są wypisane w tym kroku razem z wyborem sposobu ich rozwiązania — na przykład czy istniejąca nazwa zostaje, czy jest zastępowana.
4. Uzupełnienie brakujących nazw
Dział zatytułowany „4. Uzupełnienie brakujących nazw”Shopware wymaga nazwy w domyślnym języku sklepu dla wszystkiego, co zapisuje. Jeśli plik jej nie niesie, kreator pyta o nią tutaj i nie pozwoli przejść dalej, dopóki każde oznaczone pole nie zostanie wypełnione.

Pojawiają się tu wyłącznie obiekty, które zostaną utworzone. To, co sklep już ma, zachowuje swoją nazwę — zmiana nazwy istniejącego obiektu to osobna decyzja, podejmowana przy konflikcie w poprzednim kroku.
Tabela ma wiersz na obiekt i kolumnę na każdy język sklepu. Wszystkie pola są edytowalne, więc to jest też miejsce, w którym nadasz nazwę, której plik nigdy nie niósł.
Co się dzieje, gdy brakuje nazwy
Dział zatytułowany „Co się dzieje, gdy brakuje nazwy”Plik pochodzi z innego sklepu, który nie musi mieć tych samych języków co ten. Reguły są takie:
| W pliku | Co robi kreator |
|---|---|
| Nazwa w Twoim języku domyślnym | Wstawia ją. Nie ma nic do zrobienia. |
| Brak nazwy w języku domyślnym, ale jest w innym | Wstawia tamtą nazwę jako podpowiedź, więc wystarczy ją potwierdzić albo nadpisać. Dopóki pole jest puste, nie da się przejść dalej. |
| Brak nazwy w jakimkolwiek języku | Pole zostaje puste i oznaczone. Trzeba ją wpisać — wcześniej kroku nie opuścisz. |
| Nic dla któregoś z pozostałych Twoich języków | Pole zostaje puste. To jest dozwolone: obiekt powstanie bez nazwy w tym języku. |
Wymagany jest wyłącznie język domyślny, bo Shopware nie zapisze rekordu tłumaczonego bez niego. Pozostałe kolumny są opcjonalne i można je uzupełnić później na samym obiekcie.
Jeśli import nie tworzy niczego, co wymagałoby nazwy, krok w ogóle się nie pojawia.
5. Zatwierdzenie
Dział zatytułowany „5. Zatwierdzenie”Ostatni krok wypisuje, co zostanie zapisane.

Przycisk Importuj zapisuje to. Każda maszyna idzie w osobnej transakcji, więc problem z jedną nie zostawia pozostałych w połowie. Tuż przed zapisem sklep jest jeszcze raz porównywany z plikiem po stronie serwera — jeśli coś się w międzyczasie zmieniło, import się zatrzymuje, zamiast to nadpisać.
Czego import nie robi nigdy
Dział zatytułowany „Czego import nie robi nigdy”- Nie usuwa. Stan albo przejście, które są w tym sklepie, a nie ma ich w pliku, zostają.
- Nie nadpisuje nazwy, chyba że wybierzesz to jawnie przy konflikcie.
- Nie przestawia zamówień. Zmienia się tylko definicja maszyny; obiekty zostają w stanach, w których są.
Wynika z tego rzecz praktyczna: drugi import tego samego pliku niczego już nie zmienia.