Обновление с версии 1.1.1 бета до 1.3.0

Все таки пришлось обновить систему. После обновления в протоколе событий выдает только сообщение:
$modx->mergeDocumentMETATags() is deprecated function

X:/home/localhost/www/manager/includes/document.parser.class.inc.php(line:2063)

В административной панели не выводит сниппеты, то есть если выбрать элемент сниппет то видим:


Но в окне сниппеты не показываются.

Если из выпадающего списка выбрать сниппет для редактирования то переходим на страницу редактирования сниппета, но в списке показывается только первые 20 сниппетов.
_______________________________________________________________
Еще в старых плагинах и сниппетах есть такая строчка
$modx->autoload->addDirAutoload($path, 'imgResize'); //параметры разные
которая вызывает ошибку
Fatal error: Call to a member function addDirAutoload() on a non-object in X:\home\localhost\www\assets\plugins\tvimageresizer\TVimageResizer.inc.php on line 18
Или такую
Fatal error: Call to a member function addDirAutoload() on a non-object in X:\home\localhost\www\assets\snippets\SEO\Title.inc.php on line 6

5 комментариев

avatar
Я обновлял в несколько этапов, сначала до версии 1.2.1, потом до версии 1.3.6, далее до последней версии 1.4.0 RC 2,
При обновлении до версии 1.2.1 и выше можно и нужно выбирать версию php 5.4, после обнвовления до 1.4.0 RC2 php 5.6 и выше, также возможно в настройках, если будут проблемы с базой можно поставить mysql вместо mysqli. Сниппеты нужно обновить через extras. В конфигурации, вкладка безопасность выставить Обнаружение ошибок Php на «Игнорировать предупреждения о незначительных ошибках». Последняя версия — здесь. Вот небольшая инструкция по обновлению:

1. Делаем бекапы файлов и базы данных
2. Скачиваем последнюю версию MODX Evolution
3. Переименовываем системные папки
Переименовываем папки assets и manager в assets_old и manager_old соответственно. Мы это делаем для того, чтобы лишний раз не заливать эти папки и файлы обратно, если в процессе обновления что то пойдет не так.
4. Сохраняем файл config.inc.php
Сохраняем на рабочий стол файл config.inc.php, который лежит в папке manager(ну теперь уже manager_old)/includes нашего сайта
5. Заливаем файлы на сервер
Из скаченного архива заливаем папки assets, manager, install и файл index.php в корень нашего сайта на Modx Evolution. Файл index.php заменяем.
6. Заливаем в папку manager файл config.inc.php
В новую папку manager нужно залить конфигурационный файл config.inc.php с настройками подключения к нашей базе данных, чтобы дать понять установщику MODX, что мы делаем обновление, а не новую установку
7. Открываем сайт и нажимаем install
Открываем главную страницу нашего сайта и нажимаем на ссылку install now
8. Следуем инструкции по обновлению
Мы увидим начальную страницу установки, выбираем русский язык и нажимаем далее (next)
9. Выбираем Обновление существующей установки
Так как, мы залили в папку manager конфигурационный файл config.inc.php, у нас уже будет автоматически выбрано «Обновление»
10. Устанавливаем все дополнения
Здесь оставляем все как есть, если только вы не переименовывали сниппеты и плагины. Если так, то не обновляйте, те дополнения, в которые вносили существенные изменения
11. Согласиться с условиями лицензии и приступить к установке
Программа проверит возможности вашего сервера, а Вам нужно согласиться с условиями лицензии и нажать кнопку «Установить»
12. Установка успешно завершена
Установочник проинформирует Вас о том, что было обновлено, а что было установлено. На пункте «удалить папку и файлы программы установки с моего сайта» ставим галочку (хотя она будет стоять уже по умолчанию) и нажимаем кнопку «Закрыть»
13. Заходим в админку
Видим долгожданную форму захода в админку, только с обновленным дизайном. Радуемся. Заходим по прежнему логину и паролю
14. Заходим на сайт
Заходим на сам и сайт и видим не очень приятную картину. MODX ругается «MODX encountered the following error while attempting to parse the requested resource:». Не расстраиваемся, все нормально, просто некоторых дополнений, которые мы устанавливали дополнительно от стандартных плагинов и сниппетов у нас нет в папке assets, так как она новая.
15. Докачиваем дополнения из assets_old в assets
Скачиваем на рабочий стол папку assets_old. Открываем на сайте новую папку assets/snippets и сверяем ее с папкой assets_old/snippets. Проверяем каждый сниппет в папке assets_old, и если какого то нет в папке assets, закачиваем его туда. У меня получилась вот такая картина

С плагинами и модулями делаем тоже самое. Заходим в папку assets_old/plugins и сверяем ее с папкой assets/plugins, аналогично с модулями: assets_old/modules/ с assets/modules. Чего не хватает — заливаем.

16. Изображения и файлы сайта

Аналогично сниппетам, модулям и плагинам заливаем изображения и файлы из папок assets_old/images и assets_old/files в assets/images и assets/files соответственно.

Если у вас в папке assets были еще какие либо файлы или папки, их тоже нужно скопировать в новую assets. У меня были файлы только в images и files

17. Открываем сайт и радуемся

Обновление прошло успешно. Папки manager_old и assets_old можно удалить. Вы получили обновленный дизайн админки, улучшенную работу скриптов и плагинов системы, ускоренную работу CMS Evolution и самое главное БОЛЕЕ ВЫСОКУЮ БЕЗОПАСНОСТЬ по сравнениею с предыдущими версиями.

Плагин Tinymce после смены на 4 версию можно удалить из админки и потом с хостинга. Ajax search желательно тоже удалить в целях безопасности, а также файл index-ajax.php в корне сайта.
Комментарий отредактирован 2017-12-07 17:18:18 пользователем Forget
avatar
Сниппеты нужно обновить через extras.
Это как? Можно поподробнее.
avatar
Заходите в модуль extras, выбираете нужный вам компонент и устанавливаете… Если у вас его нет можно установить вручную, прежнюю версию под названием store
avatar
Установка производилась почту так же. При установке на любую версию, что на 1.2.0 что на 1.2.1 и т.д. Меню со сниппетами не выводит. Но в окне где дерево сайта там сниппеты есть.
Ошибка я так думаю кроится в js. Так как только что заметила кучу ошибок:
Uncaught TypeError: jQuery(...).quicksearch is not a function
at initQuicksearch (index.php?a=1&f=tree:1076)
at index.php?a=1&f=tree:1386

Решила попробовать настроить сайт на версии 1.2.1 а потом уже обновлять выше.
Что же касается последней проблемы, оказалось что предыдущий админ сайта полностью переделал файл index.php и еще некоторые файлы. Он добавил в $modx метод addDirAutoload и другие изменения. Если решу проблему с выводом сниппетов в админ части попробую отключить его написанные снипетты, или переписать их.
Комментарий отредактирован 2017-12-08 08:02:15 пользователем sonchik
avatar
Ошибки JS были исправлены, но вкладка сниппетов не появилась.
При открытии самого сайта выводит
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.