Перейти к основному содержимому
SellUs
EspoCRM

Доработка EspoCRM: модули под процесс без правок ядра

·7 мин·SellUs
Ярослав Акулиничев
Основатель SellUs, разработчик решений для Битрикс24 с 2017 года

9 лет и 250+ проектов автоматизации продаж. Разработка модулей и CRM на открытом ядре EspoCRM — направление, которое ведём для компаний с нестандартными процессами. Подробнее о команде.

Открытый код EspoCRM провоцирует опасную мысль: «раз код доступен, поправим прямо в нём». Технически можно, практически это дорога к системе, которую нельзя обновлять. Разберём, как дорабатывать EspoCRM правильно, что реально изменить и во что обходятся типовые доработки.

Главное правило: ядро не трогаем

Архитектура EspoCRM спроектирована под расширения: свои сущности, поля, логика и интерфейсные элементы живут в каталогах custom и в отдельных модулях. Ядро при этом остаётся нетронутым и штатно обновляется, а доработки переживают обновления.

Правка ядра ломает эту механику: следующее обновление либо затирает изменения, либо не встаёт вовсе. Система замирает на старой версии, уязвимости копятся, и через год «маленькая правка» оборачивается проектом по реанимации. Если подрядчик предлагает поправить ядро, это повод спросить, кто и как будет обновлять систему дальше.

Что можно сделать модулями

Практически всё, что обычно просят компании:

  • Свои сущности и связи. Объекты сервиса, партии товара, заявки, абонементы: любые предметы вашего процесса со своими полями и правами.
  • Интеграции. Телефония, мессенджеры, сайт, учётная система, платёжные сервисы: обмен по API в обе стороны.
  • Автоматизации со сложной логикой. Всё, что не влезает в конструкторы воркфлоу (о их границах писали в статье про автоматизации).
  • Отчёты и дашборды. Метрики под руководителя: конверсия по менеджерам, динамика, причины проигрышей.
  • Интерфейсные доработки. Свои кнопки, панели и представления карточек под сценарии команды.

Сколько это стоит

Ориентиры из нашей практики: точечная доработка (кнопка, поле со сложной логикой, небольшой отчёт) измеряется днями работы. Модуль-интеграция с внешней системой: одна-три недели в зависимости от API второй стороны. Крупный модуль уровня личного кабинета клиентов или документооборота: от месяца. Точная оценка появляется после разбора задачи, у нас он бесплатный и занимает 30–40 минут.

Есть и нулевая статья: за 9 лет у нас накопилось 25+ готовых модулей, и часть запросов закрывается установкой и настройкой готового вместо разработки. Список примеров — на странице модулей.

Как заказывать доработку правильно

Три вопроса подрядчику, которые экономят месяцы:

  1. Где будет жить код? Правильный ответ: в модуле или custom, ядро не трогаем.
  2. Что случится при обновлении ядра? Правильный ответ: модуль совместим, поддержка совместимости входит в сопровождение.
  3. Как устроена передача? Репозиторий, документация по модулю, условия по коду в договоре.

Ответы «поправим по-быстрому в ядре» и «код у нас, документация не нужна» означают, что через год вы будете искать нового подрядчика вместе с новой системой.

Доработка или платформа целиком

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

Доработки повлияют на скорость системы?+

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

Можно ли снять чужую доработку?+

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

Мы сами умеем PHP. Где документация?+

У EspoCRM есть официальная документация для разработчиков по расширениям, хукам и API. Для внутренней команды это рабочий путь: начните с механики модулей, не с правок ядра.

Как понять, доработка это или готовый модуль?+

Никак заранее: расскажите задачу, а мы скажем, что из неё закрывается готовым, что конструктором, что кодом. Это и есть разбор задачи.

Опишите задачу — за день вернёмся с планом и оценкой

Скажем, что закрывается готовым модулем, что конструктором, а что нужно написать. Ядро не трогаем, доработки переживают обновления. Разбор бесплатный.

Обсудить проект по вашей задаче

Оставьте контакты: перезвоним в течение 2 часов в рабочее время.

TelegramMAX