Drupal 7 to 8 Migration – Eine Anleitung zur Bewältigung der Migrationsherausforderungen (mit Empfehlungen)
Veröffentlicht: 2020-02-27Drupal 7 bis 8 Migration im Kopf? Betreiben Sie Ihre Website noch auf Drupal 7 (oder 6)? Es ist an der Zeit, auf Drupal 8 zu migrieren!
Wir haben ausführlich darüber geschrieben, warum Sie zu Drupal 8 migrieren sollten, wenn Sie noch Drupal 7 (oder 6) verwenden. Einer unserer beliebtesten (und wichtigsten) Gründe für die Migration zu Drupal 8 ist jedoch, dass … Drupal 9 kommt! Und wenn Sie die Vorteile von Drupal 9 nutzen möchten, wird empfohlen, zuerst Drupal 7 auf Drupal 8 zu migrieren. Wir könnten argumentieren, dass Sie jetzt zu Drupal 8 wechseln sollten, da die Zeit nicht ausreicht, wenn Drupal 9 (Juni 2020) und Drupal 7 das EOL (Nov 2021) da sind. Aber Sie könnten behaupten, dass Sie sich stattdessen für einen LTS (Long Term Support) entscheiden können! Meinetwegen. Abgesehen davon, dass Sie nicht nur mehr Geld für die Beauftragung eines LTS-Dienstleisters ausgeben, verlieren Sie auch die umfangreichen Vorteile, die Drupal 8 zu bieten hat. Manche Dinge mögen schwierig erscheinen, sind aber für eine stärkere und einfachere Zukunft notwendig.
Einmal auf Drupal 8 müssen Sie nicht mehr „migrieren“ – nur ein einfaches „Upgrade“ von Drupal 8.9 auf 9 und dann 9.9 auf 10 usw. reicht aus. Eine Migration von Drupal 7 auf Drupal 8 ist nicht immer einfach und unkompliziert; Ich stimme zu. Es ist hilfreich, einen Prozess zu befolgen, aber Sie könnten während der Migration noch vor einigen Herausforderungen stehen, insbesondere wenn das Inhaltsmodell Ihrer Drupal 7-Website sehr komplex ist. Lassen Sie uns Sie Schritt für Schritt durch die Migration von Drupal 7 zu Drupal 8 führen, mit Herausforderungen, denen Sie sich möglicherweise stellen müssen. Und unsere Empfehlungen, wie Sie diese überwinden können.
Drupal 8 Migrate – Annahmen und Vorbereitungen
„ Vorbereitet zu sein ist der halbe Sieg “, sagte der spanische Schriftsteller Miguel De Cervantes. Eine Drupal 8-Migration kann kompliziert werden, aber wenn Sie genügend Zeit für die Planung der Migration aufgewendet haben, werden Sie die Herausforderungen nicht überraschen. Die Übernahme vieler moderner Entwicklungsstandards wie Symfony, Twig, PHP 7 usw. in Drupal 8 hat zu diesem kompletten Neuaufbau geführt, erfordert aber auch leistungsfähigere, robustere und flexiblere digitale Erlebnisse. Aufgeführt sind einige Vorbedingungen, die Sie beachten sollten, bevor Sie mit der Migration von Drupal 7 auf 8 beginnen –
- Aktualisieren Sie Ihre Drupal 7-Website auf die neueste verfügbare Version. Dies wird zu saubereren automatischen Upgrades einiger Module beitragen, die über direkte Drupal 8-Upgrade-Pfade verfügen.
- Stellen Sie sicher, dass Sie Zugriff auf die Datenbank und die Dateien der Drupal 7-Website (öffentlich und privat) haben.
- Erstellen Sie ein Backup der Drupal 7-Website und verwenden Sie dieses Backup für die Drupal 8-Migration. Es wird nicht empfohlen, eine Live-Funktionswebsite zu migrieren, obwohl die Migration selbst keine Änderungen an der Quelle vornimmt.
- Laden Sie hier eine Neuinstallation von Drupal 8 herunter und aktivieren Sie die oben besprochenen Kernmodule von Migrate. Und denken Sie daran, es MUSS frisch sein! Alle vorgenommenen Konfigurationen oder erstellten Inhalte werden überschrieben, wenn ein Drupal 8-Upgrade durchgeführt wird.
- Es gibt keinen direkten Upgrade-Pfad von Drupal 7 auf Drupal 8 (im Gegensatz zu früheren Versions-Upgrades). Machen Sie sich mit dem Migrationssystem von Drupal 8 vertraut. Die drei Kernmodule – Drupal 8 Migrate-Modul, Drupal 8 Migrate Drupal- Modul und Drupal 8 Migrate Drupal UI- Modul.
- Treffen Sie Ihre Migrationsentscheidung – verwenden Sie Drush (das Ihnen eine granulare Kontrolle gibt) oder werden Sie die Browser-Benutzeroberfläche verwenden (einfacher, aber weniger Kontrolle)?
- Kenne deine Quelle. Die Flexibilität des Drupal-Inhaltsmigrationssystems ermöglicht das Extrahieren und Laden von Inhalten aus älteren Versionen von Drupal und verschiedenen anderen Quellen wie CSV, XML, JSON, MYSQL usw.
- Führen Sie für eine reibungslose Migration von Drupal-Inhalten eine gründliche Inhaltsprüfung durch, um die zu migrierenden Inhalte zu identifizieren. Verwerfen Sie ungenutzte und irrelevante Inhalte, um Zeit und Mühe für die Migration zu vermeiden.
Der Migrationsprozess von Drupal 7 zu 8 (Schritt für Schritt)
Beobachten und planen
Für eine reibungslose Migration von Drupal-Inhalten müssen Sie zunächst die Inhaltstypen und die Inhaltsstruktur der vorhandenen Site identifizieren und die Beobachtungen dokumentieren. Dazu gehören Inhaltstypen, Feldtypen, Blöcke, Taxonomien usw. Erstellen Sie einen Plan, was Sie migrieren und was zusammengeführt werden muss, basierend auf diesen Beobachtungen. Analysieren Sie die Ansichten und andere Site-Konfigurationen und katalogisieren Sie sie, damit sie in Drupal 8 einfacher repliziert werden können.
Erstellen Sie eine Modul-Checkliste Ihrer Drupal 7-Website
Mit dieser Checkliste sollten Sie in der Lage sein, Module zu identifizieren, die Sie noch benötigen, oder ob es eine Drupal 8-Version dieses Moduls gibt oder ob das Modul jetzt auf Drupal 8 Core umgezogen ist (wie das Medienmodul). Nicht alle Drupal 7-Module können automatisch auf Drupal 8 migriert werden. Einige Drupal 7-Module haben möglicherweise ihre Funktionalität in einem einzigen Drupal 8-Modul zusammengeführt. Und einige Drupal 7-Module haben ihre Funktionen möglicherweise in zwei oder mehr Drupal 8-Module aufgeteilt. Es ist immer besser, solche Fälle zu analysieren, um sicherzustellen, dass es keinen Datenverlust gibt!
Expertenempfehlung – Verwenden Sie ein Modul wie die Drupal Migrate-Benutzeroberfläche, um die Drupal 7-Module und ihr entsprechendes Drupal 8-Modul (sofern verfügbar oder nicht) zu identifizieren.
Profi-Tipp - Keine Modulversion für Drupal 8 verfügbar? Das ImageField-Modul in Drupal 7 hat beispielsweise kein entsprechendes D8-Modul. Möglicherweise müssen wir in Drupal 8 die dafür am besten geeignete Alternative finden. Natürlich haben wir das Drupal 8-Core-Medienmodul. Wir müssen jedoch benutzerdefinierte Skripte entwickeln, um die Bilddaten zu migrieren. die Bilddaten migrieren.
Expertenempfehlung – Wenn Sie gerade eine D7-Website geerbt haben und keine Ahnung von den Anpassungen an den Modulen haben ODER wenn Sie selbst Anpassungen vorgenommen haben und diese finden müssen, empfehlen wir Ihnen, das Hacked! Modul. Dieses Modul geht die Liste der auf der Site verfügbaren Module und die Änderungen/Anpassungen an jedem Modul durch.
Replizieren und erstellen
Replizieren Sie die Inhaltstypen, Taxonomien und alle Entitäten, die in Ihrer D8-Instanz erforderlich sind. Ansichten müssen manuell erstellt werden, sobald Sie die Inhalte erstellt und repliziert haben.
Expertenempfehlungen –
- Vorlagendateien (.tpl) in Drupal 7 sollten mit Twig-Dateien geschrieben werden, die Teil des Symphony 2-Frameworks sind.
- Stellen Sie sicher, dass Sie Ihre benutzerdefinierten Module neu schreiben, die den Symphony-Standards entsprechen.
Implementieren der Drupal-7-zu-8-Migration
Der am meisten erwartete und bedeutendste Schritt ist gekommen. Wie bereits erwähnt, gibt es zwei Möglichkeiten, Ihre Drupal 7-Daten zu Drupal 8 zu migrieren:
- Ausführen einer Migration mit der Drupal-Benutzeroberfläche
- Durchführen einer Migration mit dem Drush
Letzteres wird empfohlen, da es effizienter ist, in Shell-Skripte integriert werden kann und klarere Fehlermeldungen hat.
Drupal-UI-Methode
Wenn Sie das Drupal 8-Modul Migrate UI nutzen, können Sie zunächst den /upgrade- Pfad der Drupal 8-Website aufrufen. Die Drupal 8-Upgrade-Überprüfungsseite zeigt Ihnen eine Liste von Modulen auf Ihrer Drupal 7-Site, die automatisch auf Drupal 8 migriert werden können und nicht. Für Module, deren Funktionalität in einem anderen D8-Modul, aber nicht genau gleich D7 ist jetzt Adressmodul in D8), Sie müssen das entsprechende D8-Modul installieren und aktivieren und den Migrationsprozess von Drupal 7 auf 8 neu starten. Basierend auf dem Inhaltskatalog und den extrahierten Daten müssen Sie die Migrationsskripte erstellen, in denen Sie die Inhaltstypattribute von Drupal 7 den neu erstellten Inhaltstypattributen von Drupal 8 zuordnen. Als nächstes können Sie mit dem Importieren der Daten von a . fortfahren Datenquelle.
Drush-Methode
Sind Sie mit dem Terminal vertraut? Wenn ja, sollten Sie sich für die Drush-Methode für die Migration von Drupal 7 auf 8 entscheiden. Es bietet eine Reihe von Befehlen für den Prozess der Datenmigration mit besseren Statusmeldungen. Sehen Sie sich dieses Tutorial an, wenn Sie eine Schritt-für-Schritt-Verfahrensmigration mit Drush-Befehlen suchen. Drush noch nie benutzt? Dieses Handbuch hilft Ihnen mit einer Liste nützlicher Befehle für die Migration, die Grundlagen von Drush zu verstehen.
Sie könnten jetzt auf einige Konflikte stoßen. Stellen Sie sicher, dass Sie in Drupal nach bekannten Problemen gesucht haben. org und wie man sie repariert. Sobald das Problem behoben ist, können Sie jetzt den Migrationsprozess ausführen, der kontinuierliche Protokolle/Feedbacks zu den durchgeführten Aktionen liefert. Überprüfen Sie abschließend die Protokolle auf Fehler, beheben Sie sie und Sie können loslegen!
Expertenempfehlung – Warten Sie! Sobald Sie den Inhalt erstellt haben, übersehen Sie nie die SEO/Seitenaufrufe. Der Inhalt muss die gleichen URL-Pfade haben. Vergessen Sie nicht, sich um die Migration der URL-Aliasse und Meta-Tags-Informationen des Inhalts von der alten Drupal 7-Site zu kümmern.
Testen
Es gibt sehr seltene Fälle, in denen Sie während einer Migration von Drupal 7 auf Drupal 8 auf null Probleme stoßen. Nach Abschluss der Migration ist ein Regressionstest der neu importierten Konfiguration und des Inhalts unbedingt erforderlich, um potenzielle Fehler oder Probleme zu identifizieren.
Herausforderungen und (mehr Experten-) Empfehlungen
- Viele von Drupal 7 beigesteuerte Module haben bessere Versionen von sich selbst in Drupal 8 und einige sind veraltet. Zum Beispiel wird das Feldsammlungsmodul, das zum Gruppieren von Feldern in Drupal 7 verwendet wird, bald veraltet sein. Die Funktionalität dieses Moduls wurde dem Paragraphs-Modul und dem Entity Reference Revision-Modul in Drupal 8 hinzugefügt. Das Drupal 8 Paragraphs-Modul bietet Content-Editoren/Autoren enorme Flexibilität, um nahtlose Formen und Strukturen zu erstellen. Wenn Sie das Feldsammlungsmodul migrieren und dem Absatzmodul (D8) zuordnen müssen, müssen Sie benutzerdefinierte Plugins schreiben, um den Inhalt zwischen den Feldsammlungsfeldern den Absatzfeldern zuzuordnen. Oder wenn Sie das Field Collection-Modul auch in Drupal 8 weiterhin migrieren möchten, kann diese Feldzuordnung von verfügbaren Core-Migrations-Plugins gehandhabt werden.
- Verwenden Sie Panels zum Erstellen Ihrer Zielseiten wie Startseite, Dashboard usw.? Auch wenn Sie nur einen Block auf der Startseite platzieren müssen? Layout-Builder zur Rettung! Der Layout Builder in Drupal 8 erleichtert einem Inhaltseditor das Anpassen einer Zielseite. Lassen Sie uns die Funktionen von Drupal 8 optimal nutzen. Um von Panels zum Layout Builder zu migrieren, müssen Sie einige benutzerdefinierte Migrations-Plugins schreiben.
- Während der Migration von Benutzern müssen wir auch die Passwörter pflegen, damit der Benutzer das Passwort auf der neuen Site nicht neu erstellen muss. Passwörter sind gehashte Inhalte. Sie müssen also den Hash-Typ-Algorithmus finden, der auf der Quell-Site verwendet wird. Nächste. einen Prozess schreiben, um das migrierte Passwort mit dem rehashed Passwort unter Verwendung desselben Algorithmus zu validieren.
- Wenn Sie eine Drupal 7-zu-8-Migration ausführen, erschöpfen Sie möglicherweise Ihre Systemressourcen, was dazu führen kann, dass Ihre Migration beendet wird. Dank Highwater Marks können Sie die Migration erneut ausführen und sie sollte dort weitermachen, wo sie aufgehört hat.
- Das weit verbreitete Features-Modul in Drupal 7 ist mittlerweile fast obsolet, nachdem das Konfigurationsmanagement alle Features-Funktionen und mehr in Drupal 8 übernommen hat. Obwohl das Features-Modul auch in Drupal 8 verfügbar ist, wird dringend empfohlen, die Konfiguration von Drupal 8 zu nutzen Management System. Es ist nicht nur einfacher zu arbeiten, es ist auch einfach zwischen Umgebungen zu exportieren, es verwendet YAML-Dateiformate anstelle von PHP – ein lesbareres und geeigneteres Datenformat.
- Wenn Sie eine mehrsprachige Drupal 7 (oder 6) Website haben, können Sie das Migrate Drupal Multilingual-Modul nutzen. Obwohl sich das mehrsprachige Migrate Drupal-Modul noch im experimentellen Stadium befindet, ist es ein Muss für alle mehrsprachigen Drupal-Sites.
- Haben Sie Probleme bei der Migration von Drupal 7 auf Drupal 8? Es gibt mehrere Möglichkeiten, Fehler zu melden und Hilfe zu erhalten:
- Warteschlange für Drupal 8-Upgrade-Probleme
- Warteschlange für Modulprobleme, wenn Sie einen Fehler oder eine Ausnahme in einem Kernmodul/eingetragenen Modul finden
- Der #drupal-migrate IRC-Kanal auf Freenode
- Der #Migrationskanal auf Drupal Slack
- Stellen Sie einen Drupal-Experten ein

