Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2....

29
WapplerSystems - Sven Wappler | Twitter: @WapplerSystems - Magento 002 - Migriere an einem anderen Tag

Transcript of Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2....

Page 1: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

- Magento 002 - Migriere an einem anderen Tag

Page 2: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Über mich● Sven Wappler● Freiberuflicher Informatiker● Fachliche Schwerpunkte

○ TYPO3○ Responsive Design○ symfony○ Magento

● Web: https://wappler.systems

2

Page 3: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Ziel1. Migration eines Magento 1.7 Shops nach Magento 22. Überarbeitung des Designs bezüglich Responsive Design3. Aktualisierung aller zusätzlichen Module

a. Payment-Module: Computopb. Template-Module (Carousels, Top-Artikel)c. SMTP Moduld. Google Shopping Feed

4. Anpassung an den deutschen Markt5. Performanceoptimierung bezüglich konfigurierbarer Artikel

Priorität: Daten migrieren

3

Page 4: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Zahlen & Fakten● B2C - Shop (noch)● ca. 2000 (niedrig-/hochpreisige) Artikel● 29 Attributsets● ca. 100 Kategorien● 4 Sprachen: Deutsch, Französisch, Niederländisch, Englisch● Einzelartikel, Konfigurierbare Artikel, Bündelartikel● ca. 20 statische Seiten pro Sprache● Trusted Shops Zertifizierung● Google Shopping-Anbindung

4

Page 5: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Magento 2 installieren und einrichten Wie üblich:

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition <installation directory name>

5

Page 6: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Magento 2 aktualisieren

6

Page 7: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Magento 2 aktualisierenMissing write permissions to the following directories: '/<magentodir>/var'

Issue #2406

Vorschlag: Datei-/Verzeichnisrechte sollte durch Magento überprüft oder korrekt angelegt werden

7

Page 8: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Magento 2 aktualisierenUndefined Index: arguments in lib/internal/Magento/Framework/ObjectManager/Config/Compiled.php line 132

Issue #2671Lösungsvorschläge im Ticket

Falls hängengeblieben: Update flag manuell entfernen

8

Page 9: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Beispieldaten installieren

9

Page 10: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Beispieldaten entfernen

● Immer mit einem leeren System anfangen

● Beispiel-Daten in einem getrennten System installieren

10

Page 11: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Zusätzliche Module installierenAuszug composer.json

"repositories": [ { "type": "composer", "url": "https://repo.magento.com/" }, { "type": "git", "url": "https://github.com/firegento/firegento-magesetup2.git" } ],

11

Page 12: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Erneutes System-Update● Keine aussagekräftige

Fehlermeldung● Führt zur Überforderung

des Benutzers● Grund: Zusätzliches

Repository führt zum Absturz des Wizards

12

Page 13: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Erneutes System-Update

13

Page 14: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Erstes Fazit● Web Setup Wizard soll GUI für composer darstellen -> ist jedoch fehlerhaft● Komplett zur Konsole wechseln

14

Page 15: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Die Migration - Vorbereitungen● Leeres Magento-System aufsetzen● Produkt/Attribut-Tabellen leeren und sichern● Ziel-Datenbank sichern!● Quell-Datenbank duplizieren

Anleitung: http://devdocs.magento.com/guides/v2.0/migration/migration-tool-preconditions.html

15

Page 16: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

data-migration tool installierenhttp://devdocs.magento.com/guides/v2.0/migration/migration-tool-install.html

16

Page 17: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Migration ausführen - Schritt 1: SettingsBeispiel:

php bin/magento migrate:settings /srv/www/vhosts/magento/monolithique2/vendor/magento/data-migration-tool/etc/ce-to-ce/1.7.0.2/config.xml

17

Page 18: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Nach Migration - Backend weg!

18

Page 19: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Nach Migration - Backend weg!In der Datenbank wieder alle aktivieren

19

Page 20: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Migration ausführen - Schritt 2: Daten

Mapping anpassen

20

Page 21: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Migration ausführen - Schritt 2: Daten - Fehlschlag● Wiederaufnah

me nicht möglich

● Empfehlung: Gesicherten kompletten Dump wieder installieren

21

Page 22: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Migration ausführen - Schritt 2: Daten - Fehlschlag

http://stackoverflow.com/questions/5688403/how-to-check-and-set-max-allowed-packet-mysql-variable

22

Page 23: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Nach Migration - Attribut-Typen-Problem bei BildernProduktaufruf im Backend führt zu:

23

Page 24: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Nach Migration - BehebungPHP-Skript schreiben

$link = new PDO( 'mysql:host=localhost;dbname=monolithique2', 'svewap', '');if (!$link) { die('Verbindung schlug fehl: ');}

foreach ($link->query('SELECT * FROM eav_attribute WHERE frontend_input = \'media_image\'') as $row) {

$attributeId = $row['attribute_id']; echo $attributeId."\n"; $link->query('UPDATE catalog_eav_attribute SET frontend_input_renderer = \'Magento\Catalog\Block\Adminhtml\Product\Helper\Form\BaseImage\' WHERE frontend_input_renderer = NULL'); }

24

Page 25: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Nach Migration: Zeichensatzproblem bei Umlauten entdeckt

Produkttexte abgeschnitten

Stand: 18.04.16

https://github.com/magento/data-migration-tool/pull/28/commits/f5e73682ca846fb96cd0888bb4b0c09ba5bb8c2c

- Datenbank komplett neu einspielen- Fix durchführen- Migration erneut durchführen

25

Page 26: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Nach Migration

26

Page 27: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

DI kompilieren mit installiertem Migration Tool

https://github.com/magento/data-migration-tool/issues/64

27

Page 28: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Nach der MigrationReindex durchführen

php bin/magento indexer:reindex

Hilfskript bauen, um alle manuellen Anpassungen in der Datenbank jederzeit wiederholen zu können

Template migrieren (Fortsetzung folgt)

Module ersetzen/neue installieren (Fortsetzung folgt)

28

Page 29: Magento 002 - blog.wappler.systems · 1. Migration eines Magento 1.7 Shops nach Magento 2 2. Überarbeitung des Designs bezüglich Responsive Design 3. Aktualisierung aller zusätzlichen

WapplerSystems - Sven Wappler | Twitter: @WapplerSystems

Tschö wa!

29