Это перевод статьи из официальной документации с сайта drupal.org .
Источник: https://www.drupal.org/node/2350603
Если мне не показалось, назревают желания и необходимость миграции drupal.ru на следующую версию drupal.
Начать наверное лучше с теории.
Если дело пойдет, переведу остальные материалы по данной теме.
Подготовка обновления Drupal 6,7 до Drupal 8.
Перед обновлением вашего сайта на Drupal 6,7 до Drupal 8, чтобы добиться желаемого результата , необходимо принять меры для обеспечения процесса обновления.
В отличии от предыдущих крупных обновлений версии ядра Drupal, текущее обновление не изменит версию Drupal исходного сайта, а перенесет на «новый» сайт на Drupal 8 настройки и контент.
Но даже в этом случае, не следует проводить обновление на «живом» сайте, а обновляться только с копии исходного сайта.
Требования
- Свежая установка Drupal 8 с включенным модулем ядра Migrate Drupal.
- База данных исходного сайта (на Drupal 6,7) должна быть доступна на хосте с «новым» сайтом.
- Необходим доступ к файлам исходного сайта (папка sites/default/files при стандартной установке). Если файлы сайта храняться в «публичной» папке, то файлы будут доступны через их url (адрес). Если файлы сайта храняться в «приватной» папке, то папка должна быть перенесена в место, доступное «новому» сайту.
- Необходимо скачать и установить на сайт с Drupal 8 модуль Migrate Upgrade (https://www.drupal.org/project/migrate_upgrade)
- Если вы планируете выполнить обновление при помощи Drush, необходимо установить Drush 8 (https://github.com/drush-ops/drush#install---composer) и модуль Migrate tools (https://www.drupal.org/project/migrate_tools)
- Если вы будете переносить с исходного сайта «приватные» файлы , необходимо указать в параметре $settings['file_private_path'] в файле settings.php, путь к директории с приватными файлами.
Необходимые модули
Перед стартом переноса, необходимо включить на «новом» сайте модули, использованные на исходном .
Например если на исходном сайте был использован модуль Book, чтобы был перенесен контент и иерархия материалов книги, необходимо включить этот модуль на сайте на Drupal 8.
Не пытайтесь до окончания переноса настраивать «новый» сайт.
Имейте в виду, что процесс обновления перезапишет файлы конфигурации Drupal 8 на новом сайте, поэтому не вносите в них никаких изменений, пока процесс переноса не будет завершен.
Это означает, что вы не должны создавать все типы контента и поля вручную перед запуском обновления. Модуль Migrate создаст их во время процесса пареноса сайта.
В этом отличие работы модуля Migrate, используемом для обновления сайта до Drupal 7. Который требовал наличие уже настроенных типов контента и полей, перед запуском обновления.
Комментарии
Если на семерке использовался формат текста, которого нет в восьмерке, то его надо будет создать. Но создать его можно будет и позже.
У меня на семерке для зареганых пользователй стоял filtered html, в восьмерке его нет и после апгрейда вывелись только заголовки нод. Поле Body не выводилось. Посмотрел в журнал- в журнале запись, что не находит формат filtered html и после добавления формата на странице .../admin/config/content/formats все ноды с комментами отобразились нормально.
Был правда еще один баг. Друпал не принимал старые пароли юзеров. Но этот вопрос решился сбросом пароля и одноразовой ссылкой.
Смущает немного структура базы. Много таблиц с семерки.
Пример из терминала
public | migrate_message_d7_comment_entity_form_display | table |
public | migrate_message_d7_comment_entity_form_display_subject | table |
public | migrate_message_d7_comment_field | table |
public | migrate_message_d7_comment_field_instance | table |
public | migrate_message_d7_comment_type | table |
public | migrate_message_d7_contact_settings | table |
public | migrate_message_d7_custom_block | table |
public | migrate_message_d7_dblog_settings | table |
public | migrate_message_d7_field | table |
public | migrate_message_d7_field_formatter_settings | table |
public | migrate_message_d7_field_instance | table |
public | migrate_message_d7_field_instance_widget_settings | table |
public | migrate_message_d7_file | table |
Но их я правда еще не ковырял.
Переехал на d8 где то с недельку назад.
Директорию files пришлось переносить в ручную. Через модуль не импортировалась, хотя пробовал разные варианты путей. Но это в терминале делается за несколько секунд. Не проблема.
База postgresql.
php 5.5.9 или 5.6 и выше - иначе ваша новая установка друпал 8 будет давать ошибку за ошибкой или даже не поставится.
Похоже следующий кандидат на перевод: https://www.drupal.org/requirements -)
Че, так любишь переводы делать?
Дак лей их наgitbook, в свою записную книжку к примеру.
Так, при необходимости, можно будет потянуть исходники текста, совместно чет делать, да и читать удобно.
Минус - мне редактор их онлайновый не совсем нра(а именно его предпросмотр текста), но ет субъективно.
Да не то, чтоб прямо люблю.. А что делать?-)
Лично для себя так переводить лень, а так, побольше коллег в тему вникнут, глядишь и перенесем druru на восьмерку.
А там, как ты говоришь, и другие перспективы откроются..-)
Хорошо.. выложу на gitbook..
да.. перевод не идеален, еще дорабатывать надо...
@Orion76 буду рад помощи по https://github.com/DrupalRu/drupal.ru/issues/118
Да я с удовольствием, но быстро не обещаю-)
Столько еще всего интересного, чегоб хотелось поделать-)
Есть предложение от коллег, перевести drupal.ru на 8-ку..
Т.к. с упрощеним деплоя 8-ки, вроде как проще организовать совместную работу над drupal.ru .
Ты что об этом думаешь?
Справимся до осени?-)
Рано об этом говорить. Drupal8 только вышел. Процесс будет медленнее чем на Drupal 7 сделать.
А проблема параллельной разработки решена специальным подходом к репозиторию и спец модулем drupal_deploy.
Он позволяет на сейчас делать импорт экспорт меню, настроек, других элементов.
В итоге внедрение в продакшн идет файлами а не кликмышками.
Например при поднятии своей копии сайта скриптом:
https://github.com/DrupalRu/drupal.ru/blob/master/scripts/install.drupal...
Вот эта строка:
exec('drush ddi menu --file=' . $data['github_path'] . '/data/user-menu.menu_links.export');
импортит настройки меню которые описаны в файле:
https://github.com/DrupalRu/drupal.ru/blob/master/data/user-menu.menu_li...
в JSON формате.
Пример:
"menu_name": "user-menu",
"weight": 0,
"link_title": "Create new account",
"link_path": "user\/register",
"hidden": -1,
"has_children": 0,
"expanded": 0,
"options": [
],
"module": "system",
"customized": 0,
"updated": 0
},
Вынес "переводы" на github.
Добавил задачу по Drupal Code of Conduct
https://github.com/orion76/drupal8-ru-docs#%D0%A0%D0%B0%D0%B7%D0%BD%D0%B...
Егор, а какие и у кого сечас полномочия по drupal.ru?
@Orion76 послал тебе приглашение на гитхабе. Как добавишься, issue по переводу на тебя делегирую.
А по полномочиям, будет отдельный топик в ближайшее время.
С шестой версии обновить сразу до восьмой возможно?
Я пытался, выдает ошибку
«Resolve the issue below to continue the upgrade.
Source database does not contain a recognizable Drupal version.»
С шестой версии обновить сразу до восьмой возможно?
Присоединяюсь к вопросу. Пора обновляться.