Модуль для маркетплейс — от идеи до старта продаж. Часть 6 — база данных

Перед тем, как начать реализовывать эту часть, я решил все-таки проверить, насколько битрикс трепетно относится к структуре тех таблиц, которые сам создает. И, кажется, не зря. ...

October 24, 2017 · 6 min · Михаил Журов

Модуль для маркетплейс — от идеи до старта продаж. Часть 5 — держим себя в руках. Файловая структура модуля, инсталлятор

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

October 21, 2017 · 8 min · Михаил Журов

Модуль для маркетплейс — от идеи до старта продаж. Часть 4 — техническое задание и архитектура

Разработка архитектуры и составление технического задания - это, пожалуй, самый сложный этап работ во всем процессе. Особенно важным этот этап становится при разработке особо крупных и сложных проектов, т.к. на нем закладываются базовые принципы взаимодействия подмодулей системы, гибкость и расширяемость, структуры данных; если что-то на этом этапе не додумать и не доработать, то в будущем это может аукнуться серьезными переработками и массовыми вливаниями средств. Но, у нас фан-проект 🙂 сурового энтерпрайза тут нет и не предвидится. Да и команды разработки у нас нет, у нас всего один человек в штате 🙂 Так и хочется сказать, что «мы забьем на этот этап», но нет, все же надо заложить какой-то фундамент, чтобы потом от него уже строить код. ...

October 17, 2017 · 10 min · Михаил Журов

Модуль для маркетплейс — от идеи до старта продаж. Часть 3 — функциональные требования

Итак, функциональные требования (далее - ФТ). Наиболее удобный формат для составления ФТ - это User Stories + Наброски интерфейса. Рассказывать о том, что такое User Stories я не буду, в интернетах масса информации на эту тему, поэтому сразу к делу. ...

October 13, 2017 · 3 min · Михаил Журов

Модуль для маркетплейс — от идеи до старта продаж. Часть 2 — идея и цели

Итак, теперь нужно разобраться с тем, что именно я буду делать и зачем. Немного предыстории. На протяжении всего моего скромного опыта веб-разработки мне приходилось работать в основном с клиентами из e-commerce сферы. Кто-то из них продавал много, кто-то мало. Но неизменным было одно - все пытались тем или иным способом стимулировать продажи с помощью акций. В битриксе на эту тему есть неплохой функционал «Правила работы с корзиной», который позволяет довольно гибко настроить условия скидок (неплохой - с точки зрения администратора системы, но никак не в плане реализации). Кроме того, этот функционал позволяет создавать и привязывать купоны к скидкам таким образом, что скидки будут привязываться к заказу только в том случае, если был применен купон. Купоны в битриксе - это сущность с очень длинной историей. Купоны существовали в битриксе еще очень давно, сначала в модуле «Торговый каталог», как и вся скидочная программа. Этот модуль ранее позволял присваивать скидки на конкретные товары, в том числе и с использованием купонов. Потом в модуле «Интернет-магазин» появились правила работы с корзиной. Так в битриксе образовалось сразу 2 сервиса, дающих примерно одинаковую функциональность, но которую было очень сложно использовать вместе. Одни скидки применялись только в корзине, а другие - в каталоге и корзине, а условия применения скидок были разными. Купонов для правил работы с корзиной тогда не выпустили, что было неудобно. Чуть позже был разработан очень крутой конструктор скидок (слямзили у Magento, вероятно, ну да ладно), а впоследствии добавили и купоны в правила работы с корзиной. В итоге получилось 2 абсолютно идентичных функционала, которые отличались одной деталью - старый модуль давал скидки на отдельные товары, даже если они еще не лежали в корзине (и соответственно показывал эту скидку в каталоге товаров), а новый давал скидку только на товары, которые лежат в корзине (и не показывал скидку в каталоге). Не так давно было выпущено обновление, которое сливает эти две подсистемы в одну единую, что несомненно очень хорошо. Однако до купонов все это время особо дела никому не было, и эта часть скидочной системы развивается медленнее остальных. ...

October 9, 2017 · 5 min · Михаил Журов

Модуль для маркетплейс — от идеи до старта продаж. Часть 1 — вводная

В интернете довольно много различных площадок, предоставляющих разработчикам возможности по тиражированию своих решений. Это в первую очередь маркеты для мобильных приложений, которыми сейчас пользуются миллиарды пользователей - Google Play Market, iTunes store. Для веб-разработчиков это маркеты Envato - ThemeForest, CodeCanyon и многие другие по разным направлениям. Есть и более узкоспециализированные маркеты, например магазин готовых решений для Magento - Magento Marketplace, или для Shopify - Shopify App Store. Есть и у битрикса свой маркетплейс, в котором уже довольно много различных решений на любой вкус и цвет, да и одни и те же задачи решаются разными модулями и разными разработчиками с разными подходами. У меня как-то не сложилось с этой площадкой, разрабатывать конкретные модули было все время некогда, хотя идей всегда было валом. Этой статьей я хочу начать новый цикл материалов, которые будут посвящены тому, как разработать модуль для 1С-Битрикс, начиная с непосредственно идеи и заканчивая публикацией готового модуля в маркетплейсе с его поддержкой. Но разрабатывать модуль в сухую, честно говоря, совсем скучно, поэтому в процессе разработки я буду выкладывать статьи о ходе разработки, о проблемах, с которыми пришлось столкнуться, постараюсь закопаться поглубже в процесс разработки модуля, как и что настроить чтобы процесс был удобным, ну и в таком духе. ...

October 3, 2017 · 3 min · Михаил Журов

Подборка ссылок про битрикс

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

May 30, 2017 · 4 min · Михаил Журов

Про миграции в Битриксе

Так уж сложилось, что в 1С-Битрикс нет никакой штатной возможности по работе с модификацией структуры БД, кроме как делать это ручками в админке. На конференциях разработчиков, у сотрудников Битрикса постоянно просят добавить в продукт механизм миграций БД, однако нам постоянно отвечают «завтраками», что может быть, когда-нибудь мы их сделаем. Ну а работа не стоит на месте, потребность вносить изменения в БД в автоматическом режиме с соблюдением версионности никуда не делась, и даже наоборот - зреет с каждым днем. ...

May 24, 2016 · 8 min · Михаил Журов

Подгрузка изображений с продакшена при работе на хосте разработки

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

May 7, 2016 · 2 min · Михаил Журов

Организация кода в Битрикс. Часть 3. Переделываем все к черту и делаем еще лучше!

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

May 7, 2016 · 5 min · Михаил Журов