В OctoberCMS из коробки есть возможность импортировать (и экспортировать) модели из csv-файлов. Как подключить импорт-экспорт к своим моделям — можно прочитать в небольшом мануале. А я пока попробовал импортировать посты прямо с домовой страницы, благо в плагине Blog импорт-экспорт уже подключен.
Выглядит это примерно вот так:
Загружаем csv-файл, устанавливаем соответствие между столбцами файла (слева) и полями модели (справа) и нажимаем «Импорт». И посты импортируются.
В процессе выгрузки из Drupal 6 (с помощью Views data export) и загрузки в October обнаружил несколько небольших проблем, которые нужно было решить перед импортом.
1. По умолчанию, если поле тизера у ноды не задано, в экспорт попадет копия всего содержимого. А мы бы не хотели сохранять полную копию содержимого в excerpt импортированного поста.
2. В Друпале у ноды может быть сложный path alias. А для импорта в slug нам нужно что-то простое, желательно последняя часть пути, без слешей.
3. Импортируемые тексты изобилуют ссылками на /sites/default/files, хорошо бы их поменять на новое местоположение импортируемых файлов.
4. В текстах много вставок кода, можно их слегка подредактировать, чтобы автоматически подхватывался Prettify, который в October уже есть.
Конечно, всё это можно поправить некоторым количеством кода и/или дополнительных модулей в Drupal 6. Но зачем писать под Drupal 6, если мы мигрируем на новую платформу — лучше уж тогда под нее и написать. Так с платформой можно поближе познакомиться можно, да и под D6 писать в 2016 году уже радости мало. В общем, для автоматизированного решения этих проблем (и еще пары мелочей) смастерил небольшую команду для artisan. Команду надо натравить на csv-файл, а результирующий файл уже можно импортировать. Не то чтобы она получилась особо универсальная, но можно взять за основу и подправить под свои нужды. В общем, найти команду (и небольшое описание к ней) можно в гитхабе, в составе плагина BlogArchive.
P.S. Колонка «Опубликовано» (на скриншоте внизу) в оригинальном плагине отсутствует и все импортированные посты появляются снятыми с публикации. Поэтому пришлось ее добавить, чтоб вручную не публиковать.