0

Товар успешно добавлен в корзину

Оформить заказ

Хронология этапов запуска магазина дополнений ReadyScript

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

Сервисы ReadyScript

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

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

Подтверждение активации лицензии

Маркетплейс должен требовать минимум действий от пользователя при повседневной работе – этот принцип пронизывал все задачи по данному проекту. В соответствии с ним, было решено применить автоматическую авторизацию по лицензионному ключу, при входе в маркетплейс. Это решение имело ряд проблем, связанных с тем, что ключ можно было активировать на любой Email, в том числе и на Email «чужого» пользователя, а затем использовать ключ для авторизации под другим пользователем.

Для решения проблемы, был разработан механизм подтверждения активации лицензии. Пользователь, чей Email был указан при активации лицензии, должен был подтвердить через свой личный кабинет ReadyScript или с помощью перехода по ссылке в соответствующем Email-уведомлении, что активацию произвел именно он. Только после этого действия происходит окончательная привязка лицензии к пользователю. Лицензия нуждается в подтверждении лишь один раз, что делает эту процедуру нетрудоемкой по сравнению с постоянным вводом логина и пароля.

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

Вывод средств

Маркетплейс не мыслим без выплат, поэтому к моменту запуска проекта нам нужен был хорошо отлаженный механизм вывода средств. Откровенно говоря, «выплаты» – это независимый сервис, который больше связан с биллингом, нежели с маркетплейсом, поэтому мы смело выделили его в отдельный проект и запустили заблаговременно.

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

Обновление формата модулей

Формат модулей до запуска маркетплейса был иным. Информация о модуле хранилась в конфигурационных PHP-файлах модулей, что означало обязательное выполнение кода для получения общей информации о модуле. Такая модель была приемлема, пока все существующие модули платформы были написаны нами и входили в дистрибутив или были написаны веб-мастерами, которые занимались своими магазинами, соответственно уровень доверия к коду модулей был 100%.

Это стало неприемлемо после появления «сторонних разработчиков». После загрузки модуля в маркетплейс, наш сервис должен получить общие сведения о модуле, не исполняя еще непроверенный код. Для реализации данной задачи, мы незначительно поменяли формат модулей, перенеся все сведения о нем в неисполняемый файл module.xml.

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

Обновление документации

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

30 апреля была опубликована новая версия документации для разработчиков.

Обновление ПО на сервере обновлений ReadyScript

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

Таким образом, за несколько месяцев до официального запуска проекта «маркетплейс», наш центр обновления уже был готов отдавать обновленные версии загруженных тестировщиками дополнений.

Обновление модуля SiteUpdate

У каждого интернет-магазина на платформе ReadyScript есть модуль SiteUpdate, позволяющий взаимодействовать с сервером ReadyScript и получать обновления для платформы. Этот модуль также нужно было «научить» обновлять дополнения, установленные в систему через маркетплейс. Новая версия модуля SiteUpdate у нас также была готова заранее и примерно за 1,5 месяца до запуска маркетплейса мы опубликовали его.

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

Выгрузка проекта MarketPlace ReadyScript

К моменту публикации главного проекта marketplace.readyscript.ru, все сопутствующие подсистемы уже находились в рабочем режиме. Благодаря постепенному вводу в эксплуатацию подсистем, удалось запустить такой большой проект без ошибок, а соответственно значительно снизить нагрузку на службу поддержки и предоставить качественный сервис для наших пользователей.


21 июня 2015 14:04, Артем Полторанин
Рассказать друзьям: