Оновлення Joomla 1.5 до Joomla 3.3

42

Від автора: система управління контентом Joomla була створена вже досить давно, весь цей час вона активно розвивається. При цьому випускаються всі нові версії даного движка і, відповідно, нові версії розширень. На даний момент актуальною версією є Joomla 3.3, але крім цього зустрічаються сайти, які працюють на застарілій версії движка Joomla 1.5. Дана версія досить хороша і стабільно працює, але при цьому вона вже давно знята з підтримки, а значить і розширення для цієї версії вже не випускаються. Тому в даному уроці ми з Вами навчимося оновлювати Joomla 1.5 до Joomla 3.3.

скачать исходникискачать урок

1. Підготовка до оновлення

ВАЖЛИВО!!! Перед оновленням обов’язково створіть резервну копію Вашого сайту, що б у разі чого не втратити дані.

Отже, для сьогоднішнього уроку я підготував наступний сайт:

Даний сайт – це чернетку одного з моїх давніх проектів і виконаний він на Joomla 1.5. При цьому на новій версії мови PHP він взагалі відмовляється стабільно працювати. Так як спочатку відновлення з резервної копії, на екран виводилося величезна кількість повідомлень про помилки, пов’язаних з використанням застарілих конструкцій мови. До того ж взагалі не працює меню сайту, хоча в базі даних. Тому наше завдання – оновити движок сайту і тим самим повернути повну працездатність сайту.

Оновлення сайту Joomla 1.5 до Joomla 3.3 досить не стандартна завдання, тому як якщо потрібно оновити безпосередньо движок – то в такому випадку все вирішується досить просто і швидко. Але зазвичай сайти містять певний набір встановлених розширень, які можуть не підтримуватися новою версією движка.

Тому перед оновленням Ви повинні переглянути встановлені на Вашому сайті розширення і перевірити – чи є у них нові версії, які підтримують останню версію Joomla. Якщо розширення не підтримує нову версію движка – Ви повинні визначити для себе, чи потрібно Вам це розширення. Якщо ні, то його потрібно видалити, інакше доведеться шукати альтернативні заміни застарілого розширення.

Оновлення ми будемо виконувати, використовуючи спеціальний компонент для міграції jUpgrade, який оновить застарілу версію движка, до версії з довгостроковою підтримкою, а це Joomla 2.5. Потім версію Joomla 2.5 ми оновимо до версії Joomla 3.3.

І останній момент – шаблон. Шаблон даного сайту, звичайно, створений під версію Joomla 1.5 і коректно працювати з новою версією не буде. Тому, потрібно або встановити новий шаблон, або переробити існуючий застарілий шаблон, що власне я і зроблю. Але, в даному уроці ми не будемо розглядати створення шаблону в повній мірі – я тільки покажу які потрібно внести правки в застарілий шаблон, що б його можна було встановити на Joomla 3.3.

Тому відкриваємо вихідні файли Joomla, переходимо в папку templates і створюємо архів шаблону нашого сайту, у форматі zip. Даний архів копіюємо в будь-яку тимчасову папку комп’ютера – він нам ще знадобиться. Потім переходимо в панель адміністратора і видаляємо всі встановлені не стандартні шаблони, у тому числі і той шаблон, який використовується на сайті.

Розширення jUpgrade може оновити разом з движком Joomla такі сторонні розширення (стандартні компоненти оновлюються в повному обсязі):

AcyMailing

AdminPraise

Akeeba Backup

BreezingForms

CompoJoomComment

CommunityBuilder

Contact Enhanced

Hikashop

JCE

jEvents

JomSocial

Jumi

K2

Kunena

SobiPro

redFORM

redMEMBER

redSHOP

RSGallery 2

VirtueMart

Всі інші розширення доведеться вручну оновлювати або не оновлювати взагалі. В моєму випадку на тестовому сайті встановлені наступні сторонні розширення:

joomlaComment

Community Builder

XMap

FireBoard

uddeIM

З яких тільки Community Builder, можна швидко відновити, використовуючи розширення jUpgrade. Інші або не підтримують взагалі нову версію Joomla (joomlaComment, форум FireBoard), або їх вміст не настільки важливо, що б витрачати час на їх оновлення(XMap, uddeIM). Тому всі розширення за винятком Community Builder, я видаляю, бо як тільки його я буду переносити на нову версію движка. Видаляємо розширення з адмін панелі, а також необхідно перевірити базу даних на наявність таблиць віддалених розширень. Якщо вони присутні, їх так само потрібно вручну видалити.

2. Установка JUpgrade.

Отже, переходимо на сайт http://matware.com.ar/downloads/jupgrade.html — це сайт розробника розширення JUpgrade. І викачуємо безкоштовну версію даного розширення. До речі є також платна версія jUpgrade, яка володіє більш широким функціоналом.

Потім встановлюємо його як звичайне розширення Joomla. Далі, для роботи даного розширення необхідний плагін Mootools Upgrade Plugin, тому якщо у Вас його немає, то за посиланням http://www.seblod.com/v2/documentation/others/mootools-upgrade-plugin.html можна завантажити даний плагін та встановити. Після установки переходимо в менеджер плагінів і активуємо його.

3. Налаштування JUpgrade

Після установки переходимо в панель управління компонента JUpgrade.

Потім параметри даного компонента.

Дистрибутив – версія движка, до якого оновлюємося;

SQL Driver – драйвер по роботі з базою даних;

Target Directory – папка в якій буде збережений новий сайт;

Prefix for old database – префікс таблиць(застарілої версії);

Prefix for new database – префікс таблиць для нового движка;

Disable set_time_limit() — відключити часовий ліміт для виконання операцій оновлення;

Disable Error Reporting — відключити повідомлення про помилки.

Skip checks – відключити перевірку;

Пропустити завантаження – пропустити завантаження, якщо ТАК, то необхідно в папку з новим сайтом записати вихідні файли Joomla, тобто дистрибутив Joomla 2.5;

Пропустити розпаковування – якщо ні, то буде витягнуто дистрибутива;

Skip templates copy – пропустити копіювання шаблонів. Підтримуються тільки стандартні шаблони;

Skip 3rd party extensions – пропустити оновлення сторонніх розширень.

Skip users – пропустити перенесення користувачів на нову версію;

Skip categories – пропустити перенесення категорій в нову версію;

Content Skip – пропустити перенесення вмісту в нову версію;

Skip menus – пропустити перенесення меню в нову версію;

Skip modules – пропустити перенесення модулів у нову версію;

Skip banners – пропустити перенесення банерів в нову версію;

Skip contacts – пропустити перенесення контактів у нову версію;

Skip newsfeeds – пропустити перенесення стрічки новин в нову версію;

Skip weblinks – пропустити перенесення посилань.

Keep original positions? – зберігати оригінальні позиції модулів;

Delete previous migration – видаляти попередні спроби оновлення;

Enable migration debug – увімкнути режим налагодження;

Enable Mootools version debug – режим відладки Mootools;

У параметрах вказуємо папку для зберігання оновленої версії движка, якщо потрібно (я ж залишаю за замовчуванням), так скасовуємо завантаження дистрибутива і розпаковування. Так як в папку jupgrade ми скопіюємо дистрибутив Joomla 2.5. Тому викачуємо з офіційного сайту дистрибутив Joomla 2.5 і распакуем його в папку jupgrade.

4. Оновлення

Після настроеки зберігаємо зміни і повертаємося в панель керування компонентом. Тепер можна почати оновлення, клацнувши по відповідній кнопці. Хотів би зазначити, що якщо кнопка «Почати оновлення» не робоча, значить, присутня помилка JavaScript. Її можна виправити, відредагувавши файл media/system/js/modal.js, в якому потрібно відшукати рядок:

this.setOptions(this.presets);

І замінити на:

this.options=this.presets;

Дану заміну, потрібно виконувати тільки після настроювання компонента jUpgrade. Далі виконуємо оновлення:

І власне закінчення оновлення:

При оновленні можуть виникати помилки, які будуть відображатися в центральній області.

Після завершення оновлення, компонент надає нам посилання на користувальницьку частину нашого сайту і в панель адміністратора. Тепер оновлена версія движка міститься в папці jupgrade. При цьому дана версія використовує нові створені таблиці, із префіксом, який був вказаний при налаштуванні JUpgrade. Тобто ми з Вами отримали повністю новий сайт, зі своєю файловою структурою і своєю базою даних.

Тепер необхідно видалити всі вихідні файли старого движка 1.5 і замінити новими (з папки jupgrade). У базі даних також необхідно видалити таблиці, які використовувалися старою версією Joomla (видаляємо всі таблиці префікс яких jos – це в моєму випадку).

Після можна подивитися, як виглядає оновлений сайт:

Як Ви бачите – це дійсно Joomla 2.5. Тепер якщо ми подивимося на встановлені компоненти, то ми побачимо, що Community Builder залишився встановленим, він був перенесений на нову версію движка і для його коректної роботи, потрібно також його повторно. Тому завантажуємо останню версію компонента і встановлюємо як звичайне розширення Joomla. Після цього можна переконатися, що всі дані даного компонента були успішно перенесені на нову версію движка. Так само зберігся весь контент з попередньої версії Joomla: матеріали, категорії, а також меню.

Тепер необхідно оновити версію Joomla 2.5 до Joomla 3.3. Для цього на офіційному сайті завантажуємо пакет оновлень для даного движка:

Після скачування, встановлюємо пакет оновлень. Тим самим оновлюємо ядро движка до останньої версії 3.3

5. Установка шаблону

Таким чином, ми з Вами завершили оновлення Joomla 1.5 до Joomla 3.3. Залишилося тільки встановити шаблон, який використовувався раніше. Для цього відкриємо файл templateDetails.xml (даний файл міститься в архіві шаблону) і внесемо в нього кілька правок у відповідності з вимогами Joomla 3.x. А саме блок install міняємо на блок extension:

<extension version=»2.5″ type=»template» client=»site»>

Блок параметрів також замінюємо згідно з таким видом:

<config>
<fields name=»params»>
<fieldset name=»advanced»>
<field name=»style» type=»list» default=»1″ label=»Color scheme» description=»Color scheme to use»>
<option value=»1″>Maroon</option>
<option value=»2″>Blue</option>
<option value=»3″>Green</option>
</field>
<field name=»menuanimation» type=»list» default=»1″ label=»Menu animation» description=»Animation of mainmenu — only MooMenu»>
<option value=»1″>Opacity</option>
<option value=»2″>Height</option>
<option value=»3″>Height and Opacity</option>
</field>
</fieldset>
</fields>
</config>

Після цього можна встановлювати шаблон на новий рушій Joomla (знову ж попередньо створивши архів формату zip). Звичайно, доведеться ще багато чого поправити в даному шаблоні, перед тим як він стане повністю ідентичний старої версії. Але в будь-якому випадку він вже працює і виводить інформацію.

Після внесення всіх правок у шаблон, потрібно оновити позиції модулів і перевірити працездатність сайту в цілому.
На цьому оновлення завершено.

Всього Вам доброго і вдалого кодування!