Обновление Cotonti
Популярные запросы: Open Graph, плагин Reading Time, тема Quebec, плагин Telegram, набор иконок Analogue
- 442 просмотра +1
- 23 сентября, 2024
- Обновлено: 4 декабря, 2025
- admin
- Время чтения: 5 минут
- 2 (Подробно)
Обновление Cotonti Siena не является частой процедурой. Как правило, апдейты дистрибутива формируются всего 2-3 раза в год. Однако это не должно отпугивать пользователя, поскольку текущий срез обновляется довольно часто, и официальное обновление выходит при абсолютном отсутствии багов в минорных апдейтах и в самом движке вообще.
Откаты коммитов из-за багов явление в Cotonti настолько редкое, что найти таковой в истории сегодня весьма сложно.
Таким образом, обновлять движок вам понадобится в двух случаях:
- при выходе официального обновления,
- для обновления ядра и коробочных расширений из текущего среза разработки.
Наш совет: периодически, раз в две-три недели, обновляйте локальный репозиторий из официального репозитория Cotonti и применяйте текущие обновления к своему проекту. Это вполне безопасно. И обязательно обновляйтесь при выходе нового официального релиза.
Что и как надо обновлять
Если вы следуете официальной идеологии Cotonti и не используете хаков ядра или расширений из дистрибутива, обновление будет простым и быстрым. Ведь коробочный комплект файлов и папок никак не пересекается с развернутым рабочим проектом. Впрочем, давайте проверим.
- папка
datasсодержит в себе 6 служебных подпапок, в которых находятся файлы-заглушки, а также образец файла настроек config-sample.php, extensions.php и mimetypes.php; - папка
imagesсодержит 4 подпапки (filetypesдля иконок расширений файлов,flagsдля флагов стран,iconsдля наборов иконок,smiliesдля смайликов) плюс файлы pixel.gif, spinner.gif и blank-avatar.png – все это используется в модельных шаблонах и никогда не перезапишет ваши эдд-оны; - в папке
jsхранятся стандартные скрипты и библиотека jQuery: все это можно отключить в админке и реализовать через кастомную тему, перезаписывайте смело; - папка
langслужит для хранения штатных lang-файлов локализаций и не предполагает их изменение пользователем; - в папке
libразмещается PHP Composer и две типовые библиотеки для минификации JavaScript- и CSS-файлов; - папки
modulesиpluginsслужат для хранения коробочных модулей и плагинов соответственно: при отсутствии хаков смело перезаписывайте их содержимое, поскольку кастомные расширения это не затронет; - папка
setupнеобходима для обновления движка, поэтому ее перезапись даже обязательна; - папка
systemсодержит системные файлы, необходимые для функционирования движка, и единственным нештатным файлом в ней может быть только functions.custom.php.
Последняя в списке папка themes нам точно не понадобится, поскольку в ней вы уже должны были разместить собственную frontend (и backend) тему. Ее смело пропускаем.
Теперь пройдемся по файлам в корневой папке:
- .gitattributes и .gitignore необходимы для СУВ Git. Они используются локально и могут модифицироваться пользователем – пропускаем.
- sef-urls.nginx.conf и sef-urls.htaccess являются модельными файлами для nginx.conf и .htaccess соответственно. Вы уже наверняка создали и настроили собственные – пропускаем.
- favicon.ico (и apple-touch-icon.png) у вас наверняка уже созданы собственные – пропускаем.
composer.jsonиcomposer.lockпропускаем если вы устанавливали библиотеки с помощью пакетного менеджера зависимостей Composer.- readme.md (а также install.txt и license.txt) пропускаем – и так все понятно.
- admin.php, index.php, install.php, login.php, message.php и rc.php необходимо перезаписать новыми файлами.
- robots.txt вы уже наверняка отредактировали под свой проект – пропускаем.
Теперь резюмируем все вышесказанное и выведем простой алгоритм обновления:
Обновляем Cotonti правильно
Исходя из всего сказанного выше, при обновлении необходимо перезаписать:
- Все папки, кроме
datas(если extensions.php и mimetypes.php не изменялись, копируйте и ее) иthemes - Корневые файлы *.php (все с расширением php)
- Корневые файлы менеджера пакетов Composer обновляем только это явно указано в описании к релизу
После перезаписи и выгрузки сборки на удаленный хост запустите скрипт установки:
https://domain.tld/install.php
Это необязательное действие. Он применит все обновления в файле настроек и базе данных (если таковые имеются). В любом случае это безопасно. При отсутствии ошибок вы получите соответствующее сообщение:
Оно означает, что с системой все в порядке. Файл install.php теперь можно (и нужно) удалить.
Переименование, перенос и удаление файлов и папок
Это довольно редкие ситуации, однако они периодически имеют место, и это необходимо учитывать при обновлении Cotonti:
- Желательно отслеживать переносы и удаления. При простой перезаписи они останутся в старой локации и/или не будут удалены. Пример – недавние манипуляции с Composer'ом и перенос дефолтного аватара. Внимательно читайте описание релиза и не забывайте удалять то, что должно быть удалено (хотя ошибок это не вызовет).
- В одном из предыдущих релизов файлы cot.php и resources.php были переименованы в Cot.php и Resources.php соответственно. Система Git (а возможно и FTP-клиенты) могут не дифференцировать регистр при перезаписи. Если переименования не происходит, сперва удалите старый файл, и тогда новый будет скопирован с правильным регистром.
Заключение
Зная какие папки и файлы можно безопасно перезаписывать для обновления сборки Cotonti Siena, вы сведете обновление к простой рутине, занимающей не более 5 минут. Запуск install.php в нашем алгоритме не обязателен, однако это полезный индикатор того, что все обновления (предыдущие и текущие) применены правильно, и ошибки в дистрибутивной части вашей сборки отсутствуют.
В предыдущей публикации мы рассказывали о том, зачем необходим проектный плагин.
Новый комментарий
Ошибка
Выполнено