Как всегда "спасибо" за развернутый ответ.
#32944 Trustmaster:
Совершенно неверно. Кнопка "Обновить" делает следующее:
-
Вычисляет разницу между установленной в базе версией плагина и версией setup-файла.
-
Удаляет текущие хукочасти плагина и устанавливает все заново. Это нужно, если в плагине появились новые части или если старые были удалены / изменилась мета-информация (например, используемые хуки).
-
Обновляет конфигурацию. Добавляет новые опции, если таковые появились. Удаляет опции, которые были удалены из плагина. Изменяет и сбрасывает те опции, для которых изменился тип. Остальные опции оставляет неизменными.
-
То же самое производит с конфигурацией структуры.
-
Обновляет маски Auth/lock для members и guests.
-
Выполняет PHP и SQL патчи из папки setup последовательно, исходя из различий установленной и новой версии.
-
Обновляет версию плагина в базе и очищает кеш.
Надо бы внести это описание в один из разделов документации, например в "администрирование". Я, например, слежу за выходом почти каждого обновления, а таких особенностей не знал.
По поводу предложений.
1. Это не нужно. Это не genoa и переустанавливать каждый раз не надо. Кнопка Update применяет разность между релизами, а не сносит всё и ставит заново. Для более тонких вещей, помимо конфигурации, хуков и авторизации, учитесь писать SQL и PHP патчи для перехода к новым версиям без потери данных. Примеров в стандартных модулях и плагинах предостаточно.
Понял.
2. Речь идёт полном контроле версий для каждого файла или о контроле версий для расширений целиком? Если второе, то это уже работает. Просто нужно добавить отображение обеих версий (установленная и текущая) и уведомление об обновлении в админке.
В таком случае, думаю, достаточно общей версии для расширения. Что касается версий каждого файла, то надо либо их упразднить, либо в "документации для разработчика плагинов" указать, что версии каждого файла существуют "для справки", а системой используется только "главная версия" из setup файла.
См. "Примечание для разработчиков расширений" здесь.
Спасибо. Надо продублировать в одной из файлов раздела: http://www.cotonti.com/ru/docs/ext/extensions/