Обновление Cotonti
Популярные запросы: тема Omnis, плагин Pagelist, Cotonti 0.9.24.2, ЧПУ, Font Face
- 56 просмотров
- 23 сентября, 2024
- Обновлено: 25 сентября, 2024
- admin
- Время чтения: 4 минуты
- 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 могут иметь важные обновления и должны быть перезаписаны из обновленного дистрибутива.
- 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 и composer.* (все с расширением 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 в нашем алгоритме не обязателен, однако это полезный индикатор того, что все обновления (предыдущие и текущие) применены правильно, и ошибки в дистрибутивной части вашей сборки отсутствуют.
В предыдущей публикации мы рассказывали о том, зачем необходим проектный плагин.
Новый комментарий