Клиентская база. База битрикс


База клиентов в Битрикс24| Как вести учет клиентов с помощью Bitrix24

«Битрикс24» - это не только CRM

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

Бесплатно и неограниченно!

www.bitrix24.ru

1С-Битрикс и версионирование баз данных: выбираем инструмент

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

Абрахам Маслоу В традиционной схеме веб-разработки программист имеет доступ к серверу и вносит изменения прямо на боевой сайт. Так поступать можно только если на сайте нет посетителей, в противном случае схема усложняется: рядом с prod-сайтом появляется dev-сайт для обкатывания всех новинок. Чем больше и сложнее сайт — тем больше должна быть команда разработчиков. И у каждого должна быть своя независимая копия сайта. Обычная разработка сменяется командной, появляются проблемы взаимодействия, в частности переноса наработок между серверами. Для кода есть универсальное решение -- системы контроля версий (VCS, Version Control System), например GIT, Mercurial.

А вот для проблемы автоматизированного слияния нескольких баз данных нет “серебряной пули”, для каждой CMS должен быть свой инструмент. Пока программисты работают каждый на своём dev-сайте, проблема незаметна как интроверт на празднике :) Но стоит заикнуться об объединении наработок на основном dev-сайте, она резко встаёт во весь рост, рвёт на себе тельняшку и начинает колотить других гостей.

В этой статье мы расскажем.

Самое вкусное мы выделили в отдельную статью :

Как обычно делают миграции

Для большинства проектов мы как и сотни других разработчиков 1С-Битрикс использовали файлик “изменения БД.txt”. В этот файл каждый программист эскизно записывал изменения, которые делал. Файл версионировался, так что после слияния веток и кода в нём оставался объединённый список изменений.

Всё хорошо, если забыть про 3 правила:

  1. Каждый программист должен записывать все изменения в файл максимально подробно.
  2. Тимлид должен дотошно повторять все изменения из файлика на новом сервере.
  3. Если возникает конфликт изменений — нужен консилиум разработчиков, чтобы решить, чьё изменение главнее.
Пример такого файла изменений: Чтобы сделать релиз и перенести изменения БД по этому сценарию, требуется в среднем несколько часов . И это мы еще не умножали на количество релизов в неделю и опустили промежуточную выкладку на dev-сайт для тестирования.

Дыр в такой схеме больше чем в сыре Маасдам.

Мы работали по такой схеме последние 3 года и всякое повидали. В 2017 году после стратегического совещания терпение лопнуло и отряд самоубийц из двух пряморуких программистов отправили на поиски/разработку волшебного инструмента объединения изменений БД. Так как в других CMS и CMF этот механизм называется "миграции", то и мы будем использовать этот термин.

Как на самом деле надо делать миграции

Требования к новому механизму озвучили руководители и техлиды:

Оказалось, что в Marketplace уже были похожие по нашим требованиям решения.
  1. Миграции для разработчиков
  2. Копир: Миграция данных
  3. Миграции схемы данных

Мы провели небольшой тест-драйв этих модулей, чтобы понять, насколько они нам подходят.

Сравнение модулей миграции из MarketPlace

Пример

Задача приближена к реальности: имеется prod сайт с 4 инфоблоками 2 типов и две свежих песочницы для программистов.

В новостях есть свойство “Картинки новостей”.

Задачи для первого программиста:

Задачи для второго программиста: Задача для техлида: объединить изменения с двух песочниц на prod-сайте для тестирования и демонстрации менеджеру проекта.

Миграции с помощью модуля «Миграции для разработчиков»

Модуль исповедует подход “в любой непонятной ситуации пиши инсталлятор”. Инсталлятор — это класс с двумя методами: up (накатить миграцию) и down (соответственно, откатить миграцию). Модуль берёт на себя установку/удаление файлов миграции и предоставляет интерфейс в панели управления сайтом. Инсталляторы хранятся в виде php-файлов по пути /local/php_interface/migrations/*.

Примечание: показана работа для программиста 1, т.к. для второго программиста она идентична.

Создадим файл миграции

Метод up для “Наката” и down для “Отката” миграции:

Теперь инсталлятор появился в панели управления и доступен для запуска:

Готовый код инсталлятора отправляется в репозиторий.

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

Техлид на prod сайте делает pull. На странице модуля появились два новых файла миграции:

После нажатия “Установить новые” на prod-сайте произошли изменения.

Плюсы: Минусы:

Миграции с помощью модуля «Копир: Миграция данных»

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

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

Чтобы перенести измененную структуру инфоблоков необходимо перейти в “Сервисы”, там появился пункт Копир, с подпунктами для копирования разных сущностей:

Нашим экспериментаторам нужен пункт “Копирование инфоблоков”.

Первый программист:

Второй программист:

Результат работы, или что попало на бой:

Плюсы:

Минусы:

Миграции с помощью модуля «Миграции схемы данных»

На странице модуля есть подробная инструкция для установки модуля и настройки среды для разработки (клонирование prod сайта для разработчиков).

Установили модуль, клонировали prod сайт разработчикам в отдельные dev сайты, сделали изменения в инфоблоках и файлы сами создались.

Файлы создаются в директории, которую Вы выбираете в настройках модуля при установке. Он представляет собой минимизированный json, название которого является текущем временем зашифрованным в md5.

Пример файла:

 

Чтобы перенести изменения, нужно перенести созданные файлы на prod сайт, и перейти в Настройки->Миграции данных (Обновление). Там будет показан список обновлений.

Чтобы применить обновления, достаточно нажать кнопку “Обновить”.

Проблема возникла опять только с конфликтующими шаблонами ссылок инфоблока.

Плюсы:

Минусы

Результат сравнения модулей миграции

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

Требования / критерии Миграции для разработчиков Копир: Миграция данных Миграции схемы данных Модуль ИНТЕРВОЛГИ
Возможность выбора сущностей для миграции Да Да Нет Да
Авторство изменений Да Да Да Да
Автоматизация миграции данных Да* Да Да Да
Поддержка любых изменений Да Да Нет Да
Версионирование Да Нет Да Да
Модуль предупреждает о конфликтующих изменениях Нет Нет Нет Да
Набор сущностей для миграции Нет ограничений ИБ, Формы, Опросы, почтовые события ИБ ИБ, группы пользователей, почтовые события, пользовательские поля, HL, культура + языки + сайты, sale, catalog
На миграцию не влияет один ли это сервер или разные Да Нет Да Да

* Автоматизация заключается только в применении или откате изменений. Все изменения программист должен писать сам через API битрикса или модуля в файлах миграции.

Выводы

Главный минус рассмотренных модулей в том, что ни один из них не то, чтобы не решает проблему с конфликтами при релизе, они их даже не определяют. Также есть недостатки у каждого модуля по отдельности, такие как “нет полной автоматизации”, модуль платный, разработчики сделали акцент на ИБ и др.

Мы очень хотели найти готовое решение. С одной стороны, с нашими требованиями этого не получилось сделать. С другой - количество проектов на которых работает 2+ программистов постоянно росло и терпеть уже не было сил.

И мы сделали свой инструмент для миграций баз данных в 1С-Битрикс. При разработке модуля мы учли озвученные выше требования и попытались сделать идеальный инструмент для переноса изменений БД.

Что получилось - читайте в следующей статье .

Оцените статью:

Спасибо, ваш голос успешно добавлен!

www.intervolga.ru

Bitrix

  • Какие технологии и решения применяются при разработке?

    Мы работаем по методологии Scrum двухнедельными спринтами с Continuous Integration (JENKINS, YDEV). Есть собственный отдел тестировщиков (модульное, функциональное, нагрузочное и ручное тестирование). Собственное хранилище готовых решений, основанное на более 200 проектах. (некоторые изучить можно тут)

  • Каким образом происходит управление разработчиками?

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

  • Как происходит контроль за проделанной работой?

    Мы разработали собственную систему отчетности и аналитики, которая собирает время и другие данные со всех трекеров и формирует отчеты удобные для вашего восприятия. Автоматизированные отчёты и уведомления вы получаете по почте, Telegram и Slack.

  • Работаете ли вы попроектно?

    Да, но ставки выше чем по Time&Material. Мы как правило предлагаем другой вариант, ТМ с потолком, что позволяет вам планировать бюджет и экономить деньги.

  • Чем отличается работа с "потолком" от попроектной работы?

    Главное отличие в стоимости. Мы не закладываем риски и это позволяет нам устанавливать довольно низкую наценку, порядка 30%. Вы оплачиваете только фактически затраченное время. Оплата происходит в конце каждого месяца, а не поэтапно. Все это позволяет подходить к разработке более гибко (Scrum).

  • Какие преимущества работы по Scrum?

    Старт работ происходит значительно быстрее и вы раньше получаете рабочий функционал. Есть возможность менять требования к ПО в ходе разработки и работать без чёткого ТЗ. При этом стоимость ниже.

  • bitrix.ylab.io

    Битрикс24 – База знаний Carrot quest

    Войти Отправить запрос Мои действия Войти Зарегистрироваться Логотип

    help.carrotquest.io

    Битрикс24 | База знаний Платформы LP

    Содержание:

    1. Как создать и настроить интеграцию?
    2. Как добавить поле, которого нет в списке (пользовательское поле)?

    Как создать и настроить интеграцию?

    Интеграцию с сервисом Битрикс24 можно настраивать для проектов, а также отдельно от них. Для этого нужно выполнить несколько простых шагов:Шаг 1. Выберите нужный проект.100093281Шаг 2. Перейдите в раздел «Интеграции».100093282Шаг 3. Нажмите «Добавить интеграцию» и выберите «Битрикс24».100093283Шаг 4. По порядку заполните поля:

    100093284Шаг 5. После создания интеграции, вы сможете выбрать изменить «Проект» и «Отключать HTTPS».Отключить HTTPS – если у вас коробочная версия Битрикс (лучше бы пояснение), то проверьте включена ли у вас работа по https,если нет или у вас облачная версия Битрикс, то оставьте эту настройку без изменении ( положение «Нет» ).100093285Теперь можно приступить к настройке нужных полей, которые вы хотите передать.В примере мы настроили поля «Имя», «Email» и «Название», которые установлены в форме.100093286После того, как поля настроены, нажимаем «Сохранить»Создание интеграции завершено! Осталось подключить интеграцию в форме для передачи данных.Шаг 6. Откройте редактор вашей страницы и в настройках формы выберите созданную интеграцию:100093287Шаг 7. После всех изменений опубликуйте повторно страницу.Поздравляем!Вы только что настроили интеграцию с сервисом Битрикс24.Заявки будут приходить в личный кабинет Платформы LP и в сервис Битрикс24 в раздел CRM > ЛидыПриятной работы!

    Как добавить поле, которого нет в списке (пользовательское поле)?

    Важно! Настройка пользовательских полей не обязательна.Для правильного указания полей в настройках интеграции на Платформе, нужно перейти в раздел CRM Битрикс24 > Лиды, далее в меню Еще > Настройки > Настройки форм и отчетов > Пользовательские поля.100093288В пользовательский полях добавим новое поле или перейдем в список уже добавленных полей.Откроем нужное поле и посмотрим на URL, часть его и есть символьный код свойства.Пример:100093289Скопируйте выделенный код и вставьте его в интеграцию с Платформой, выбрав как “Пользовательское поле“.100093290Задайте полю в форме одинаковый id (который указывали в настройках интеграции «ID поля из редактора»):100093291Важно! ID поля (для интеграции) желательно заполнять на латинице, используя только буквы и цифры.Настройка «Обязательного поля»Если при создании «Пользовательского поля» Вы указали его как «Обязательное»,100093292то необходимо также и в форме в редакторе поставить галочку «Обязательное поле», потому что оно будет отправлять информацию с формы в Битрикс24.100093293Пользовательское поле настроено!

    help.platformalp.ru


    Prostoy-Site | Все права защищены © 2018 | Карта сайта