Кнопка переустановки в инсталлере.

11

Инсталлер иногда ошибается и не докачивает по таймауту некоторые обновления. 

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


Потом клиент пишет в поддержку с истерикой: "Я пять лет накапливал данные о клиентах, заказах итд, переустановил плагин и все данные пропали! Что делать?". Ведь его даже не предупреждает инсталлер о том, что все данные удалятся. Такими темпами не далеко и до судебных исков к разработчику плагина или к разработчику движка. И они будут правы.


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

5 комментариев

  • +1

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

    Согласен, что нужно сделать его более заметным. Сделаем в следующих обновлениях.

    Но что вы имеете ввиду под "недеструктивной переустановкой плагинов"? Просто скачать последнюю версию кода, не трогая мета-обновления? Решит ли это хоть какую-то проблему? Скорее, приведет к рассинхрону БД и кода и непредсказуемым последствиям.

    • +3
      Игорь Гапонов Игорь Гапонов 3 апреля 2020 11:00 #

      Я получил за последние 3 дня несколько обращений о неработоспособности плагина после обновления. Оказалось, что при обновлении не перезаписались некоторые файлы. Кто-то в Облаке, кто-то нет. Народ тратил время на то, чтобы настроить плагин. Я в свою очередь могу посоветовать лишь переустановить плагин с потерей всех данных. 

      Полагаю, что ITFrogs имеет ввиду обновление всего кода без изменения БД. Можно даже запустить метаобновления по-новой, рассинхрона быть не должно, потому что ВА настоятельно советует писать метаобновления так, чтобы их можно было безопасно запускать любое кол-во раз.

      • +1
        Eugen Nichikov Eugen Nichikov 3 апреля 2020 11:37 #

        Ну мета-обновления по идее и не запустятся повторно: в БД записывается название файла (timestamp) последнего обновления, а потом при следующих проверках все обновления, раньше этого значения игнорируются.

        Так что это не проблема вовсе: удаляем файлы, заливаем новые => метаобновления не выполнятся, т.к. в БД уже есть нужная запись.

      • +1
        ITFrogs ITFrogs 3 апреля 2020 14:24 #

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


        Дело в том, что многие плагины существуют по много лет. Например мой плагин "Заметки о клиентах" установлен в большинстве магазинов уже много лет. Когда я последний раз делал на него обновление, оно затрагивало десятки тысяч записей в базе данных в некоторых магазинах и естественно не успевало отработать до конца. В этом случае помогло бы если бы была переустановка плагина с повторным запуском метаобновлений.


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


        Напишу немного грубо, но от души:

        Студент Вася, который написал свой первый Hello World месяц назад уже бы давно сделал нормальное решение для обновлений. Перестаньте откладывать это на потом и сделайте уже наконец нормальный инсталлер. А то обновили иконки, переставили местами кнопочки, а самое главное оставили как было шесть лет назад.

      • +1
        Eugen Nichikov Eugen Nichikov 3 апреля 2020 11:41 #

        Решается проблема другого рода: когда по ошибке остаются старые файлы (например, перенесли в другой каталог без соответствующего мета-обновления), которые иногда могут грузиться вместо новых.

        А БД если уже по какой-то причине имеет некорректную структуру относительно последней версии файлов из Инсталлера, то в любом случае поможет лишь полная переустановка. И, наоборот, если БД правильная, а файлы - нет, то поможет решение ITFrogs.

        Добавить комментарий

        Чтобы добавить комментарий, зарегистрируйтесь или войдите