Вопрос версионности (ц) плагинов

Евгений Леман

В блоге этот вопрос поднял, но там вряд ли дадут ответ. Да и не все сторонние разработчики читают комментарии, а этот вопрос касается их, а не меня.
Очевидно, что далеко не все клиенты будут платить и обновляться до 7 версии. А что, если разработчик захочет проапгрейдить свой плагин и ввести новые функции, которые будут корректно работать лишь в SS7? Такое вполне может произойти. Казалось бы, всё просто - заявить 7 версию в минимальные требования, НО!.. А что, если находится весомый баг в прошлых версиях? Оставлять клиентов с этим косяком и заставлять их платить 5к только для того, чтобы они могли обновить 1 несчастный плагин? Звучит, как кидалово. А такое вполне может быть. Иногда узнаешь о таких багах в своих продуктах, что не можешь понять, как никто этого раньше не замечал. Хотя понимаешь, что он там был изначально с первой версии, выпущенной еще 2 года назад. В примерах смысла не вижу, wa-guys на собственном опыте это знают.

16 марта 2016
  • Syrnik.com 16 марта 2016 05:33

    Это очень животрепещущий вопрос. Думаю, что многие останутся на 5/6 версии. Сейчас до сих пор еще встречаются пользователи WebAsyst Shop-Script 2xx-3xx, есть пользователи с лета не обновлявшие Shop-Script 5/6 — а уж те, кто не захочет платно обновляться наверняка найдутся.

    Мне две ветки с разными версиями держать не трудно. А вот в магазине приложений такого не разместить.

    Что им, критические обновления, вручную рассылать/устанавливать? :-/

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

    Если старому плагину для новых фич нужен функционал, который есть только в 7, плагин обязан аккуратно проверять, на какой версии он установлен, и не использовать новые функции, если их нет. Соответственно, на 6 версии магазина этих новых фич плагина не будет.

    Сложно представить, что один из старых плагинов нам захочется кардинально переписать для 7, так что на 6 он совсем перестанет работать. Если такое случится, будет одно из двух. Либо появится новый плагин, с новым id'шником, который будет опубликован только для 7 версии. Либо (что наименее вероятно) будет объявлено, что поддержка этого плагина для 6 версии больше не оказывается и обновления не выпускаются. Как это однажды было, например, со старыми версиями магазина Pro и Premium, ещё до фреймворка и Shop-Script 5.

  • Евгений Леман 16 марта 2016 07:55

    Надо бы сохранить последнюю 6-ку, чтобы в будущем тесты проводить. А то потом не вспомнится, что было тогда, а что стало только сейчас :)

    PS проблемы таки будут. Добавится какая-нибудь новая фича для theme.xml, разработчик темы её использует и... Там то проверить версию никак :)

  • Гитхаб всё помнит :)

    С theme.xml вроде не должно быть проблем. Изменения в DTD'шке влияют на все темы сразу и не привязаны к версии магазина.

  • Syrnik.com 16 марта 2016 10:21

    Сделаю так. Если будет требоваться какой-либо новый функционал, форкну "версию для 6" в отдельную ветку и оставлю так. У плагина сделаю новую мажорную версию, в requirements которой укажу 7+.

    • Критические патчи можно будет в инд. порядке отправить
    • С облачниками вообще шесть пик — они принудительно на 7 переходят
    • У остальных будет доп. стимул для перехода.

    Минус: денег за апдейт не получить :/

    P. S. Очень интересуют планируемые изменения в workflow оформления заказа.

  • waResearchLab 16 марта 2016 10:44

    И в инсталлере тех у кого осталась 6 версия будет постоянный шум о наличии обновлений которые им не предназначены? Неправильно как-то...

    Кстати, на счет обновлений и требований к версии... Могу ошибаться, но по-моему разок видел ситуацию, суть которой сводится к следующему: если в перечне доступных обновлений есть обновление которое по тем или иным причинам нельзя установить (ну например curl отсутствует а в требованиях есть), то сколько не жми кнопку Установить все - ничего не получится, установится только часть обновлений. И в итоге каждое обновление приходится устанавливать руками. Перепроверять уж не стал, но впечатление сложилось именно такое.

    В свете 7 версии, ее новых возможностей, и не обязательного на нее перехода, это может стать не большой но проблемой.

  • эта ошибка имела место быть, но уже исправлена.



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