Миграция с Joomla 1.5 на Joomla 2.5

Предисловие
1. Перенос информационного наполнения
2. Перенос расширений:
  2.1. jDownloads и jComments
  2.2. Шаблон, редактор и другие расширения
Эпилог


В первой части мы тяжело, но достойно перенесли наши меню, категории, статьи и прочее наполнение с сохранением структуры на новый сайт. Рассмотрим теперь, как восстановить привычный набор расширений. И начнем с отдельного рассмотрения двух весьма популярных компонентов. jDownloads и jComments считаются чуть ли не лучшими каждый в своей области приложения, их использует великое множество джумловодов. К тому же оба бесплатны и русифицированы, да и переводы на многие другие языки наличествуют. Несомненно желание перенести весь набор комментариев и загрузок на новый сайт. Подробное рассмотрение надежных и проверенных методов миграции jDownloads и jComments с Joomla 1.5 на Joomla 2.5 и является целью данной статьи.

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

jDownloads

Тут все хорошо. Разработчики позаботились внести в свой компонент опцию резервного копирования и восстановления Backup - Restore. На офсайте в разделе FAQ есть вкладка How to move jDownloads from Joomla 1.5 to Joomla 2.5? с описанием требований к миграции данного расширения и самого процесса. Сводится он к следующей последовательности действий:

  • На старом сайте обновить версию до последней стабильной (в описании - 1.8.2, но есть уже 1.8.3). В контрольной панели компонента создать файл бэкапа установок (Создать резерв | Backup Creation).
  • На новом сайте установить последний релиз jDownloads для Джумлы 2.5 (на момент написания это 1.9.1 Build 931), отключить автомониторинг (Конфигурация | Configuration > Проверка | Monitoring > Проверять директорию закачек? | Download directory monitoring?).
  • Заменить папки файлов (JoomlaROOT/jdownloads) и картинок (JoomlaROOT/images/jdownloads) на такие же со старого сайта.
  • Затем открыть файл бэкапа в Notepad++ и заменить через Заменить всё | Replace All все вхождения старого префикса на новый (в нашем примере - jos_ на aaaaa_). Сохранить изменения.
  • На новом сайте идем в Backup Restoration | Восстановить из резерва. (Там красным по белому написано: Вы можете восстанавливать резервные файлы только с jDownloads 1.8.2 или новее! Я, тем не менее, переносил так 1.8.1 RC2 Build 832, и все получилось. Но все же, наверное, лучше сделать вначале апгрейд на последний релиз компонента в Джумле 1.5.) Загружаем отредактированный файл резервной копии, жмем кнопку Restore the database right now | Начать восстановление.
  • Когда процесс успешно завершен, переносим кастомные изменения, если таковые были сделаны на старом сайте - файл стилей .css, языковые файлы, свои группы пользователей.
  • Также рекомендуется проверить формат даты и времени в конфигурации компонента, поскольку в новой версии он изменен с php strftime() на date(). Другими словами, если формат вида %d.%m.%Y %H:%M:%S, и даты выводятся в виде %25.%07.%2012 %14:%Июль:%th, то после изменения формата на, к примеру, Y-m-d H:i:s дата и время будут выводиться в приемлемой форме - 2012-07-25 14:09:51. Редактируется это в разделе Конфигурация | Configuration > вкладка Загрузки | Downloads > поле Формат даты и времени | Date-Time format.

И это все о переносе компонента jDownloads с сайта на Joomla 1.5 на сайт на Joomla 2.5. Переходим к следующему расширению.

jComments

Разработчики самого популярного компонента комментариев не предусмотрели опции переноса. К счастью, за них это сделали энтузиасты. В сети, а именно - здесь, нашелся скрипт, осуществляющий миграцию jComments с Джумлы 1.5 на Джумлу 2.5. Вот этот скрипт (кликните на заголовок - он и откроется).

Скрипт

 
-- -------------------------------------------------------------------------------- 
 -- MIGRATION SCRIPT FOR JCOMMENTS IN JOOMLA v1.5.x TO JOOMLA v2.5.x 
 -- -------------------------------------------------------------------------------- 
 
 -- NOTE: Replace string "mydb_livecopy_j15" to your Joomla 1.5.x database name 
 -- -- -- (example: "anolddatabase") -- 9 occurrences 
 -- NOTE: Replace string "mydb_livecopy_j15.myprefix_" to your Joomla 1.5.x database name & table prefix 
 -- -- -- (example: "anolddatabase.jos_") -- 8 occurrences 
 
 -- NOTE: Replace string "mydb_upgrade_j25" to your Joomla 2.5.x database name 
 -- -- -- (example: "anewdatabase") -- 9 occurrences 
 -- NOTE: Replace string "mydb_upgrade_j25.myprefix_" to your Joomla 2.5.x database name & table prefix 
 -- -- -- (example: "anewdatabase.rndpfx1_") -- 8 occurrences 
 
 -- -------------------------------------------------------------------------------- 
 -- _jcomments 
 -- -------------------------------------------------------------------------------- 
 
 INSERT INTO 
      mydb_upgrade_j25.myprefix_jcomments 
      ( 
           id, parent, thread_id, path, level, object_id, object_group, object_params, lang, 
           userid, name, username, email, homepage, title, comment, ip, DATE, isgood, ispoor, 
           published, subscribe, SOURCE, source_id, checked_out, checked_out_time, editor 
      ) 
 SELECT 
      id, parent, 
      CASE WHEN SUBSTRING(path, LOCATE(',', path)+1, LOCATE(',', path, 2))='' THEN 0 
      ELSE SUBSTRING(path, LOCATE(',', path)+1, LOCATE(',', path, 2)) END AS thread_id, 
      path, level, object_id, object_group, object_params, lang, 
      userid, name, username, email, homepage, title, comment, ip, DATE, isgood, ispoor, 
      published, subscribe, SOURCE, source_id, checked_out, checked_out_time, editor 
 FROM 
      mydb_livecopy_j15.myprefix_jcomments; 
 
 
 -- -------------------------------------------------------------------------------- 
 -- _jcomments_custom_bbcodes 
 -- -------------------------------------------------------------------------------- 
 
 -- NOTE: This is disabled as the new version includes the old bbcodes setup (no change) 
 
 -- INSERT INTO 
 --      mydb_upgrade_j25.myprefix_jcomments_custom_bbcodes 
 --      ( 
 --           id, `name`, simple_pattern, simple_replacement_html, simple_replacement_text, pattern, 
 --           replacement_html, replacement_text, button_acl, button_open_tag, button_close_tag, 
 --           button_title, button_prompt, button_image, button_css, button_enabled, ordering, 
 --           published 
 --      ) 
 -- SELECT 
 --      id, `name`, simple_pattern, simple_replacement_html, simple_replacement_text, pattern, 
 --      replacement_html, replacement_text, button_acl, button_open_tag, button_close_tag, 
 --      button_title, button_prompt, button_image, button_css, button_enabled, ordering, 
 --      published 
 -- FROM 
 --      mydb_livecopy_j15.myprefix_jcomments_custom_bbcodes; 
 
 
 
 -- -------------------------------------------------------------------------------- 
 -- _jcomments_reports 
 -- -------------------------------------------------------------------------------- 
 
 INSERT INTO 
      mydb_upgrade_j25.myprefix_jcomments_reports 
      ( 
           id, commentid, userid, name, ip, DATE, reason, STATUS 
      ) 
 SELECT 
      id, commentid, userid, name, ip, DATE, reason, STATUS 
 FROM 
      mydb_livecopy_j15.myprefix_jcomments_reports; 
 
 
 -- -------------------------------------------------------------------------------- 
 -- _jcomments_settings -- ignored as this will load factory settings 
 -- -------------------------------------------------------------------------------- 
 /* 
 INSERT INTO 
      mydb_upgrade_j25.myprefix_jcomments_settings 
      ( 
           component, lang, name, value 
      ) 
 SELECT 
      component, lang, name, value 
 FROM 
      mydb_livecopy_j15.myprefix_jcomments_settings; 
 */ 
 
 -- -------------------------------------------------------------------------------- 
 -- _jcomments_subscriptions 
 -- -------------------------------------------------------------------------------- 
 
 INSERT INTO 
      mydb_upgrade_j25.myprefix_jcomments_subscriptions 
      ( 
           id, object_id, object_group, lang, userid, name, email, hash, published 
      ) 
 SELECT 
      id, object_id, object_group, lang, userid, name, email, hash, published 
 FROM 
      mydb_livecopy_j15.myprefix_jcomments_subscriptions; 
 
 
 -- source=??? 
 
 -- -------------------------------------------------------------------------------- 
 -- _jcomments_version 
 -- -------------------------------------------------------------------------------- 
 
 INSERT INTO 
      mydb_upgrade_j25.myprefix_jcomments_version 
      ( 
           version, previous, installed, updated 
      ) 
 SELECT 
      version, previous, installed, updated 
 FROM 
      mydb_livecopy_j15.myprefix_jcomments_version; 
 
 
 -- -------------------------------------------------------------------------------- 
 -- _jcomments_votes 
 -- -------------------------------------------------------------------------------- 
 
 INSERT INTO 
      mydb_upgrade_j25.myprefix_jcomments_votes 
      ( 
           id, commentid, userid, ip, DATE, VALUE 
      ) 
 SELECT 
      id, commentid, userid, ip, DATE, VALUE 
 FROM 
      mydb_livecopy_j15.myprefix_jcomments_votes; 
 
 
 
 
 -- -------------------------------------------------------------------------------- 
 -- _jcomments_objects  *** NEW FOR JOOMLA 2.5.X 
 -- -------------------------------------------------------------------------------- 
 

end faq

Также там присутствуют грамотные инструкции по его применению на английском. Я попробую изложить их на русском, к тому же чуть подробнее и с визуализацией.

  • Устанавливаем последний релиз jComments (все еще 2.3.0) на новый сайт (в моем случае - Joomla 2.5.9).
  • Копируем скрипт в текстовый файл. Сохранить можно с расширением .sql.
  • Открываем файл в Notepad++ и делаем 4 групповых замены (снова-таки используя Заменить всё | Replace all) имен и префиксов старой и новой баз данных на наши установки. Откройте панель со скриншотами, из них все предельно ясно.

Скриншоты

ogri.me | Миграция jСomments с Joomla 1.5 на Joomla 2.5 - 1

ogri.me | Миграция jСomments с Joomla 1.5 на Joomla 2.5 - 2

ogri.me | Миграция jСomments с Joomla 1.5 на Joomla 2.5 - 3

ogri.me | Миграция jСomments с Joomla 1.5 на Joomla 2.5 - 4

end faq

  • Теперь идем в менеджер баз данных (лучше phpMyAdmin ничего пока не придумано). Там, НЕ ОТКРЫВАЯ НИКАКОЙ БД (важно!), идем на вкладку Import, выбираем наш SQL-файл и запускаем содержащийся в нем скрипт.
  • После сообщения об успешной отработке скрипта возвращаемся в админку сайта на 2.5 во вкладку Комментарии | Comments компонента и убеждаемся, что список теперь содержит комментарии со старого сайта.
  • Последние действия: открываем вкладку Настройки | Settings. Поскольку скрипт не восстанавливает привязку комментариев к категориям, выстраиваем вручную список Включить комментарии в категориях | Choose categories for JComments to work in как он был на старом сайте. Проверяем остальные настройки и при необходимости их редактируем.

Таким вот образом два мощных компонента со всеми данными и файлами клонируются со старого сайта на новый. А в следующей статье мы порассуждаем о переносе с Джумлы Полтора на Джумлу Два-с-Половиной шаблона, редактора и джентльменского набора прочих сторонних расширений.

Комментарии  

Oinso
0 # Oinso 03.09.2021 13:34
Good day! I could have sworn I've been to this blog before but after looking at some of the articles
I realized it's new to me. Anyhow, I'm certainly pleased
I stumbled upon it and I'll be bookmarking it and checking back often!
Ответить | Ответить с цитатой | Цитировать
Oinso
0 # Oinso 03.09.2021 19:36
Highly descriptive blog, I liked that a lot.
Will there be a part 2?
Ответить | Ответить с цитатой | Цитировать
Carol
0 # Carol 21.09.2021 05:14
This post is priceless. Where can I find out more?


Also visit my web page :: qs (Carol)
Ответить | Ответить с цитатой | Цитировать
travel package
0 # travel package 21.09.2021 07:58
There is time to enjoy a gorgeous early morning swim to cool prior to we proceed.
Ответить | Ответить с цитатой | Цитировать
Myron
0 # Myron 21.09.2021 08:12
Asking questions are in fact fastidious thing if you are not
understanding anything totally, except this post offers nice
understanding yet.

My blog post; me [Myron]
Ответить | Ответить с цитатой | Цитировать
Darcy
0 # Darcy 22.09.2021 23:15
If some one wants to be updated with most recent technologies after that he must be pay
a quick visit this site and be up to date everyday.

my web-site: kh (Darcy)
Ответить | Ответить с цитатой | Цитировать
Maryann
0 # Maryann 24.09.2021 16:45
Incredible quest there. What happened after? Take care!



my website no (Maryann)
Ответить | Ответить с цитатой | Цитировать
диплом института
0 # диплом института 24.09.2021 22:43
I blog frequently and I truly appreciate your content.
The article has truly peaked my interest. I will book mark your website
and keep checking for new information about once a week.
I subscribed to your Feed as well.
Ответить | Ответить с цитатой | Цитировать

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


Работая с этим сайтом, вы даете свое согласие на использование файлов cookie, необходимых для сохранения выбранных вами настроек, а также для нормального функционирования сервисов Google.