Доработка EspoCRM: модули под процесс без правок ядра
9 лет и 250+ проектов автоматизации продаж. Разработка модулей и CRM на открытом ядре EspoCRM — направление, которое ведём для компаний с нестандартными процессами. Подробнее о команде.
Открытый код EspoCRM провоцирует опасную мысль: «раз код доступен, поправим прямо в нём». Технически можно, практически это дорога к системе, которую нельзя обновлять. Разберём, как дорабатывать EspoCRM правильно, что реально изменить и во что обходятся типовые доработки.
Главное правило: ядро не трогаем
Архитектура EspoCRM спроектирована под расширения: свои сущности, поля, логика и интерфейсные элементы живут в каталогах custom и в отдельных модулях. Ядро при этом остаётся нетронутым и штатно обновляется, а доработки переживают обновления.
Правка ядра ломает эту механику: следующее обновление либо затирает изменения, либо не встаёт вовсе. Система замирает на старой версии, уязвимости копятся, и через год «маленькая правка» оборачивается проектом по реанимации. Если подрядчик предлагает поправить ядро, это повод спросить, кто и как будет обновлять систему дальше.
Что можно сделать модулями
Практически всё, что обычно просят компании:
- Свои сущности и связи. Объекты сервиса, партии товара, заявки, абонементы: любые предметы вашего процесса со своими полями и правами.
- Интеграции. Телефония, мессенджеры, сайт, учётная система, платёжные сервисы: обмен по API в обе стороны.
- Автоматизации со сложной логикой. Всё, что не влезает в конструкторы воркфлоу (о их границах писали в статье про автоматизации).
- Отчёты и дашборды. Метрики под руководителя: конверсия по менеджерам, динамика, причины проигрышей.
- Интерфейсные доработки. Свои кнопки, панели и представления карточек под сценарии команды.
Сколько это стоит
Ориентиры из нашей практики: точечная доработка (кнопка, поле со сложной логикой, небольшой отчёт) измеряется днями работы. Модуль-интеграция с внешней системой: одна-три недели в зависимости от API второй стороны. Крупный модуль уровня личного кабинета клиентов или документооборота: от месяца. Точная оценка появляется после разбора задачи, у нас он бесплатный и занимает 30–40 минут.
Есть и нулевая статья: за 9 лет у нас накопилось 25+ готовых модулей, и часть запросов закрывается установкой и настройкой готового вместо разработки. Список примеров — на странице модулей.
Как заказывать доработку правильно
Три вопроса подрядчику, которые экономят месяцы:
- Где будет жить код? Правильный ответ: в модуле или custom, ядро не трогаем.
- Что случится при обновлении ядра? Правильный ответ: модуль совместим, поддержка совместимости входит в сопровождение.
- Как устроена передача? Репозиторий, документация по модулю, условия по коду в договоре.
Ответы «поправим по-быстрому в ядре» и «код у нас, документация не нужна» означают, что через год вы будете искать нового подрядчика вместе с новой системой.
Доработка или платформа целиком
Если EspoCRM у вас уже работает, доработки заказываются точечно: модуль за модулем под приоритеты. Если системы ещё нет, разумнее заходить через внедрение платформы: ядро, настройка, нужные модули и обучение приходят одним проектом с одной командой. Что EspoCRM умеет из коробки и где границы, есть в обзоре системы.
Доработки повлияют на скорость системы?+
Аккуратный модуль нагрузку почти не добавляет. Замедляют систему тяжёлые запросы в отчётах и необдуманные обработчики на каждое событие: это вопрос качества кода, а не факта доработок.
Можно ли снять чужую доработку?+
Если она оформлена модулем, да: модуль отключается штатно. Если предыдущий подрядчик правил ядро, сначала нужен аудит, что именно затронуто.
Мы сами умеем PHP. Где документация?+
У EspoCRM есть официальная документация для разработчиков по расширениям, хукам и API. Для внутренней команды это рабочий путь: начните с механики модулей, не с правок ядра.
Как понять, доработка это или готовый модуль?+
Никак заранее: расскажите задачу, а мы скажем, что из неё закрывается готовым, что конструктором, что кодом. Это и есть разбор задачи.
Опишите задачу — за день вернёмся с планом и оценкой
Скажем, что закрывается готовым модулем, что конструктором, а что нужно написать. Ядро не трогаем, доработки переживают обновления. Разбор бесплатный.
Обсудить проект по вашей задаче
Оставьте контакты: перезвоним в течение 2 часов в рабочее время.