Вы здесь: Статьи Статьи о Joomla! Миграция c Joomla! 1.0 на 1.5

Миграция c Joomla! 1.0 на 1.5

В свете туманной перспективы линейки Joomla! 1.0.x, после долгих взвешиваний все таки решился на переход на линейку, которая призвана покорять мир в будущем и настоящем – Joomla! 1.5.x
Получив целую тучу палок в колеса, решился на написание этой статьи, которая должна помочь избежать всяких проблем всем, кто займется миграцией.

Переход с 1.0 на 1.5 осуществляется либо с помощью компонентов, которые делают дамп базы данных, совместимый с Joomla! 1.5, либо вручную, путем того же выборочного дампа и некоторых правок. Пойдем по пути наименьшего сопротивления, тоесть мигрируем с помощью первого способа.


Изучив несколько компонентов, остановился на более простом и менее глючным по моему мнению – Migator от Sam Moffatt (http://pasamio.id.au), на текущий момент последняя версия - migrator_rc7.


Процесс миграции с помощью этого компонента подразумевает собой импортирование контента с Joomla! 1.0.x  в процессе создания нового сайта на Joomla! 1.5
Итак, вы скачали этот компонент с моего файлового архива, либо с официального сайта. Далее по порядку:


1. Резервный дамп базы и сайта

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


2. Установка компонента миграции
Ставим наш компонент на сайт Joomla! 1.0.x, с которого вы хотите перенести контент. На некоторых конфигурациях сервера компонент не устанавливается и выдает ошибку:
Fatal error: Call to undefined method DOMIT_Lite_TextNode::getAttribute() in Z:\home\1.ru\www\administrator\components\com_installer\installer.class.php on line 316
или другую.
Для корректной установки компонента нужно открыть файл migrator.xml из архива и удалить закомментированные строчки (примерно 64-68):

<!--        <filename>images/backup.png</filename>
            <filename>images/backup_f2.png</filename>
            <filename>images/delete.png</filename>
            <filename>images/download.png</filename>
            <filename>images/sql_info.png</filename>-->

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


3.Создание SQL-файла миграции
В административной части сайта заходим в компонент и жмем кнопку «Create Migration SQL File»

Далее выбираем плагины, которые будут активированы при создании файла миграции (по умолчанию выбраны все). Помимо контента (плагин Content ETL) также можно перенести на новый сайт разделы, категории, баннеры, опросы, модули, ссылки и пользователей. Далее жмем кнопку «Start Migration >>» и наблюдаем за процессом создания дампа. После успешного завершения вы увидите сообщение «Migration complete!” и имя созданного дампа.

После идете в /administrator/components/com_migrator/dumps и забираете этот файл, или, щелкнув “Download”, загружаете этот дамп на компьютер.


4. Установка Joomla! 1.5.x и импорт данных
Следующим шагом будет установка нового сайта на CMS Joomla! 1.5. Вплоть до шестого шага установка проводится стандартно. На шаге 6:Конфигурация сразу начинаем работать с разделом «Загрузка демо-данных / Миграция или Восстановление с резервной копии».
Далее ставим ratio-точку «Загрузить скрипт миграции», указываем префикс таблиц старого сайта, его кодировку (кодировка, которая была на старом сайте) и местонахождение дампа. Также ставим нижнюю галочку, гласящую о том, что это именно файл импорта из прошлой версии Joomla!

 

После процесса импорта появится сообщение об результате миграции  и будет предложено продолжить установку.
Если мигрирование не состоялось то появится ошибка с описанием возможных причин.
Сбой загрузки! убедитесь, что папки 'tmp' и 'installation/sql/migration' доступны на запись. - в этом случае проверьте существование указанных папок а также их chmod (777). Если такая ошибка появляется при установке на локальном сервере (в частности на Denver) то возможно у вас слышком тяжелая база (более 2 Мб). В этом случае нужно в php.ini в строке upload_max_filesize = 2M выставить значение, не меньше размера вашей базы данных.

 

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

Некоторые особенности и полезные замечания.
•    Если у хостера либо на локальном сервере Denwer не установлена библиотека перекодировки iconv, то весь русский текст после импорта изчезнет. Имейте в виду.
Процесс установки iconv превосходно вот тут. Уточню только, что в статье пишется: 3-й Денвер изначально поставляется с библиотекой iconv.dll. Но несмотря на это у некоторых этой библиотеки небыло. У меня она была.
•    Возможно понадобится на локальном денвере в php.ini установить перед миграцией вместо max_execution_time = 30 хотя бы раз в 5 больше (и убедитесь что php.ini у вас подхватывается как надо).
•    В процессе миграции из содержания "псевдонимов" статей и разделов удаляются символы подчеркивания "_", поэтому если вы их использовали в предыдущей версии joomla для разделения транслит-слов, можно авансом запустить подобный запрос в базе, чтобы заменить этот символ "_" на символ "-":

Update jos_content Set title_alias = replace(title_alias, '_', '-')

(Правильность запроса не гарантируется!)
•    Если вы мигрируете с версии 1.0.13 разработчики советуют поставить патч исправляющий ошибку сессии администратора от Rob Schley's
Какие еще особенности миграции?
•    Все комментарии Jcomments со старого сайта перенес с помощью экспорта-импорта таблицы jos_jcomments.
•    Картинки, вставленные с помощью мамбота mosimage пришлось перегнать по новому, ибо при миграции они остались, но со ссылкой на старый сайт.

Удачи!

Комментарии  

Коммент от
Сен 25, 2010
Комментатор
Aleks_El_Dia
0 Цитирую Bereg:
Спасибо за ответ, а существует возможность миграции в моем случае?

При отсутствии сведений об используемых и модифицированны х вами компонентов ответить на вопрос не представляется возможным :)
Коммент от
Сен 26, 2010
Комментатор
Bereg
0 Не совсем понял какая конкретно информация вам нужна, список компонентов вот
http://s005.radikal.ru/i210/1009/a6/d6a0c397113a.jpg

Меня интересует, существует ли в моем случая возможность обновления до 1.5, не обязательно при помощи этого мигратора

Заранее спасибо)
Коммент от
Сен 26, 2010
Комментатор
Aleks_El_Dia
0 Цитирую Bereg:
Не совсем понял какая конкретно информация вам нужна, список компонентов вот
http://s005.radikal.ru/i210/1009/a6/d6a0c397113a.jpg

Меня интересует, существует ли в моем случая возможность обновления до 1.5, не обязательно при помощи этого мигратора

Заранее спасибо)

И все компоненты используются? Какую цель вы преследуете при миграции? Оправдывает эта цель средства? :)
Коммент от
Сен 26, 2010
Комментатор
Bereg
0 Цитирую Aleks_El_Dia:
Какую цель вы преследуете при миграции? Оправдывает эта цель средства? :)


Используются все.
Цель - Обновление.
Подскажите решение
Коммент от
Сен 27, 2010
Комментатор
Aleks_El_Dia
0 Цитирую Bereg:
Цитирую Aleks_El_Dia:
Как ую цель вы преследуете при миграции? Оправдывает эта цель средства? :)

Используются все.
Цель - Обновление.
Подскажите решение

1.Посмотреть здесь плагины мигратора для посторонних компонентов.
2.Если плагинов нет - то ставить вручную на сайт J! 1.5 аналогичный компонент и переносить информацию вручную - с помощью экспорта/импорт а соответствующих таблиц базы данных (обратить внимание на возможное отличие структуры таблиц разных версий компонентов!)
3.Если у какого-то компонента нет версии для J! 1.5 - то ищем аналогичный и с нуля настраиваем и вручную переносим необходимую информацию.
P.S.: в вашем случае миграция - слишком трудозатратная, поэтому хорошо взвесьте все "за" и "против" последствий этого интимного процесса.
Коммент от
Сен 27, 2010
Комментатор
Bereg
0 Спасибо)
Коммент от
Окт 06, 2010
Комментатор
frank
0 Уважаемые гуру, не подскажете ли вы в чем дело, при переносе сайта на локальный сервер (хотел попрактиковатьс я в миграции джумлы на кошках, так сказать) выдвет ошибку:

Fatal error: Cannot redeclare mosmainbody() (previously declared in E:\WebServers\h ome\localhost\s ite\includes\fr ontend.php:23) in W:\home\localho st\site\include s\frontend.php on line 61

не подскажете ли в чем дело?
Коммент от
Апр 21, 2011
Комментатор
vadim
0 Спасибо за статью. Еще можно включить SEF так как ссылки имеют вид site.ru/index.p hp?option=com_. ..
Коммент от
Май 03, 2011
Комментатор
jiammer
0 блин, автор СПАСИБО ТЕБЕ ОГРОМНОЕ!!! ток благодаря этой статье смог перенести эту долбанную базу! три дня му*****ся... нигде нет описания ошибок... тупо скопируйте \ вставьте и все готво блин...
еще раз СПАСИБО!
Коммент от
Май 24, 2011
Комментатор
Геннадий
0 в начале ничего не получалось, ибо дёргал дистрибутив миграторов с инета, потом загрузил с сайта Aleks_El_Dia, маленький нюанс, имя мигрируемых БД .sql, рекомендую делать как можно проще, в имени файла удалить всё то что "_24000_250000" , это может занять до 10 минут, в зависимости от размера БД, если фаил больше размера допустимого, необходимо сделать исправления

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

Защитный код
Обновить

Популярные файлы

1.
Компонент Миграции с Joomla! 1.0.x на Joomla! 1.5.x
3023
2.
Хак постраничной навигации сайта на CMS Joomla! 1.0
1638
3.
rt-reaction
814

Последние комментарии

  • Темный шаблон то что надо. Респект! Подробнее..
    От Dunko
  • Но я вам точно могу сказать, что человек, сделавш... Подробнее..
    От Ломалкин
  • Обновлять нужно и саму Джумлу и те модули, которы... Подробнее..
    От Ломалкин
интернет магазин мебели киев: мебель для спален, у нас -30 на всю мебель.