Миграция с 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.
Ответить | Ответить с цитатой | Цитировать
Oscar
0 # Oscar 25.12.2021 15:18
Heya this is kinda of off topic but I was wanting to know if blogs use WYSIWYG
editors or if you have to manually code with HTML. I'm starting a
blog soon but have no coding know-how so I wanted to get guidance from someone with experience.
Any help would be greatly appreciated!

Feel free to visit my site :: hy (Oscar)
Ответить | Ответить с цитатой | Цитировать
ql
0 # ql 31.12.2021 17:02
I like the helpful info you provide in your articles.
I will bookmark your weblog and check again here regularly.
I am quite sure I will learn many new stuff right here! Good luck for
the next!

my page ... ql
Ответить | Ответить с цитатой | Цитировать
home page
0 # home page 30.04.2022 12:56
Link exchange is nothing else but it is just placing the other person's website link on your page at appropriate place and other person will also do similar in favor of you.
Ответить | Ответить с цитатой | Цитировать
Weldon
0 # Weldon 28.07.2022 13:39
Marvelous, what a web site it is! This weblog presents useful data to us,
keep it up.
Ответить | Ответить с цитатой | Цитировать
dolar ne oldu
0 # dolar ne oldu 29.07.2022 20:17
I love as much as you'll receive carried out right here.
The sketch iss tasteful, your authored subject matter stylish.
nonetheless, you command get goot an edginess over that yoou wish be delivering tthe following.

unwell unquestionably come further formerly again as exactly the same nearly
a lot often inside cas you shield this increase.

My web-site - dolar
ne oldu
Ответить | Ответить с цитатой | Цитировать
website
0 # website 01.08.2022 03:20
I do not even know how I ended up here, but I
thought this post was good. I do not know who you are but definitely you're going to a famous blogger if you aren't already ;) Cheers!
Ответить | Ответить с цитатой | Цитировать
denizli son dakika
0 # denizli son dakika 08.08.2022 07:08
It's very simple to find out any topic on web as compared
to textbooks, as I found thus piece of writing att this web site.


My webpage: denizli son dakika
Ответить | Ответить с цитатой | Цитировать

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


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