Im Gegensatz zu komplizierten Sites mit vielen Modulen, die häufig erst für Drupal-7 verfügbar sind (siehe: Migration Drupal-6 nach Drupal-7), können wir für einfache Sites gleich den Schritt nach Drupal-8 wagen.
Überprüfe vorher alle zusätzlichen Module, ob sie wirklich wichtig sind, ansonsten deaktiviere sie temporär oder für immer.
Wichtig: Views-2 Module macht Probleme, also unbedingt vorher in Drupal-6 schon auf das Views-3 Modul umsteigen.
drush dl ctools
drush en ctools
drush dl views-6.x-3.x-dev
Dann über den Admin -> Ansichten : die einzige oder die wenigen Ansichten (Views) kurz editieren und den Pager anpassen und speichern (siehe: “Pager Issue” ).
Drush hängt leider in der Entwicklung seiner Plugins der schnellen Release-Abfolge bei 8.X immer hinterher. Die aktuell letzte vollständige Unterstützung gibt es bis 8.2.x
Ansonsten hat auf der Weboberfläche die Online Migration enorm zugelegt und ich werde mich nun darauf beziehen:
Nachdem man auf meine.site.de/upgrade gegangen ist, wird einem eine übersichtliche Seite angeboten.
Fix noch die Zugangsdaten zur alten drupal7-Datenabnk eingegeben und den Pfad zur alten drupal7 Installation mit dem sites Verzeichnis, dann kann es losgehen.
WICHTIG: Erst einmal nur die Module bereitstellen, für die auch Daten aus der alten Site übernommen werden sollen. Maintenance-Module, Themes, reine Export-Tools usw. erst einmal weglassen.
Nach dem ersten Weiter (Review Upgrade), sieht man eventuell noch Fehler in einzelnen custom Modulen, die sollte man fixen, ersetzen, oder erst einmal weglassen.
UPGRADE-Fehler
Bei mir gab es diverse Fehlermeldungen, hier mit meinem workaround/Lösung.
enable: comment, taxonomy, custom_blocks, views, views_ui, field, field_ui, iframe (und alle Field-Type, die man so braucht)
5 verbliebene Fehler
Drush hängt leider in der ENtwicklung seiner Plugins der schnellen Release-Abfolge bei 8.X immer hinterher. Die aktuell letzte vollständige Unterstützung gibt es bis 8.2.x
drush site-install standard --db-url=mysql://dbuser:dbpassword@localhost/dbname --sites-subdir=mein.host.name --locale=de
OLD: Wir brauchen nun das “migrate_update”:https://www.drupal.org/project/migrate_upgrade Modul for drush , und:
drush dl migrate_tools
drush dl migrate_plus
drush dl migrate_upgrade
drush en migrate_tools migrate_upgrade
NEW:
php composer.phar require drupal/migrate_tools
php composer.phar require drupal/migrate_upgrade
drush migrate-upgrade --legacy-db-url=mysql://db6user:db6pass@localhost/db6db --legacy-root=http://mein.host.name
Die Fehler sollte man sich merken, um das später kontrollieren zu können.
Ansonsten steht nun an, die Webseite aufzurufen und die Text-Filter und Image-Displays anzupassen
drush en libraries markdown language locale
“locale” wird benötigt, damit die Oberfläche auch in Deutsch dargestellt werden kann.
Zuerst große Verwirrung: Im neuen Drupal-8 werden keine Bilder angezeigt. Mist(!) - stundenlang rumgedoktort ohne Erfolg. Nachdem ich eine Nacht drüber geschlafen hatte, habe ich es noch einmal mit einer fruschen Drupal-8 site (ohne igrnedwas zu migrieren) und einem einzelnen Artikel mit Bild probiert. Auch dort wurde kein Bild angezeigt.
Lösung: Der Fehler war in der nginx Konfiguration zu suchen, da in der dortigen drupal.conf eine “Abkürzung” für statische Ressourcen unter /sites eingetragen war, das nginx die selber ausliefern durfte. In Drupal-8 werden die verschiedenen image-styles aber erst bei Bedarf (zur Laufzeit) generiert, müssen also unbedingt auch ins Routing via index.php?q= umgelenkt werden.
# Fighting with ImageCache - or Drupal-8 dynamic image-style-generation
location ~ ^/sites/.*/files/(imagecache|styles)/ {
try_files $uri @rewrite;
}
Wenn das Bild also bereits generiert wurde, darf es auch ausgeliefert werden, andernfalls geht er ins @rewrite und somit zum Routing via index.php