Как Cotonti обновляет расширения
Вы, вероятно, читали об обновлениях в Cotonti и знаете, как обновлять систему в целом. В этой статье обновление расширений рассматривается подробно. Слово "расширение" означает "модуль или плагин" в Cotonti.
1. Когда расширения обновляются
Расширения обновляются в двух случаях:
-
Когда вы запускаете скрипт install.php, чтобы обновить вашу систему, как описано здесь. В этом случае скрипт обновления проверяет версии всех установленных расширений и версии setup-файлов на диске и обновляет только те из них, для которых доступна более новая версия (по номеру версии).
-
Когда вы нажимаете на кнопку "Обновить" в Администрировании => Расширениях => Extension_name. В этом случае система пытается обновить расширение вне зависимости от установленной и доступной версий.
Строго рекомендуется использовать функцию "Обновить" вместо переустановки расширений. Переустановка была необходима в Seditio и Cotonti 0.6, но более не нужна. Обновление работает гораздо разумнее.
2. Процесс обновления отдельного расширения
Для каждого обновляемого расширения Cotonti выполняет следующее:
-
Вычисляет разницу между установленной в базе версией расшерения и версией setup-файла (extension_name.setup.php).
-
Удаляет текущие хукочасти расширения и устанавливает все заново. Это нужно, если в расширении появились новые части или если старые были удалены / изменилась мета-информация (например, используемые хуки).
-
Обновляет конфигурацию. Добавляет новые опции, если таковые появились. Удаляет опции, которые были удалены из расширения. Изменяет и сбрасывает те опции, для которых изменился тип. Остальные опции оставляет неизменными.
-
То же самое производит с конфигурацией структуры.
-
Обновляет маски Auth/Lock для групп 'members' и 'guests'.
-
Выполняет PHP и SQL патчи из папки setup последовательно, исходя из различий установленной и новой версии.
-
Обновляет версию плагина в базе и очищает кеш.
Комментарии отсутствуют
Для этого элемента нельзя добавлять комментарии