Обновление с 2.5 до 3.x обзор

15

Это то, что мне было любопытно в течение некоторого времени, учитывая несколько вещей.

Как хорошо будет улучшаться «одним кликом» до EoL в Joomla! 2,5?

Сейчас у нас очень низкий показатель успеха при обновлении с версии 2.5, есть много проблем с совместимостью, которые не решаются только с помощью обновления и требуют небольшого количества ручных изменений, чтобы завершить процесс большую часть времени (проблемы с JHTML являются наиболее распространенными. видеть).

Теперь я говорю «проблемы», но я просто имею в виду, что после обновления все работает не так, как задумано, это ни в коем случае не говорит о том, что компонент «обновление» не работает.

Я посмотрел вокруг, но нашел только следующее:

http://docs.joomla.org/Joomla!_CMS_versions

http://developer.joomla.org/cms/roadmap.html

Первый заявляет, что в следующем декабре 2014 года поддержка 2.5 будет прекращена. Второе излагает план для 3.x. Однако сейчас очень сложно обновить 2.5, чем больше сайт, тем сложнее. Я не уверен, что приводит к тому, что некоторые преуспевают, а некоторые - нет, в большинстве случаев мы не можем напрямую изолировать его от сторонних расширений (разрывы менеджера расширений и тому подобное от отсутствующих таблиц, а менеджер расширений - это то, где вы исправляете это).

Вот где настоящая проблема возникает при обновлении: если сайт использует массивную базу данных с чем-то вроде sobipro, k2 или компоновщика контента, или просто много статей / модулей, тогда обновление может потерпеть неудачу намного проще. Они не могут быть удалены, отключены или удалены (например: 4000+ элементов будут потеряны при удалении, в этот момент можно также переделать сайт, а затем обновить).

Итак, есть ли план по улучшению обновления в один клик с 2.5 до 3.x, чтобы лучше соответствовать EoL? (например, посты в новостях или блогах). Странный вопрос, но я чувствую, как много сайтов 2.5, которые не могут обновиться, могут быть очень полезными.

Джордан Рамстад
источник
Я никогда не слышал и не имел проблем при обновлении с J2.5 до 3.x. Фактически, мы недавно обновили наш сайт до J3.3 с достаточным количеством расширений, включая K2, Community Builder и Kunena без каких-либо проблем.
Лоддер
1
У нас никогда не было настоящего успеха «без проблем» примерно в 10 попытках из 80 2,5 сайтов, которые у нас есть. Этот вопрос просто предназначен для того, чтобы увидеть, существует ли какой-либо план по снижению количества ошибок (я знаю, что для обновления не нужно удалять ни одного номера, я мог бы опубликовать этот ответ сам об этом, так как он «выглядит» как основная проблема и является Трудно увидеть, не единственное, что может случиться, хотя). Я имею в виду, что этот вопрос должен объединить несколько различных источников и решение проблем для него.
Джордан Рамстад
1
Джордан имеет точку зрения. Обновление не так просто во все времена. Это не проблема для меня, но для обычных пользователей, которые могут застрять после обновления, сломавшего свой сайт, поэтому это проблема для Joomla, учитывая, что мы живем в годы, когда «Удобно для пользователя» и « Программное обеспечение, которое работает "имеет важное значение.
FFrewin
У меня также было несколько проблем с обновлением, на самом деле все мои попытки обновления с полдюжины сайтов давали мне проблемы, которые мне приходилось исправлять различными способами. Я обнаружил, что большинство из них вызваны использованием mootools в расширениях. Это вызвало сбой обновления в некоторый момент, часто перед обновлением базы данных. Для сайтов, которые я перед обновлением заменил использование MooTools в каждом используемом им источнике, его версия 3.x ("JHtml :: _ (поведение.framework ');"), похоже, работала безупречно.
thoni56

Ответы:

11

Обновление в один клик работает очень хорошо для Joomla! 2,5 ядра .

Но ваш сайт может иметь несколько шаблонов или расширений, которые также должны быть обновлены.

Я также планирую "июньскую" миграцию нашего основного сайта. Это мой план:

  • Сделайте резервную копию основного сайта и создайте новый тестовый сайт
  • Просмотрите системные требования для Joomla 3.x и убедитесь, что ваша серверная среда отвечает этим требованиям.
  • Установите и настройте новый Joomla! 2.5 / 3 совместимый шаблон
  • Установите и настройте все Joomla! 2.5 / 3 совместимые расширения
  • Если какое-то расширение не имеет версии, совместимой с J3, его необходимо заменить новым расширением .... И данные должны быть перенесены (наихудший сценарий)
  • ПРИМЕЧАНИЕ : предыдущие шаги могут быть выполнены в автономном режиме, протестированы, и в конце вы можете реализовать их в вашей текущей Joomla! 2.5 сайт для снижения риска однодневной миграции.
  • Обновите свой сайт разработки с последним живым сайтом
  • Последний шаг: обновление одним кликом до Joomla! 3 на сайте разработки
  • Протестируйте и проверьте все, пока оно не работает
  • Перенесите работающий сайт (или восстановите последний снимок сайта разработки на новом хостинге .... на тот случай, если что-то пойдет не так, и вам придется повторно активировать сайт J2.5)
  • УСПЕХ
Анибал
источник
1
Очень хорошее объяснение безопасного способа обновления. Я также делаю решительный шаг в июле и некоторое время беспокоился об этом. Прочитав это, я чувствую себя намного лучше. Спасибо = ^ D
Мэтью Леннинг
5

Для обновлений с 2.5 до 3.3 мне больше повезло, и я выполнил обновление вручную. Для версий, я пойду до 2.5.20-> 3.0.3-> 3.1.6-> 3.2.4-> 3.3.0.

Это полный процесс:

  1. Загрузите все эти версии и разархивируйте на локальный компьютер (хороший ресурс: http://www.whitefirdesign.com/resources/joomla-release-archive.html ).
  2. Резервное копирование с использованием Akeeba
  3. Сделать клон сайта в подпапке с помощью Akeeba Kickstart (создать / использовать новую базу данных)
  4. В серверной части сайта удалите «проблемные» расширения (см. Внизу поста)
  5. В FTP загрузите все файлы из новой версии Joomla, кроме папки / installation /.
  6. В бэкэнде веб-сайта, перейдите в EXTENSIONS-> MANAGER EXTENSIONS-> DATABASE и нажмите FIX
  7. Затем перейдите к пункту РАСШИРЕНИЯ-> МЕНЕДЖЕР РАСШИРЕНИЯ-> ОТКРОЙТЕ, нажмите «Найти и установить» для всего, что он найдет
  8. Перейдите в ACL Manager (если у вас его нет, я настоятельно рекомендую) и исправьте все обнаруженные проблемы ACL. http://aclmanager.net
  9. Повторите процесс со следующей версией Joomla

После того, как вы получите новую версию:

  1. Переустановите «проблемные» расширения
  2. Резервное копирование новой версии
  3. Тестовый сайт для проблем
  4. Переместить оригинальный сайт в подпапку
  5. Переместить новый сайт в корень, чтобы начать работу

Весь этот процесс занимает много времени из-за времени загрузки полных версий, но он избавляет от головной боли.

Что касается расширений проблем, то это только те, которые вызвали проблемы во время обновлений для меня. Моя гипотеза заключается в том, что пакет установки на самом деле имеет разные версии для J2.5 и J3.3, поэтому при обновлении он запутывается. Если кто-то нашел других, пожалуйста, дайте мне знать.

  • Расширения NoNumbers (NN Manager, Cache Cleaner, Adv Module Manager, Модули в любом месте и т. Д.)

Эти расширения могут вызвать проблемы, если не использовать самый последний выпуск:

  • RSForm
  • JW AllVideos
  • RokBox
  • RSForm
  • Социальные закладки
  • XMap
YellowWebMonkey
источник
Blueflame формы также вызывает проблемы.
кодер
3

Я не смог обновить каталог с 2.5.7 до 3.2.0. Во время этих обновлений я сталкивался с различными ошибками, иногда вообще не мог обновиться.

Путь обновления я должен был принять как:

2.5.7 → 3.0.1 → 3.1.5 → 3.2.0

С тех пор я смог нормально обновиться. Я использую 3.2.2 и планирую обновить до 3.3 в ближайшее время.

ContextSwitch
источник
Обновление поддерживается с последней версии 2.5.x (на сегодняшний день это 2.5.20!). С этой версии вы можете обновить непосредственно до 3.3.0. Таким образом, вместо того, чтобы делать несколько мини-шагов, вы должны сначала обновить свои очень старые версии 2.5.7 до 2.5.20 и оттуда до 3.3.0.
Bakual
Похоже, что у YellowWebMonkey возникла та же проблема с 2.5.20, но подробности смотрите в его ответе.
ContextSwitch
Мне лично были бы интересны ошибки, которые вы получаете при обновлении напрямую с 2.5.20 до 3.3.0. Просто говоря о ядре здесь, а не о третьих сторонах.
Bakual
Я бы сказал, что его трудно воспроизвести, если у вас нет проблем, то же самое происходит с 1.7, сначала переход на 2.5.1 практически без ошибок, но переход к новейшей версии всегда был проблематичным. Я сомневаюсь, что это какая-то вина разработчиков, возможно какой-то тайм-аут при применении огромного количества файлов обновлений SQL для всех версий? Если это проблема, возможно, обновление Joomla должно иметь автономный установщик и устанавливать обновления по порядку, а не применять их все сразу (для ядра в любом случае). Просто случайная идея, хотя этот ответ дает мне представление о том, где может быть ошибка, только «теория».
Джордан Рамстад
Я посмотрю, есть ли у меня копия нашей базы данных 2.5.7. Если я могу найти это плохо, обновите ответ с проблемами, которые у меня были.
ContextSwitch
2

Чтобы ответить на главный вопрос:

Как хорошо будет улучшаться «одним кликом» до EoL в Joomla! 2,5?

Планов по его улучшению нет. Работает без проблем для ядра. Шаблон также должен быть заменен из-за изменения выходных данных расширения. Остальные расширения нужно проверять вручную, это зависит от того, как они построены. Можно написать расширения, которые работают на 2.5.15+ и 3.x с одной и той же кодовой базой. Но это нужно проверить, попробовав или связавшись с разработчиком (или прочитав их FAQ).

Единственное, что может быть улучшено в 2.5, - это добавить проверку совместимости перед обновлением. Для этого была проделана определенная работа, но она остановилась. Кто-то из сообщества должен был бы поднять это и довести до конца.

Bakual
источник
Отсутствие проверки совместимости в 2.5 является одной из причин, по которой вам нужно проверять версии PHP на платформе обновления. Обновления в один клик с 2.5 до 3.2. * + оставили много людей с пустыми сайтами спереди и сзади.
BodgeIT
2

Вот некоторая полезная информация, которую я нашел по обновлению.

Во-первых, если веб-сайт изначально был версии 1.6, а затем обновлен до версии 2.5, то даже в последних версиях 2.5 все расширения будут работать. Однако для обновления до 3.x требуется переустановка. Это связано с тем, что различия в области «обновления» означают, что если это был 1.6, то сервер обновлений не будет правильно читать обновления, поэтому, если это был компонент 1.6, то, по крайней мере, в большинстве случаев (я видел это в DJ Image Slider и BreezingForms) не будет обновляться после обновления до 2.5.

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

Иногда расширения могут быть переименованы или «обновлены», что приведет к тому, что Joomla будет время от времени читать его как новый компонент, что приведет к появлению нескольких записей одного и того же компонента, старого и нового. Если вы удалите одну из них, она по-прежнему использует те же таблицы базы данных, поэтому очищает их, если вы уже установили их.

Идея: так что я думаю, что в этом случае было бы полезно добавить дополнение к диспетчеру расширений для проверки расширений, предназначенных для более старых версий, чтобы их было легко увидеть, это можно сделать, посмотрев дату последнего обновления. и было ли это до потенциального критического изменения в Joomla, если текущая версия вышла за пределы этой версии.

В любом случае, если сайт переходит с 1.6 на 2.5, то на 3.x в любой момент может вызвать переустановку, которая, следовательно, очистит данные.

Другая идея: если «обновление» было добавлено рядом с обновлением, используя отслеживание более старой версии и его сервера обновлений, или пользовательский URL-адрес / загрузка, чтобы в основном удалить компонент без очистки данных. Затем переустановите его, используя обновления sql для обновления таблиц базы данных.

Я использую сайт, который изначально был 1.6, так как он будет показывать эти проблемы чаще, это может случиться и с сайтами, которые появились в 2.5.

Это объясняет многие проблемы, которые могут возникнуть из-за расширений, которые, возможно, никогда не обновлялись для добавления совместимости с 3.x, плагины являются наихудшими, так как даже в панели администратора ошибка в них может сделать панель администратора непригодной для использования.

Еще одна идея: менеджер обновлений Joomla может автоматически отключать все сторонние плагины, кроме некоторых (например, akeeba, так как он отслеживает обновления), а затем обновлять. После этого он снова включает все плагины, но «проверяет» системные плагины на наличие ошибок. Я имею в виду, что он автоматически запускает различные события с помощью try / catch, чтобы увидеть, есть ли ошибка, если она есть, она отключает и уведомляет.

Теперь все это не предполагает никаких основных проблем, что обычно не должно происходить при обновлении.

Идеи, которые я опубликовал выше, предназначены для команды разработчиков, остальное - хорошая информация для тех, кто обновляет. Идеи, которые я высказал, должны позволять даже обновления без предварительного удаления / отключения расширений, которые потенциально могут добавить гораздо больше работы к процессу. С некоторыми дополнениями к и без того хорошему средству обновления, даже полные автоматические обновления (вроде WordPress) могут быть возможны в будущем.

Джордан Рамстад
источник
1

Я считаю, что при обновлении нужно учитывать множество факторов, которые просто нельзя рассматривать как процесс «одним щелчком».

Версии PHP - это первое, что нужно учитывать. Версии Joomla тоже ... всегда переходите на финальную версию в любом дереве, прежде чем подниматься по лестнице на следующую. Используйте Akeeba CMS Updater, чтобы выбрать обновления, которые вы хотите применить, и из какой ветви.

Расширения - то, где это действительно становится волосатым.

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

Этот процесс не для обычного обычного пользователя.

Чаще всего я нахожу некоторый уровень проблем с таблицей активов, и обычно мне приходится использовать диагностику ACL Manager, чтобы исправить потерянные или отсутствующие элементы в таблице.

BodgeIT
источник
1

Процедура, которую я использую, прошла более 40 различных мини-миграций Joomla 2.5 - 3.x. Это не совсем «один клик», но помогает избежать самых распространенных ошибок. Большинство сайтов, на которые я смотрю, используют шаблоны RocketTheme, и существуют Joomla 3.x эквивалентные версии шаблонов Joomla 2.5, которые уменьшили для меня проблемы с миграцией шаблонов, но ваш пробег может отличаться.

  1. Проверьте хостинг-среду, подходящую для Joomla 3.x

  2. Сначала запустите резервное копирование!

  3. Удалите все расширения, которые не совместимы с Joomla 3.x.

  4. Обновите Joomla 2.5.28, если она еще не установлена ​​на 2.5.28, и обновите все сторонние расширения до последних доступных версий Joomla 2.5.

  5. Отключить плагин "Система - Запомнить меня"

  6. Отключить плагин «Система - Резервное копирование при обновлении», если установлена ​​Akeeba Backup

  7. В глобальной конфигурации установите для Отчета об ошибках значение «Разработка» (чтобы ошибки были видны после миграции - если вы пропустите этот шаг, возможно, вам придется использовать FTP и т. Д. Для загрузки файла configuration.php, отредактируйте его, чтобы включить сообщения, а затем загрузите обновленную версию через FTP и т. Д., Что боль)

  8. Изменить компоненты -> Joomla Update -> Параметры «Краткосрочная поддержка»

  9. В Компоненты -> Обновление Joomla, нажмите «Установить обновление» для обновления с 2.5.x до 3.5.1, с 3.5.1 до 3.6.5 и затем с 3.6.5 до последней версии. Очистите кэш Joomla и очистите кэш в Extensions -> Extension Manager -> Update и попробуйте еще раз, если обновление не предлагается. Может потребоваться повторная аутентификация один или два раза, когда выполняются обновления токена сеанса

  10. Измените компоненты -> Joomla Update -> Options -> Update Channel на «Default», если он еще не сброшен на «Default»

  11. Переустановите последние расширения Joomla 3.x поверх любых установленных расширений, особенно ChronoForms и любых действий ChronoForms, если у вас установлены какие-либо из них.

  12. Очистить кеш Joomla и кеш вашего веб-браузера

  13. В глобальной конфигурации установите для параметра «Отчет об ошибках» значение «Нет».

  14. Снова включите плагин «Система - Резервное копирование при обновлении», если установлена ​​Akeeba Backup.

  15. Повторно включите плагин "Система - Запомнить меня"

  16. Отключите плагин «Система - Joomla! Update Notification», чтобы отключить уведомления об обновлениях Joomla (необязательно)

  17. Удалите шаблоны Joomla 2.5 (атомарные, beez5, beez_20, bluestork)

  18. Включите контроль версий в Контенте -> Статьи -> Параметры -> Редактирование макета, если необходимо (контроль версий отключен по умолчанию)

  19. Отключите «Разрешить регистрацию пользователей» в «Пользователи» -> «Управление» -> «Параметры» -> «Параметры пользователя», если необходимо (это было включено по умолчанию в Joomla 2.5)

Шаг 11 важен для того, чтобы сценарии установки могли выполнять любые конкретные шаги Joomla 3, которые, возможно, не были выполнены при первоначальной установке в Joomla 2.5.

Не забудьте обновить версию PHP, если это необходимо. PHP 5.3 - это конец жизни, а PHP 5.6 или PHP 7.0 или новее - лучший выбор для Joomla 3.x.

Нил Робертсон
источник