Мы часто пишем, о том, что дорабатываем Битрикс24 с помощью модулей. Например, с их помощью созданы приложение для бронирования техники , выпадающие поля «Местоположение» и «Учебный центр» в Битрикс24. В этой статье мы подробно расскажем и объясним:
- Что такое «модуль» и «модульная доработка» в Битрикс24?
- Почему модули безопаснее и лучше, чем прямая доработка кода или безмодульная?
- Как мы работаем с модулями.
Что такое «модуль» и «модульная доработка»?
Модуль — это законченный фрагмент программы, который добавляет в приложение или сервис новую функцию. Модуль выглядит как установочный файл.
Модуль заливают в сервис или приложение, где он автоматически распаковывается и совершает те действия, которые прописали разработчики в коде.
Вспомните, как часто вас просят обновить мобильное приложение, потому что в нем появились новые функции? Иногда это значит, что разработчики добавили в приложение модуль, который выполняет новые действия.
Доработка коробочной версии Битрикс24 с помощью модулей позволяет разрабатывать решения в виде независимых и законченных фрагментов программы. Разработчики распаковывают модуль на портале и нужная функция автоматически появляется у пользователей. Если в модуле обнаруживается ошибка, то она не затронет программу или другие настройки, а разработчики быстро найдут её и исправят.
Почему модульная доработка Битрикс24 безопаснее и лучше, чем прямая или безмодульная?
В коробке Битрикс24 все доработки делаются через папку «Локал» в административной части портала — это требование 1С-Битрикс. При обновлении Битрикс24 сначала заглянет в эту папку, запомнит доработку и как бы «заморозит» её. Так, все настройки и данные останутся на своих местах и после системного обновления.
Некоторые дорабатывают исходный код продукта, то есть ядро. Конечно, можно переписать пару строчек исходного кода, закомментировать их или добавить новые. Возможно, это даже заработает, но при первом же системном обновлении доработанный на ядре код исчезнет, как и настройка на вашем портале. Вместе с данными, которые вы записывали.
В папку «Локал» можно загрузить отдельные файлы с разными кусками кода или запаковать все ветки кода в капсулу, то есть создать модуль. Различия между двумя способами не в самом коде, а в том, как Битрикс будет считывать код и преобразовывать его в команды, которые понимает система.
Различия между файловой доработкой и модульной примерное такие же, как между двумя стратегиями перевода книг с одного языка на другой. Первый способ — одновременно читать и переводить книгу, то есть переводить построчно без понимания смысла целого. Вторая стратегия перевода — прочитать всю книгу, и с пониманием целого смысла переводить книгу по главам. Первая стратегия перевода — это файловый способ, а вторая — модульный.
Три года назад мы делали доработки отдельными файлами, но этот способ был неудобен и разработчикам, и пользователям. При установке файлов на портал разработчикам приходилось дополнительно настраивать куски кода в разных файлах, адаптировать их, проверять, как согласованы действия во всех файлах. А если отдельными файлами сделано несколько доработок, то даже опытному разработчику понадобилось бы много времени и сил, чтобы определить, за какую функцию отвечает каждый отдельный файл с кодом. Администраторам портала тоже было неочевидно, где находятся нужные файлы, как их установить или удалить.
Сравните:
Так выглядит безмодульная доработка.
А так выглядит модуль для 1С-Битрикс24. Расположение в одноименной подпапке папки «Локал» позволяет избежать конфликтов с другими решениями.
А это распакованный модуль. Синим выделены установленные модулем функции, а красным — папка с символьной ссылкой на модуль. Аккуратно и понятно.
Даже визуально модульная доработка значительно проще. Но основные преимущевства модулей для 1С-Битрикс24 становятся очевидными во время разработки решений:
- Модуль легко установить. Пользователь прикладывает минимум усилий: заходит в список модулей в административной части портала, нажимает «Установить» и нужная функция появляется на портале.
- Модуль можно удалить или переустановить по нажатию одной кнопки и без вреда для настроек на портале. Система останется в том же состоянии, что и вначале.
- Облегчает труд разработчика. Модуль — это запакованный код: разработчик просто устанавливает его на портал, и модуль самостоятельно распаковывает нужные файлы, перераспределяет данные, то есть выполняет прописанные команды.
- Возрастает скорость разработки, потому что готовый модуль можно переиспользовать. Всё просто: вы читаете описание проектов на нашем сайте, заказывайте «то же самое, что у мужчины за соседним столиком», разработчики устанавливают модуль на ваш портал, и уже через пару дней вы работаете с новой сложной настройкой.
- Модульные доработки не удаляются при первом же обновлении системы. Настройки могут сбиться, только если Битриксом была серьезно изменена сущность, которая используется в шаблоне доработки, или компонент интерфейса.
Как мы работаем с модулями
Мы пишем код, значения переменных указываем в отдельном файле, прописываем связи и запаковываем всё в единый формат, который принимает Битрикс24 — в папке «Локал» отображается единый установочный файл. Проверяем доработку на тестовом портале, затем переносим на портал заказчика. Модуль разворачивает файловую структуру и проставляет нужные связи самостоятельно при нажатии кнопки «Установить». Пользователи работают сразу с готовой функцией — никаких дополнительных настроек.
Все модули собираем в репозиторий, то есть в библиотеку. Один раз разрабатываем решение, а когда приходит клиент с таким же запросом, используем готовый модуль. Так увеличивается скорость разработки и сохраняется качество.
Для тех, кто читает только концовку
Для большинства проектов по внедрению Битрикс24 хватает штатных инструментов: бизнес-процессов, роботов, списков или приложений. Когда функции нельзя реализовать штатными инструментами, к проекту подключаются разработчики, и они дорабатывают Битрикс24.
Мы делаем доработки с помощью модулей — независимых и самостоятельных фрагментов программы, запакованных в формат установочного файла. Модуль не требует дополнительных настроек: он автоматически распаковывается на портале и совершает действия, которые прописали разработчики в коде.
Некоторые изменяют исходный код, но такие настройки «слетают» при первом же системном обновлении 1С-Битрикс24. Сертифицированные разработчики добавляют новые функции через папку «Локал». Можно добавлять код отдельными файлами, но это долго и сложно: даже грамотный разработчик потратит много времени, чтобы прописать все связи и установить настройку на портал.
Чтобы понять, в каких случаях нужна доработка, а когда достаточно бизнес-процессов, роботов или списков, читайте первую статью цикла или оставьте заявку — наш менеджер свяжется с вами и поможет определиться.