Forums / National / Russian / Идеи / Админка: переустановка / обновление плагинов (реализовано).

возможность переустановить плагин в один клик и прочее...

Macik
#33024 2012-02-03 11:48

Как всегда "спасибо" за развернутый ответ.

#32944 Trustmaster:

Совершенно неверно. Кнопка "Обновить" делает следующее:

  1. Вычисляет разницу между установленной в базе версией плагина и версией setup-файла.
  2. Удаляет текущие хукочасти плагина и устанавливает все заново. Это нужно, если в плагине появились новые части или если старые были удалены / изменилась мета-информация (например, используемые хуки).
  3. Обновляет конфигурацию. Добавляет новые опции, если таковые появились. Удаляет опции, которые были удалены из плагина. Изменяет и сбрасывает те опции, для которых изменился тип. Остальные опции оставляет неизменными.
  4. То же самое производит с конфигурацией структуры.
  5. Обновляет маски Auth/lock для members и guests.
  6. Выполняет PHP и SQL патчи из папки setup последовательно, исходя из различий установленной и новой версии.
  7. Обновляет версию плагина в базе и очищает кеш.

Надо бы внести это описание в один из разделов документации, например в "администрирование". Я, например, слежу за выходом почти каждого обновления, а таких особенностей не знал.

По поводу предложений.

1. Это не нужно. Это не genoa и переустанавливать каждый раз не надо. Кнопка Update применяет разность между релизами, а не сносит всё и ставит заново. Для более тонких вещей, помимо конфигурации, хуков и авторизации, учитесь писать SQL и PHP патчи для перехода к новым версиям без потери данных. Примеров в стандартных модулях и плагинах предостаточно.

Понял.

2. Речь идёт полном контроле версий для каждого файла или о контроле версий для расширений целиком? Если второе, то это уже работает. Просто нужно добавить отображение обеих версий (установленная и текущая) и уведомление об обновлении в админке.

В таком случае, думаю, достаточно общей версии для расширения. Что касается версий каждого файла, то надо либо их упразднить, либо в "документации для разработчика плагинов" указать, что версии каждого файла существуют "для справки", а системой используется только "главная версия" из setup файла.

См. "Примечание для разработчиков расширений" здесь.

Спасибо. Надо продублировать в одной из файлов раздела: http://www.cotonti.com/ru/docs/ext/extensions/

 

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F