Перенос материалов из Joomla 1.5 + K2 в Drupal 6

Недавно устроился на подработку администратором сайта одной местной газеты. Сайт у нее уже был, и сразу сделать его таким, как я его вижу , не получилось. Сайт работает на CMS Joomla 1.5 и расположен на серверах SpaceWeb'а. За контент, как уже понятно из заголовка, отвечает сторонний компонет K2. ИМХО, Joomla вполне удобна для создания небольших сайтов-сателлитов фирм, ведущих свою деятельность вне интернета. Однако, в 21-м веке сайт для газеты — это уже не просто ее "визитка" в сети, и у меня сразу же зачесались руки превратить его в крупный информационный портал с новомодными социальными "штучками".

Однако, возможностей Joomla, даже с установленным K2(который нехило грузит сервер) для этого явно не хватает. Значит, надо переводить сайт на более гибкую и масштабируемую CMS. Поскольку идея K2 скопированна с CCK для Drupal, для портала я решил выбрать именно данную CMS. Но на существующем сайте газеты уже имеются тонны информации, и потерять ее просто недопустимо. Если бы не K2, то можно было бы воспользоваться конвертером Joomla to Drupal, но в данном случае всю "малину" обламывал злосчастный K2. Учитывая, что структура базы данных CMS меняется в зависимости от настроек пользователя, написать универсальный конвертер "все-в-одном", переносящий сразу все, довольно сложно и, на мой взгляд, не оправдывает целей. Так что я решил слить все таблицы двух CMS в одну базу и написать скрипт, который бы подключался к ним и переносил данные на прямую.

Итак, нам придется работать со следующими данными:

Информация о категориях K2 хранится в таблице `k2_categiries`. В друпале я для этого использовал модуль таксономии, создав необходимые словари и термины в админ-панели Drupal'а. При этом создаются записи в таблицах:

`term_data`  — данные терминов

`term_node` — привязка терминов к нодам

`vocabulary` — данные по словорям

Далее, хранение материаллов в Drupal организованно несколько сложнее K2. Для этого используются таблицы:

`node` — базовая информация о нодах. Стоит обратить внимание на следующие поля:

  • `type` — тип материалла Drupal. Берется из таблицы `node_type`.
  • `status` — параметры видимости ноды. 1 — опубликовано.
  • `comment` — праметры коментариев. 2 — разрешены чтение/запись.
  • `promote` — публиковать на главной. 0/1 — нет/да
  • `language` — язык статьи из таблицы `languages`

Непосредствено текст материалла содержит таблица `node_revisions`, разобраться в струтуре которой, на мой взгляд, не должно составить труда. Единственный момент: обратите внимание на отношения полей `nid` и `vid` таблиц `node` и `node_revisions`.

К моему счастью, на существующем сайте в K2 небыло созданно дополнительных полей, использовались только стандартные для него "изображение материала", "видео материала" и "галерея материала". Тут и думать нечего — в drupal'е я просто создал такие же поля при помощи CCK.

Перенос материалла этих полей несколько сложнее, и, к сожалению, я его пока не осуществил. Как только я это сделаю, обязательно отпишусь, а пока вот до чего я смог докопаться:

Если с тем, где в K2 хранится код видео, понятно из струтуры таблицы `k2_items`, то с изображением и галереей все несколько сложней. В поле `gallery` таблицы `k2_items` указанно лишь непонятное число. Так вот , это число — название папки с картинками галереи, которая лежит в ./media/k2/gallery/.

С изображением материала тоже не все так просто. Ни в одной таблице БД  K2 нет записей о нем. Я смог найти необходимую информацию только на официальном англоязычном сайте K2. Оказывается, картинки хранятсе все в той же папке ./media/k2/, а вот путь к ним формируется следующим образом: $file_name=md5("image".`k2_items.id`)."_L.jpg".

37 комментариев

  1. Я занимался серфингом онлайн свыше 3 часов в ближайшее время, но еще не нашёл ни одной пригожей материала, аналогичной вашей.
    Для меня лично это весьма значимо.
    В случае, если бы абсолютно все сервисы производили схожие блоги, у них стало
    бы намного больше гостей.

  2. Everything is very open with a clear explanation of the issues.
    It was really informative. Your website is
    useful. Thanks for sharing!

  3. Это самое подходящее время, чтобы основать планы на завтра
    и стать благополучным. Если Вам
    интересно, я могу набросать множество текстов,
    для этого созвонитесь со мною.

  4. Подскажите пожалуйста, каким способом мне лично быть подписанным на все ваши заметки?

  5. У нас семнадцать новых сериалов для настоящих поклонников фэнтези.

    Чики смотреть онлайн
    в онлайн-кинотеатре NIzat полностью без рекламы.
    Смотрите с удовольствием по рейтингу, Сериалы жанра “Фэнтези”.
    Помимо прочего мы наш сайт номенклатуру различных каналов Киносерия, HD Россия,
    4K ТНТ, прямой эфир 2х2, трансляция К1.

  6. Здесь восемнадцать с высоким рейтингом сериалов для фанатов фантастика.
    Тайсон Фьюри — Деонтей Уайлдер прямая трансляция.
    все сезоны, все серии. Скачивайте по мировому рейтингу, Сериалы жанра “Ужасы”.
    Кроме того наш проект готова предоставить таблицу каналов Канал Disney, HD Пятый канал, 4K Футбол 1, прямой эфир Дом кино, трансляция ПлюсПлюс.

  7. С любовью для вас одинадцать с высоким рейтингом сериалов для подлинных любителей
    криминала. Бумажный дом 5 сезон 7 серия смотреть онлайн новый сезон,
    новые серии. Находите по рейтингу, Сериалы
    жанра “Фэнтези”. Вдобавок тут мы помогает библиографию различных каналов Россия 24, HD Мега, 4K НТВ, прямой эфир Че, трансляция 2+2.

  8. Подготовили для Вас четырнадцать свежих сериалов для настоящих поклонников тайны.
    Полицейский с Рублевки 6 сезон сезон, все
    серии сериала. Просматривайте по дате выхода, Сериалы в HD.
    Точно также мы даёт меню телеканалов
    Домашний, HD К1, 4K НТН, прямой эфир 2х2,
    трансляция ТНТ4.

  9. Hi, i read your blog from time to time and i own a similar one and i was just wondering
    if you get a lot of spam comments? If so how do you reduce it, any
    plugin or anything you can recommend? I get so much lately it’s driving me insane so any help is very much appreciated.

  10. Hello! I know this is kinda off topic but I’d figured
    I’d ask. Would you be interested in trading links or maybe guest authoring a blog article or vice-versa?
    My blog addresses a lot of the same topics as yours and I think we could greatly benefit
    from each other. If you might be interested feel free to shoot
    me an e-mail. I look forward to hearing from you!
    Excellent blog by the way!

  11. Howdy! I’m at work browsing your blog from my new apple iphone!
    Just wanted to say I love reading your blog and look forward to all your
    posts! Carry on the fantastic work!

  12. Это подобающее время, чтобы соорудить планы на завтра и быть
    довольным. В том случае, если Вам любопытно, я
    для вас могу начертать ряд статей, для этого свяжитесь со
    мною. Мой сайт новое порно

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *