Задать вопрос
@DemonIa

Как опубликовать обновление плагина для WP, если он не имеет обратной совместимости?

Здравствуйте.
Я разработчик плагина под WP, и в версии 1.х этого плагина (которая успешно работает уже больше года) есть аудитория в пару сотен человек.

Но, версия 1.х имеет ряд проблем, и для их решения было принято решение переделать все почти с нуля. Другой принцип работы, иной способ ввода и хранения данных в БД и так далее.

Теперь получается, что если я код версии 2.x закину в WP Directory, людям придет уведомление о новой версии, они обновятся, и все те настройки, которые работали раньше - работать перестанут, а в БД останется куча "мертвого груза".

Я вижу такое решение: опубликовать плагин версии 2.х под новым именем, как другой проект, и в версии 1.x дать ссылку на него. Пусть удаляют 1.х, качают 2.х, и настраивают заново.

Но это очень неудобно для пользователей. Да и мне не охота создавать новый плагин, снова проходить ревью и все такое.

Может есть какое-то изящное решение? Типа я могу где-то указать, что апдейт ломает обратную совместимость, и люди при обновлении увидят это уведомление, и уже будут принимать решение: обновляться или нет.
  • Вопрос задан
  • 49 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
azerphoenix
@azerphoenix
Java Software Engineer
Я бы реализовал следующим способом.
1) Спокойно заливаете обновление в репозиторий
2) Либо как вам уже подсказали добавляете notice, с просьбой нажать на кнопку для запуска обновления или же после обновления плагина автоматически запускаете этот процесс.
3) адаптируете БД под новое обновление, удаляете старую таблицу
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
После обновления вешаете сверху админки нотис с уведомлением о необходимости обновить данные и кнопкой запуска обновления. По кнопке запускаете обновление. Например у WooCommerce так сделано
Ответ написан
Комментировать
twix007
@twix007
а убрать ненужное из бд при установке обновления плагина?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы