Обновление с 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). В процессе установки компонент обновит таблицу и при необходимости добавит недостающие поля.

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


Оставить комментарий

23 комментария на «“Обновление с Joomla 1.5 до Joomla 2.5”»

  1. Попробовал перенести свой сайт с J1.5 на J2.5 с помощью «J2XML Importer». Процесс импортирования проходит без проблем, если не переносить файлы слишком большого объема (более 1мгб). Перенос комментариев JComments прошел успешно. Статьи, категории, пользователи «перешли» на J2.5 сайт, но это стало только началом миграции. Если новый сайт делать на том же шаблоне, необходимо переносить стили со старого, но есть возможность поменять дизайн, подобрав более современный шаблон. В этом случае в папку с J2.5, наверное, лучше установить Joomla с квикстарта нового шаблона с готовыми расширениями. Необходимо загрузить компоненты, модули, плагины, совместимые с J2.5 и настроить их. Необходимо связать материалы, пользователей, категории с помощью архитектуры меню, заполнив большое количество форм, описаний, заголовков, что отнимает достаточное количество времени.
    Таким образом, использование этого компонента лишь начало обновления сайта с Joomla 1.5 до Joomla 2.5

    • Безусловно, «J2XML Importer» — не панацея, и многое нужно переносить руками. Но другие компоненты миграции тоже не обновляют движок до новой версии в один клик. Зато, в отличие от других, «J2XML Importer» позволяет произвести максимально «чистую» миграцию, он не тянет со старой системы никакого мусора.

      Насчет размера файлов — я без проблем переносил за раз файлы более 1 Мб. В моем случае это были файлы от нескольких мегабайт до нескольких десятков мегабайт. В любом случае, компонент позволяет как угодно дробить данные и переносить их по частям, так что это не должно быть большой проблемой. Плюс можно значительно уменьшить размер файлов, если исключить из процесса импорта файлы изображений (их легко можно перенести вручную).

    • Спасибо 🙂
      Кстати говоря, еще один хак — при обновлении до Joomla 2.5 создавать/подбирать шаблоны, которые оптимизированы еще и под Joomla 3. Тогда при следующем мажорном обновлении одной заботой будет меньше.

  2. Вопрос: сначала устанавливаем на сайт joomla 2.5 параллельно с joomla 1.15? Или как? Подскажите по порядку, пожалуйста! И что будет с форумом на Kunena после переноса? Не слетит?

    • Я же писал об этом в статье:

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

      Форум на Kunena не слетит. Не слетит потому, что на новом сайте его не будет. Не будет, потому что «J2XML Importer» не предназначен для переноса форума. Читайте пожалуйста внимательней перед тем, как задавать вопросы.

  3. Почему-то у меня упорно не хочет устанавливаться компонент j2xml.
    Версия джумлы 1.5.22.
    Вернее так: он-то устанавливается гладко. Но при попытке зайти в админку компонента выдает следующее:
    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /homepages/39/d357777011/htdocs/administrator/components/com_j2xml/controllers/cpanel.php on line 29

  4. Наверное я чего-то не понимаю, но не смог установить компонент «J2XML». Вернее сам компонент установился, однако в примечании к нему на сайте разработчика сказано:

    J2XML 1.5.3 package does not contain plugins. Please, download them separately.

    И в самом деле, следующих плагинов «J2XML», «XML-RPC-J2XMLA PI», «Limit 500» в админцентре не наблюдается.
    При попытке установки J2XML Importer 1.5 v.3.1.12 plugin с того же сайта вылезает Ошибка! Невозможно найти XML-файл установки в пакете Joomla!.
    Подскажите, что я делаю не так? Версия Joomla 1.5.25.

    • Уже давно обновил практически все свои сайты с Joomla 1.5 до Joomla 2.5 и за развитием J2XML не слежу. Если хотите, можете воспользоваться именно теми установочными архивами, которые использовал я. Специально для этого выложил их у себя на сайте и только что добавил ссылки в статью. Пользуйтесь на здоровье.

  5. Спасибо за отклик! Скачал архивы, все установилось, экспортировал статьи в xml-файл. Однако при импорте xml-файла на свежеустановленную Joomla 2.5 выскакивает следующее сообщение: File format unknown. Impossible to import file.
    В чем может быть проблема и как устранить?

    • У меня таких проблем не было. Но Google подсказывает, что проблема не уникальна, и может быть связана, например, с ограничением размера файлов в настройках php. Если это ваш случай, то есть различные варианты решения:
      1. Если имеете возможность вносить изменения в php.ini — увеличить там соответствующее значение.
      2. Если не имеете такой возможности — обратиться к хостеру с соответствующей просьбой.
      3. Либо же можно экспортировать данные по частям, сохраняя их в файлы небольшого размера.

  6. Здравствуйте.
    Вопрос по ссылкам — так как разделов нет в Джумла 2.5, как сохранятся ссылки при переносе и использовании встроенного ЧПУ?

    • Принципиально ничего не меняется — то, что раньше было разделами, теперь становится категориями самого высокого уровня (корневыми).
      Ну а для того, чтобы ссылки были такими же, как на старом сайте, нужно воссоздать старую структуру меню (с теми же алиасами). Это делается вручную, но много времени не займет.

  7. Здравствуйте.
    Читал комменты, то что много за раз материалов сразу не перенести. У меня такая же проблема, один материал легко импортируется, а вот несколько уже не может. Попробовал 2 материала экспортировать, внедряю их на новый сайт, так там вместо 2-х только один материал загрузился.

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

  8. Еще такой вопрос, экспорт материала весом более 1 мб, при импорте выдает такую ошибку: File format unknown. Impossible to import file. Почему так?
    Формат файла абсолютно такой же как и у остальных экспортируемых материалов, только вес его 3.12 мб.

    • 3 Мб (как впрочем и 1 Мб) — гигантский объем для чистого текста. Вы там что, «Войну и мир» в виде одной статьи публикуете? 🙂

      Как бы там ни было, я тоже экспериментировал и заметил, что ограничение на объем материала в новых версиях Joomla стал более жестким. Объем текста, который раньше умещался в одну статью, теперь приходится разбивать на две. Причем при попытке сохранить слишком большую статью не выдается никаких предупреждений — текст просто не сохраняется и все (остается предыдущий вариант статьи либо пустота в случае создания новой статьи). Но это касается только действительно огромных по объему статей (типа вашего случая).

      Вероятно, невозможность импорта связана именно с этим ограничением по объему.

  9. Скажите, есть ли ограничения на обьем? У меня картинок более 100 Мб. Перенесет ли их компонент?
    И что будет, если на новом сайте какой-то ID уже занят? Если при переносе сохранять ИД, то двух одинаковых ИД на одном сайте не может же быть?
    Так новый сайт подготовил, модули и пункты меню нарезал заранее. Надеюсь, перенос пройдет без проблем 🙂

    • Ну если вы подготовили новый сайт, то никаких категорий и статей на нем пока нет, соответственно ID не заняты и никакого конфликта не будет.

      А по поводу картинок — так я бы посоветовал переносить их вручную, а не через компонент. Просто скопировать папку с рисунками на новое место, и всего делов. И даже если вы собираетесь чуть изменить адреса картинок — это можно легко сделать правкой импортируемого XML-файла (используя автозамену всех искомых вхождений). Например, я на новом сайте таким образом перенес изображения из каталога images/stories в корень каталога images.

    • Там вроде модули занимают ИД еще. Картинки я тоже хочу перенести архивом, но по традиции сделаю папку сториес, так как картинок около 1000, может больше, рассортированы по папкам. Если скинуть в корневую будет бардак.
      Большее опасение вызывает перенос статей, их около 2000. Сразу все явно не перенесутся, буду переносить по разделам, а где много — по 50-100 штук. Пока еще бодрюсь перед этой работой, как все получится — напишу 😉

  10. После установки активируйте в админке следующие плагины: «J2XML», «XML-RPC-J2XMLAPI», «Limit 500».

    Поставил компонент, но ничего похожего на указанные плагины не нашел в менеджере плагинов. При скачивании компонента переходил несколько раз по ссылкам, скачался только один архив… Где взять плагины, подскажите плиз

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

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