ADBLOCK_MSG
Миграция с Joomla 1.5 на Joomla 2.5. Ч.2-1. Перенос jDownloads и jCommentsОпубликовано: 05.04.2013, 15:20 Автор: Ogri Просмотров: 118554
Миграция с 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) имен и префиксов старой и новой баз данных на наши установки. Откройте панель со скриншотами, из них все предельно ясно.
- Теперь идем в менеджер баз данных (лучше phpMyAdmin ничего пока не придумано). Там, НЕ ОТКРЫВАЯ НИКАКОЙ БД (важно!), идем на вкладку Import, выбираем наш SQL-файл и запускаем содержащийся в нем скрипт.
- После сообщения об успешной отработке скрипта возвращаемся в админку сайта на 2.5 во вкладку Комментарии | Comments компонента и убеждаемся, что список теперь содержит комментарии со старого сайта.
- Последние действия: открываем вкладку Настройки | Settings. Поскольку скрипт не восстанавливает привязку комментариев к категориям, выстраиваем вручную список Включить комментарии в категориях | Choose categories for JComments to work in как он был на старом сайте. Проверяем остальные настройки и при необходимости их редактируем.
Таким вот образом два мощных компонента со всеми данными и файлами клонируются со старого сайта на новый. А в следующей статье мы порассуждаем о переносе с Джумлы Полтора на Джумлу Два-с-Половиной шаблона, редактора и джентльменского набора прочих сторонних расширений.
Новые
-
20.07.2020, 00:53
Joomla 3: Перенаправление на ту же страницу после авторизации -
13.02.2017, 14:09
Joomla: как добавить свои языковые константы или переопределить существующие -
13.02.2017, 13:23
Joomla: Интегрируем reCAPTCHA v2 (NO CAPTCHA) в JComments -
23.06.2016, 10:48
Единая фильтрация вывода модуля mod_jcomments_latest -
13.09.2015, 13:06
Постим иллюстрированные статьи Joomla-сайта на Facebook, используя OG-теги
Популярные
-
118554
Миграция с Joomla 1.5 на Joomla 2.5. Ч.2-1. Перенос jDownloads и jComments -
87848
Joomla: Интегрируем reCAPTCHA v2 (NO CAPTCHA) в JComments -
63885
Редактирование анимированных GIF-имиджей в Photoshop CS3 -
61615
Joomla: как добавить свои языковые константы или переопределить существующие -
45030
Цифровые коды WEB (веб) цветов для сайта
Авторизация
Гитара
Гостевая колонка
Последние комментарии
-
Joomla: Интегрируем reCAPTCHA v2 (NO CAPTCHA) в JComments
-
Тест
25.08.2020 11:37
Не выводит сообщение об ошибке, если галку не нажать в рекапче
-
Николай3333
05.08.2020 07:55
Неужели работает?
-
Дарья Смирнова
29.07.2020 06:02
Здравствуйте, все вроде сделала по инструкции, но точно так же никаких изменений. Разве что теперь ...
-
ТвойБро
24.03.2020 03:42
Огромное спасибо, помогло. Странно, что по дефолту в jcomments предлагает в настройках выбрать ...
-
Валерий
21.02.2020 03:25
Проверка
-
Денис
02.01.2020 21:21
УРАААА! Заработало после очистки кэша сайта! Спасибо!
-
Денис
02.01.2020 20:56
Забыл сказать, что этот вариант установился на сайт, но по-прежнему при использовании reCAPTCHA ...
-
Вованя
25.12.2019 18:31
12345
-
Вованя
25.12.2019 18:31
Проверка, просто проверяю. раз раз раз)
-
Тест
25.08.2020 11:37
-
Миграция с Joomla 1.5 на Joomla 2.5. Ч.2-1. Перенос jDownloads и jComments
-
Андрей67
11.08.2020 16:54
У меня такая же картина, нет кнопки Импорт. как быть?
-
Андрей67
11.08.2020 16:54
Комментарии
А вообще я на вашем месте на страницу отзывов прикрутил бы контактную форму вместо комментов. Типа как у меня "Обратная связь". Я использую Fox Contact, ставил ее и на сайты клиентов, работает четко, хорошие настройки.
Если все-таки предпочитаете оставить jComments и не докопаетесь до решения проблемы - пишите в личку. Помогу чем смогу.
Исправляю свою оплошность. Спасибо за наводку.
Если это Вас не затруднит. Спасибо огромное в любом случае.
Ну и у вас там всего одна база. А где та, из которой надо вытащить комментарии?
Напишите, как прошло.
Может, в этом дело? Чтобы сохранить целостность базы данных со всеми связями, нужно переносить всё без изменения как идентификаторов таблиц, так и ссылающихся на них полей в других таблицах. Надеюсь, я популярно объясняю, если запутал вас - дайте знать.
ALTER TABLE f01uc_jcomments ADD COLUMN thread_id INT UNSIGNED NOT NULL AFTER parent;
Может кому пригодится. А то я искал и не мог найти решение.
У меня такая же картина, нет кнопки Импорт. как быть?