Добро пожаловать на сайт SEDBY

Обновление Cotonti

Популярные запросы: тема Omnis, плагин Pagelist, Cotonti 0.9.24.2, ЧПУ, Font Face

  • 56 просмотров
  • 23 сентября, 2024
  • Обновлено: 25 сентября, 2024
  • admin
  • Время чтения: 4 минуты
  • 2 (Подробно)
Обновление Cotonti Siena: пошаговый урок

Обновление Cotonti Siena не является частой процедурой. Как правило, апдейты дистрибутива формируются всего 2-3 раза в год. Однако это не должно отпугивать пользователя, поскольку текущий срез обновляется довольно часто, и официальное обновление выходит при абсолютном отсутствии багов в минорных апдейтах и в самом движке вообще.

Откаты коммитов из-за багов явление в Cotonti настолько редкое, что найти таковой в истории сегодня весьма сложно.

Таким образом, обновлять движок вам понадобится в двух случаях:

  1. при выходе официального обновления,
  2. для обновления ядра и коробочных расширений из текущего среза разработки.

Наш совет: периодически, раз в две-три недели, обновляйте локальный репозиторий из официального репозитория 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 правильно

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

  1. Все папки, кроме datas (если extensions.php и mimetypes.php не изменялись, копируйте и ее) и themes
  2. Корневые файлы *.php и composer.* (все с расширением php и все с именем composer)

После перезаписи и выгрузки сборки на удаленный хост запустите скрипт установки:

https://domain.tld/install.php

Это необязательное действие. Он применит все обновления в файле настроек и базе данных (если таковые имеются). В любом случае это безопасно. При отсутствии ошибок вы получите соответствующее сообщение:

Сообщение об успешно выполненном обновлении Cotonti Siena
Cotonti Siena обновлена успешно

Оно означает, что с системой все в порядке. Файл install.php теперь можно (и нужно) удалить.

Переименование, перенос и удаление файлов и папок

Это довольно редкие ситуации, однако они периодически имеют место, и это необходимо учитывать при обновлении Cotonti:

  • Желательно отслеживать переносы и удаления. При простой перезаписи они останутся в старой локации и/или не будут удалены. Пример – недавние манипуляции с Composer'ом и перенос дефолтного аватара. Внимательно читайте описание релиза и не забывайте удалять то, что должно быть удалено (хотя ошибок это не вызовет).
  • В одном из предыдущих релизов файлы cot.php и resources.php были переименованы в Cot.php и Resources.php соответственно. Система Git (а возможно и FTP-клиенты) могут не дифференцировать регистр в таких случаях. Если переименования не происходит, сперва удалите старый файл, и тогда новый будет скопирован с правильным регистром.

Заключение

Зная какие папки и файлы можно безопасно перезаписывать для обновления сборки Cotonti Siena, вы сведете обновление к простой рутине, занимающей не более 5 минут. Запуск install.php в нашем алгоритме не обязателен, однако это полезный индикатор того, что все обновления (предыдущие и текущие) применены правильно, и ошибки в дистрибутивной части вашей сборки отсутствуют.

В предыдущей публикации мы рассказывали о том, зачем необходим проектный плагин.

Новый комментарий

Имя:
Для редактирования комментария осталось 10 минут
Блок пользователя
Регистрация на нашем сайте позволит вам общаться на форумах и получить доступ к другому полезному функционалу
Вы вошли как Гость