Рекомендации по обновлению программных продуктов с поддержкой Shop-Script 9

Начиная с 9-й версии Shop-Script доступен в виде двух вариантов — лицензий: «ПРО» и «ПРЕМИУМ».

У каждой лицензии свой набор возможностей: лицензия «ПРО» предоставляет пользователю базовую функциональность, а с лицензией «ПРЕМИУМ» пользователю доступны также:

  • возможность продавать дробное количество товаров, а не только целое;
  • возможность указывать произвольные единицы измерения количества товаров в дополнение к стандартным штукам.

Программные продукты, взаимодействующие с Shop-Script, — плагины, приложения и темы дизайна, — должны обязательно декларировать наличие или отсутствие поддержки расширенных возможностей согласно документации. Соблюдение этого требования будет проверяться модераторами при публикации всех таких продуктов и обновлений для них.

Продуктам, поддерживающим расширенные возможности «ПРЕМИУМ», будет отдаваться более высокий приоритет при представлении в магазине Webasyst и продвижении среди пользователей.

Предварительная версия Shop-Script 9 — на GitHub

Чтобы вы могли как можно раньше начать тестирование и подготовку своих программных продуктов к работе с Shop-Script 9, мы опубликовали на «ГитХабе» предварительные обновлённые версии Shop-Script, фреймворка Webasyst и темы дизайна «Гипермаркет»:

Приложения и плагины для Shop-Script и других приложений

Как узнать, требуется ли дополнительное обновление программного продукта, чтобы он правильно поддерживал возможности лицензии «ПРЕМИУМ»?

«Да», если выполнено любое из перечисленных условий:

  • Продукт использует поля таблиц базы данных, содержащие количество товаров (например, поля 'quantity'), которые также могут быть связаны с корзиной покупателя или заказами Shop-Script:
    • Раньше в таких полях могли храниться только целые числа, а при использовании лицензии «ПРЕМИУМ» могут храниться также дробные.
    • Раньше позиции заказа могли быть указаны только в штуках, а при использовании лицензии «ПРЕМИУМ» могут использоваться разные единицы измерения количества.

    Примеры функциональности продуктов: печатные формы, фискализация чеков, расчёт скидок.

  • Если продукт работает со складскими остатками товаров:
    • Раньше складские остатки были выражены только целыми числами, а при использовании лицензии «ПРЕМИУМ» могут использоваться также дробными остатки.
    • Раньше складские остатки считались только в штуках, а при использовании лицензии «ПРЕМИУМ» для хранения остатков могут использоваться разные единицы измерения количества.

    Примеры функциональности продуктов: синхронизация с системами складского учёта, экспорт каталога товаров во внешние торговые площадки, редактирование товаров.

«Нет» — во всех остальных случаях.

Перечисленные здесь условия приведены в качестве рекомендации. Разработчик каждого конкретного продукта должен постараться объективно оценить, может ли использование разных лицензий Shop-Script повлиять на его заявленную функциональность.

Плагины доставки и оплаты

Каждый плагин доставки или оплаты потребует хотя бы минимального тестирования или также доработки:

  • Убедитесь, что API платёжной системы или службы доставки принимает дробное количество товаров в позициях заказа. Если API принимает только целое количество товаров, то в логике работы плагина нужно изменить форматирование передаваемых данных:

    • дробное количество товара заменить на 1;
    • цену товара заменить на его общую стоимость в заказе;
    • к названию товара в составе заказа добавить в текстовом виде заказанное покупателем количество товара.

    Пример:

    • Покупатель заказал: Картофель: 2,5 кг х 36 руб.
    • Нужно передавать в API стороннего сервиса: Картофель (2,5 кг): 1 уп. х 90 руб.

    Подробнее об этом в документации.

  • Убедитесь, что API платёжной системы или службы доставки принимает информацию о единицах количества товаров в позициях заказа. Если API принимает обозначение единиц измерения и плагин ранее отправлял обозначение, соответствующее штукам (например, «шт.»), то в логике работы плагина нужно предусмотреть отправку разных единиц, которые могут быть указаны в свойствах позиций заказа. Подробнее об этом в документации.

Темы дизайна

Если необходимо добавить в тему дизайна для Shop-Script поддержку расширенных возможностей лицензии «ПРЕМИУМ», то требуется доработка темы, как описано в документации.

Поддержка лицензии «ПРЕМИУМ» не обязательна, но темам дизайна с поддержкой расширенных возможностей будет отдаваться приоритет при представлении в магазине Webasyst.

Возможно опубликовать в магазине Webasyst два варианта темы дизайна: с поддержкой лицензии «ПРЕМИУМ» и без неё. Разработчикам тем дизайна будут предоставлены специальные купоны для удобной продажи расширенного варианта темы пользователям базового варианта.

28 ответов

  • 10
    Syrnik.com 11 февраля 2022 15:13 #

    Про "приоритетное размещение в каталоге понятно".

    Проверка и доработка существующих продуктов могут потребовать серьезных затрат времени и сил. Когда будет возможность выпускать платные обновления плагинов либо подписка на их обновления?

    Если плагин поддерживает все функции "Премиум", то владельцы "Про" будут переплачивать за функционал плагина, которым никогда пользоваться не будут. Когда будет возможность публиковать разные "редакции" плагина для разных типов лицензий? Теоретически и сейчас можно делать два разных продукта, но было бы желательно иметь возможность из хотя бы на карточке продукта в маркете объединять. А также за доплату мигрировать с "плагина про" на "плагин премиум".

    • +3
      Михаил Ушенин Михаил Ушенин Webasyst 11 февраля 2022 18:09 #

      Проверка и доработка существующих продуктов могут потребовать серьезных затрат времени и сил. Когда будет возможность выпускать платные обновления плагинов либо подписка на их обновления?

      Пока что у нас нет ясности по этому вопросу. Будем думать — спасибо за замечание.

      • +2
        Syrnik.com Syrnik.com 13 февраля 2022 00:54 #

        "Покупка навсегда" vs "Аренда на год" это немного не то. 

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

        Как у phpStorm. Даже если я не оплатил продление обновлений, лицензия у меня остаётся и я всегда могу загрузить версию ту, что я оплатил. 

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 11 февраля 2022 18:12 #

      Если плагин поддерживает все функции "Премиум", то владельцы "Про" будут переплачивать за функционал плагина, которым никогда пользоваться не будут. Когда будет возможность публиковать разные "редакции" плагина для разных типов лицензий? Теоретически и сейчас можно делать два разных продукта, но было бы желательно иметь возможность из хотя бы на карточке продукта в маркете объединять. А также за доплату мигрировать с "плагина про" на "плагин премиум".

      Сейчас пока что можно опубликовать два продукта: один с поддержкой возможностей «ПРЕМИУМ», а другой — без такой поддержки. В единую карточку в ближайшее время объединять их не получится, но за предложение рассмотрим, спасибо.

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

  • 5
    waResearchLab 11 февраля 2022 15:16 #

    Не совсем понятно как соотносятся этот абзац

    Продуктам, поддерживающим расширенные возможности «ПРЕМИУМ», будет отдаваться более высокий приоритет при представлении в магазине Webasyst и продвижении среди пользователей.

    и абзац из документации:

    Модераторы магазина Webasyst могут на своё усмотрение присвоить программному продукту один из специальных тегов и таким образом пометить продукт как ..... Специальные теги имеют наивысший приоритет над любыми значениями в конфигурационных файлах продукта.

    Поясню что именно непонятно.

    Сейчас в маркете у продуктов есть ряд тегов. Возьмем те, которые предоставляют приоритет: featured, homepage. Исходя из первого абзаца я делаю вывод что продукт обладающий поддержкой версии Премиум и имеющий, например, тег featured будет отображаться "выше" чем продукт с тегом featured, но без поддержки версии Премиум. Хорошо. Тут вопросов нет.

    Но читаю второй абзац, и начинаю непонимать: получается, если продукту будет проставлен некий тег (назовем его premium), то этот продукт будет "выше" даже тех продуктов, которые имеют тег featured и заявлена поддержка версии Премиум. А что будет являться критерием простановки такого тега? Да, я понимаю: на усмотрение модератора. Но это усмотрение должно же хоть на чем-то основываться? В поддержке версии Премиум нет ничего сверхсложного (если верить описанию). Поэтому продукт либо будет поддерживать полностью, либо не будет поддерживать вовсе. Частично - это будет скорее исключением. Тогда что будет являться критерием, памятуя о тегах featured? Для чего нужен этот новый тег? Если у продукта заявлена поддержка версии Премиум и он имеет тег featured, то что может являться основанием для того, чтобы некий иной продукт с заявленной поддержкой версии Премиум, но не имеющий например тега featured, представлялся бы в маркете WA на более выгодных позициях?


    • 0
      Михаил Ушенин Михаил Ушенин Webasyst 11 февраля 2022 18:17 #

      Информацию о специальных тегах нашим партнёрам не получится использовать для специального продвижения своих продуктов. Информацию об этом добавили в статью, чтобы заранее ответить на вопросы о том, почему некоторые продукты отмечены в магазине как совместимые с возможностями «ПРЕМИУМ», хотя не декларируют такую поддержку. Считайте это просто неким внутренним инструментом модераторов, о существовании которого мы вам рассказали, чтобы ситуация выглядела максимально прозрачно (насколько это возможно при возможности «необъяснимой» расстановки специальных тегов модераторами). В общем, не обращайте внимания, но имейте в виду :)

  • 2
    chikurov-seo 11 февраля 2022 18:37 #

    Что делать разработчикам продуктов, которые в принципе не используют поля таблиц базы данных, содержащие количество товаров и не работают со складскими остатками товаров? Я правильно понимаю, что они теперь априори будут хуже ранжироваться в маркете WA в сравнении с продуктами, которые используют вышеперечисленные возможности и получили тег "premium"?

    • +1
      Westering Studio Westering Studio 11 февраля 2022 20:31 #

      Так же не понятно, как реагировать если плагин использует поле quantity лишь для понимания есть товар в наличии или нет

      • +1
        waResearchLab waResearchLab 11 февраля 2022 20:49 #

        Из документации:

        Программный продукт должен содержать конфигурационный файл shop_support.json следующего формата:

        Т.е. вне зависимости использует ваш продукт что-либо, или нет.

        Как я понял для себя, если продукт ничего из перечисленного не использует - просто добавляем этот файл с объявленной полной поддержкой.

  • 5
    Koin 11 февраля 2022 19:44 #

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

  • 2
    Westering Studio 11 февраля 2022 20:33 #

    Каким образом в dev установке активируется ПРЕМИУМ лицензия?

  • 3
    dfysbu 11 февраля 2022 20:49 #

    Подскажите а когда ждать выход версии Shop-Script 9 с возможностью продавать дробное количество товаров?

  • 4
    Евгений Леман 11 февраля 2022 22:31 #

    Может я тупой, но я ничего не понял. Спросил у коллеги, но он тоже ничего не понял.

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

    У меня 2 главных вопроса:

    1. Будет ли тема, переделанная под премиум, иметь обратную совместимость с ПРО? Детально не разбирался, но выглядит так, что совместимость эту можно получить лишь тупо задублировав весь product.js/html. Что не является обратной совместимостью.

    2. Как будут работать эти купоны? Я сам могу установить любую стоимость для обновления через такой купон? Мне эти купоны создавать самому и раздавать людям по запросу? Будет ли вебасист забирать процент с обновления через купон? Зачем вообще нужны какие-то купоны, если они работают только для продукта Х при наличии лицензии на продукт У. Ведь достаточно стороннему разработчику рядом с полем цены продукта добавить динамические поля "условие/цена", где "условие" - наличие лицензии другого продукта. И не нужно никаких купонов запрашивать. Для конечного потребителя это выглядит как лишний шаг, который всё усложняет.

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

  • 5
    Anton F 11 февраля 2022 22:37 #
    лицензий: «ПРО» и «ПРЕМИУМ»

    Звучит как-то странно, логичнее было бы назвать из "Базовая" и "Расширенная".

    Стоит тогда ввести отдельную ветку для тем и плагинов с поддержкой расширенного функционала чтобы мотивировать разработчиков продажами на выпуск новых версий и не захламлять магазин копиями имеющихся продуктов, которые неизбежно появятся, если WA будет развиваться по описанной Михаилом модели.

  • 1
    Syrnik.com 12 февраля 2022 02:08 #

    Есть ещё предложение.

    В честь выхода новой мажорной версии Shop-Script увеличить минимальную требуемую версию PHP до 8.1

    • +1
      Anton F Anton F 12 февраля 2022 12:45 #

       пока что стоит ограничится 7.2 - PHP Versions Stats - 2021

      переход на последнюю версию потребует серьезного обновления кода

  • 1
    Алексей | shop-script.org 13 февраля 2022 05:05 #

    А что вообще с переходом Shop-Script 8 -> Shop-Script 9 ?
    Лицензии Shop-Script 8 - 
    автоматически станут лицензиями Shop-Script 9 Pro с возможностью апгрейда до 9 Premium?
    Или нужно будет доплачивать за переход? Или будет как-то по другому?

    В основном интересует, что будет с еще не активированными лицензиями Shop-Script 8.

  • 1
    Евгений 13 февраля 2022 20:30 #

    поставил 9 версию, а вот как активировать новые возможности, нигде не описано, кроме рекламной ссылки https://disk.yandex.ru/i/nt6J1...

    Напишите инструкцию

    • +1
      Anton F Anton F 13 февраля 2022 20:36 #

      да в этой же теме и написано...

      • +1
        Евгений Евгений 14 февраля 2022 11:32 #

        Написано ставьте dev - webasyst&shop-script, а dev это видимо PRO, где нет ничего нового, а при выборе ветки shop_frac последнее обновление 20 числа, не похоже, что какая-то новая разработка, но при установке вроде появляются новые пункты в настройках...

  • 1
    waResearchLab 17 февраля 2022 15:10 #

    Михаил, скажите, а почему совместимость с 9 версией должна объявляться в отдельном файле, а не как было всегда - в plugin.php|app.php ?  Для этого есть какие-то объективные причины?

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 17 февраля 2022 15:47 #

      Конечно, они есть. Мы не стали бы требовать создавать новый файл при наличии уже существующего, в целом почти подходящего для этих целей.

      У вас возникают какие-то сложности с добавлением файла?

      • +1
        waResearchLab waResearchLab 17 февраля 2022 16:04 #

        Да. Меня начинает преследовать ощущение бардака, а бардак в IT я очень не люблю =)

        Причины, конечно же, не назовете? )

        Хорошо, придется принять и следовать. Спасибо.

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

        cli.php createPlugin | createApp

        • +1
          Anton F Anton F 21 февраля 2022 03:00 #

          в приложениях он не нужен, как во всех дополнения включительно. Вы можете добавить shop_support.json в dummy плагин/тему/виджет магазина (как и любой другой файл) и генерировать новые продукты на его основе.

          update: пардоньте, оказывается prototype можно указать только для системных плагинов и тем.

      • +1
        Anton F Anton F 21 февраля 2022 02:53 #

        а для плагинов доставки/оплаты почему-то не потребовался отдельного файл (: все указывается в plugin.php и прекрасно работает (надеюсь)

Добавить ответ

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