Обновление с Joomla 1.5 до Joomla 2.5

  •   13.11.2012
  •   23 комментария
  •   Прочее

С некоторых пор в Joomla поменялась политика обновлений движка и расширений. Начиная с Joomla 1.6, обновляться до новых версий можно прямо из админки, делается это легко и просто, нажатием одной кнопки. Причем разработчики обещают, что так же легко можно будет обновиться и до мажорных версий (с длительной поддержкой). Так ли все будет гладко — увидим, когда нужно будет обновляться со 2-й на 3-ю ветку Joomla. Впрочем, обновление с Joomla 1.6 до 1.7 и последующее обновление до версии 2.5 по моему опыту прошло достаточно гладко.

Но вот обновление со старой версии Joomla 1.5 (которая больше не поддерживается) до стабильной версии 2.5 не так уж тривиально (нестабильную Joomla 3.0 пока в расчет не берем). И поскольку я недавно обновил этот блог (и продолжаю обновлять другие свои сайты) — по свежим следам расскажу, как произвести обновление проще всего.

Update

Информация в абзаце выше уже не актуальна, поскольку это все дела давно минувших дней, и сейчас блог работает на WordPress. Но для истории статью оставил.

Варианты расширений для обновления Joomla

Экстремальный вариант полностью ручного обновления я не рассматриваю, а предлагаю использовать готовые решения в виде расширений, специально предназначенных для миграции с Joomla 1.5 до Joomla 2.5.

Что же мы имеем на этом фронте?
Реальный выбор не так уж и богат, и состоит всего из трех пунктов:

  • SP Upgrade — этот вариант я не рассматриваю по причине платности компонента. Зачем платить, если есть бесплатные решения, которые ничем не хуже?
  • JUpgrade — самый популярный вариант, бесплатный компонент для миграции с Joomla 1.5 до Joomla 2.5. Несмотря на свою популярность, этот вариант меня не устроил. Во-первых, этот компонент берет на себя установку новой версии Joomla (в отдельную директорию), а я привык делать эту операцию самостоятельно, не поручая ее сторонним расширениям. Во-вторых, судя по отзывам, в процессе работы с компонентом нередко возникают ошибки, а миграция может пройти криво. Update: В-третьих, на сегодняшний день похоже осталась только платная версия компонента.
  • J2XML Importer — идеальный с моей точки зрения мигратор, и именно его я рассмотрю подробней.

Преимущества переноса посредством «J2XML Importer»

  • Экспорт данных при помощи этого компонента производится во внешний XML-файл, а исходный сайт остается в неизменном виде. Этот же файл потом легко, просто и очень быстро импортируется на свежеустановленном сайте с Joomla 2.5.
  • Переносить можно именно то, что вам нужно — статьи, категории, пользователей, изображения (изображения тоже встраиваются в единый XML-файл для импортирования). Со старой системы не придет в новую никакого «мусора», это очень чистый способ переноса.
  • Есть возможность сохранить ID материалов и пользователей. А это значит, что при использовании встроенного SEF вы можете сохранить старые URL страниц неизменными. Это очень важное преимущество с точки зрения как поисковой оптимизации, так и сохранения актуальности внешних ссылок на сайт.
  • При желании вы можете как угодно отредактировать xml-файл перед его импортированием. Так, можно одним махом изменить все пути к изображениям (например, в моем случае я перемещал все изображения из папки «images/stories» в корень папки «images»).

Перенос данных с Joomla 1.5 на 2.5 при помощи «J2XML Importer»

Итак, рассмотрим более подробно процесс переезда на новую версию Joomla посредством «J2XML Importer».

1

Первым делом скачайте компонент «J2XML» и установите его на свой старый сайт (Joomla 1.5). Если в официальных источниках архив не будет доступен — можете скачать его у меня. После установки активируйте в админке следующие плагины: «J2XML», «XML-RPC-J2XMLAPI», «Limit 500».

2

Откройте настройки компонента, нажав на кнопку «Parameters» в админке.

Панель J2XML

Настройте компонент в соответствии со своими потребностями (можно оставить все параметры по умолчанию).

Настройки J2XMl
3

Откройте в админке список статей, категорий или пользователей (в зависимости от того, что вы собираетесь экспортировать) и отметьте галочками все, что нужно проэкспортировать. После этого нажмите на кнопку «Export» и сохраните XML-файл к себе на диск.

Экспорт данных из Joomla 1.5 при помощи J2XMl

Тут важно понимать, что, например, при экспорте категорий автоматически подтянутся привязанные к ним статьи и пользователи. То же самое произойдет при экспорте статей. Хотя, тут многое зависит от произведенных вами настроек компонента. В любом случае, экспортировать сразу все сущности не нужно. Так, мне оказалось достаточным произвести только экспорт статей (в один XML-файл).

4

Экспорт завершен, теперь нужно произвести импорт данных в свежеустановленную Joomla 2.5. Надеюсь, к этому моменту у вас уже все готово. Вы можете производить манипуляции на локальном сервере, а потом перенести сайт на удаленный сервер (к хостеру). А можете делать манипуляции прямо на хостинге (например, на поддомене), потом заменив старый сайт на новый.

Итак, скачиваем компонент J2XML Importer и устанавливаем его на Joomla 2.5. Тут важно скачать именно последнюю версию компонента (1.6.0.72), потому что во всех предыдущих версиях нет возможности сохранять ID материалов. Опять же, если на официальном сайте архив не будет доступен — можете скачать его у меня.

Открываем в админке параметры компонента и производим все необходимые настройки.

Важный момент — если вы хотите сохранить ID материалов и пользователей — обязательно в настройках компонента на вкладке «Advanced» активируйте параметр «Keep Ids» (по умолчанию он установлен в положение «Нет», нужно изменить на «Да»).

После этого жмем на кнопку «Обзор», выбираем наш XML-файл, жмем на кнопку «Import», ждем какое-то время, и (о чудо) — все наши данные мигрируют на новый сайт.

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

Вот и все. Если вы все сделали правильно, миграция окончена, с чем вас и поздравляю.

Перенос комментариев JComments с Joomla 1.5 на Joomla 2.5

Если вы использовали на старом сайте компонент JComments, то у вас может возникнуть потребность перенести на новый сайт комментарии. К счастью, сделать это достаточно просто, если на предыдущем этапе (при переносе материалов) вы сохранили оригинальные ID.

Перенос JComments на Joomla 2.5

Все, что нужно сделать — это перенести со старой базы данных в новую все таблицы, начинающиеся с «jos_jcomments» (префикс может быть другим). Сделать это можно, например, при помощи phpMyAdmin. Делать это нужно обязательно до установки JComments, а после переноса изменить префикс каждой таблицы на тот, который имеют все остальные таблицы в новой базе данных (также легко делается через phpMyAdmin).

После всех этих манипуляций просто установите последнюю версию JComments (на сегодняшний день это JComments 2.3.0). В процессе установки компонент обновит таблицу и при необходимости добавит недостающие поля.

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