Вы здесь

Up RPC

Перенос данных из Друпала 5 в Друпал 6.

Модуль Up RPC позволяет перенести данные с Друпала 5 на Друпал 6, в тех случаях, когда нужно получить новую установку сайта на Друпале 6, а не обновлять старый. Импорт запускается как групповой процесс, с передачей данных через XML-RPC модулей Services и Transport. Up RPC позволяет перенести пользователей, термины и документы, включая дополнительные поля.

Пакет включает модули как для сайтов на Друпале 5, так и для сайтов на Друпале 6 и должен быть скачен и распакован на оба сайта (если они на одном сервере, то можно использовать символическую ссылку). Конфигурирование импорта документов, в частности построение соответствий для полей CCK, изменение типа, преобразования данных и так далее, может быть завершено в своём модуле с использованием хуков, которые определены в модуле. Подробный пример того, как это можно сделать, есть в справке модуля.

Запуск очередного процесса обновления (через update.php), не всегда жизнеспособный способ. На больших сложных сайтах, большие части сайта нуждаются в перестройке, такие как виды или панели. Кроме того, обновление до шестой версии часто приводит к необходимости переделывания сайта и использования других путей. На сайтах сообществ, новое содержание добавляется постоянно и поэтому, версия сайта на Друпале нуждается в создании до того, как обновлённая версия займёт своё место.

Эта система позволяет разработать новый сайт на Друпале 6, параллельно с тем, как старый сайт на Друпале 5 будет работать. Когда сайт на Друпале 6 будет готов, нужно только перевести сайт в режим обслуживания и заняться переносом данных, что занимает около 1 часа на 2000 пунктов.

В проект включены следующие модули:

  • Upgrade RPC configuration example: пример модуля с конфигурацией миграции
  • Up RPC: ядро
  • Up RPC node: импорт документов
  • Up RPC user: импорт пользователей

Установка и настройка

Сайт на Друпале 5

  • Установите модуль Services
  • Включите модули:
    • services
    • xmlrpc server
    • system service
    • uprpc import source
    • uprpc import services
    • user service
    • user get service
    • node service (если нужен)
    • taxonomy service (если нужен)
  • Команда Друш:

    $ drush -y en services xmlrpc_server system_service uprpc_import_services node_service taxonomy_service user_service user_get_service uprpc_import_source
  • Настройте сервисы на странице «Управление → Строение сайта → Сервисы»
    • Создайте ключ API для домена с Друпалом 6
      • Домен: домен на Друпале 6, на который импортируются данные. Отметьте: если для него используется нестандартный порт, то его тоже нужно указать. Например, это может быть запись «localhost:8888»
    • Параметры:
      • Использование ключей: TRUE
      • Срок действия токена: 300000 (или какое-либо другое большое значение)
      • Использование идентификатора сессии: TRUE
  • Добавьте роль «webservice»
  • Добавьте пользователя с правами доступа к сервисам (в этой роли)
  • Добавьте право анонимным посетителям «access services»
  • Добавьте права роли «webservice»:
    • access services
    • load raw node data
    • load raw user data
    • run content count queries
    • run import flagging queries
  • Убедитесь, что с этими правами, пользователь роли «webservice» может получить доступ к данным в документам, таким, как скрытые поля

Сайт на Друпале 6

  • Установите большое значение для max_execution_time, мы рекомендуем использовать минимум 600 секунд
  • Включите следующие модули:
    • Up RPC
    • Up RPC user (если нужен)
    • Up RPC node (если нужен)
    • Up RPC node filefield (если нужен)
    • Команда Друш:
      $ drush -y en uprpc uprpc_import_node uprpc_import_user uprpc_import_node_filefield
  • Настройте параметры на странице «Управление Импорт Параметры»
    Настройте типы документов (смотрите пример в модуле Client)
Зависит от: