Почему я не люблю Битрикс
Ох Битрикс … как много в этом слове. Стоит его только употребить в сообществе веб-разработчиков, так тебя сразу сольют. Надо сказать, что не безосновательно … За все время своего существования эта CMS завоевала рейтинг самой говнокодерской из всех ныне живущих. Достаточно заявить, что ты создаешь сайты на Битрикс — тебе сразу же присвоят сан почетного говнокодера.
Увы и ах, но в большинстве случаев оно так и выходит. Я повидал немало проектов, разработанных кем-то на битриксе, и навидался разного. И у меня сложилось определенное мнение, которым я и хочу поделиться.
Копипаста
У каждой CMS есть свои принципы расширения функционала. Многие предоставляют систему хуков (в битриксе она тоже есть). Какие-то предоставляют возможность наследоваться от базового функционала. В битриксе же основной механизм расширения базового функционала — это копипаста 🙂
Возьмем для примера интернет-магазин. Битрикс позиционирует себя как система, которую купил, развернул, запустил продавать. Купив коробку, ты получаешь полный набор готовых инструментов для запуска бизнеса в интернете. Но как всегда — этого функционала часто начинает не хватать. Или наоборот — его обилие слишком давит.
В этот момент нужно что-то немного докрутить, доработать. Хорошо, если разработчики битрикса предусмотрели этот момент, и добавили возможность отключения или какой-то степени модификации той или иной фичи. Но всего то не предусмотришь … Приходится привлекать разработчиков. И хорошо будет, если задача решится с помощью определения какого-нибудь хука, но это не всегда возможно ..
И вот тут-то начинается вся свистопляска. Допустим возникла задача переместить кнопку «Купить» в карточке товара в другое место. Сие действие можно решить средствами css (переписав дефолтные стили поверх) или html (переместить блок из одного места в другое, если css позволит). Переписывать стили поверх существующих, как мне кажется, не очень хороший вариант, поэтому мы решаем изменить тот стиль, который уже есть у нас. Находится этот стиль в т.н. «ядре». Ядро системы должно оставаться нетронутым по идее, т.к. при обновлении все выполненные изменения могут быть легко затерты. Так вот чтобы изменить css файлик, его надо скопировать в другое место вне ядра. Причем скопировать придется не только этот файл стилей, а весь шаблон того компонента, который содержит этот стиль. В худшем случае такое копирование может привести к созданию дубля не одной сотни файлов стилей, картинок, php-шных шаблонов и т.д. И все это ради одной единственной строчки в css! Хорошо подумав ты принимаешь решение все-таки не копировать шаблон из ядра, а переписать стиль поверх существующего. А что, если задача с помощью изменения стилей не решается? Тогда, хочешь не хочешь, придется создавать копию.
Масла в огонь подливает тот факт, что создавать такие копии сама CMS-ка то и помогает и мотивирует это делать. Ничего не мешает неведающему владельцу интернет-магазина взять и создать такую копию шаблона. При желании, можно внести изменения в исходный код таких шаблонов прямо через веб-морду, что еще больше усугубляет дело.
Но и это все не самое страшное. Самое страшное начинается, когда нужно модифицировать логику работы какого-то компонента. Тут есть несколько путей.
Самый любимый — это модификация логики работы компонента через … шаблон! Создаем клон шаблона (шаблон — это папочка со структурированным набором файлов), заводим там специальный файлик result_modifier.php и херачим туда свою логику … Логика в шаблоне, да …
Если не получается и нужно серьезно повлиять на работу встроенного в ядро компонента, то придется копировать этот компонент целиком, выносить из ядра, и вносить правку в копию. Тут есть одно но .. в 12й версии в компонентах появилась «поддержка ООП» (меня всегда так умиляет это определение). Это значит, что каждый компонент может являться классом, со всеми вытекающими. Неграмотные разработчики настолько привыкли копировать компоненты, что копируют и эти классы, совершенно забивая на возможность наследования. Хотя иногда и наследование не позволит решить стоящие перед разработчиком задачи в виду того, что код в этих компонентах формально и организован в виде класса, но по факту этот класс является тупым набором из нескольких методов, которые обязывают при наследовании скопипастить содержимое этих методов и внести изменение в одну строчку посреди этого метода.
Файлы .. много файлов … еще больше файлов!
Битрикс очень любит файлы. Где-то читал, что они позиционируют себя как «файловая» CMS. Для создания статичной страницы нужно создать файл (ну лан, это еще ничего). Для создания своего компонента нужно создать папочку с кучкой файлов, имеющих определенную организационную структуру. Для создания модуля нужно создать папочку с еще бОльшим количеством файлов и вложенных папочек.
А еще внутри каждой директории проекта может быть файл такой, файл сякой … бэээ (
Со временем, благодаря копипасте, общее количество файлов проекта растет с астрономической скоростью. Типичный проект на битриксе состоит из более чем 30к файлов! И достаточно большая часть из них никогда не будет использоваться. Черт, да не на каждой машине git сможет быстро переварить такой объем, чтобы комфортно с ним работать …
А еще, битрикс дает возможность наполняльщику иметь доступ к содержимому файлов. Мало того, что в этих файлах хранятся конфиги компонентов, настройки каждой страницы, разделов. Эти конфиги можно поменять с помощью т.н. визуального редактора, который страсть как не любит неожиданных для себя ситуаций. Если он увидит в редактируемом файле неожиданный для себя php код, то при попытке отредактировать его есть риск, что ваш код будет обернут в htmlspecialchars() и сохранен как есть, что естественно сломает страницу. А может и целый раздел.
Как-то не до конца ..
Когда смотришь презенташки битрикса, конференции, то на них рассказывают крутые вещи. Да красиво так рассказывают, что хочется верить в светлое будущее платформы.
Однако после презентации начинаешь копаться в тех фишках, которые тебе презентовали в красивом фантике, начинаешь понимать, что под фантиком скрывается какая-то недоделка.
Вот например — распиаренное ядро d7. Как же любят им хвалиться, оно такое крутое, мы его развиваем … ага. В Битриксе есть модуль — инфоблоки. Это самый часто используемый модуль после «Главного» модуля. Он до сих пор работает без этого самого d7. Нет, ну отдельные сущности, конечно, можно дергать с помощью ORM, но вот никаких толковых взаимосвязей между сущностями модуля нет. Удалив раздел инфоблока 2го уровня вложенности, его подразделы останутся существовать без привязки к родителю. Элементы и разделы инфоблока не имеют связи со своими же свойствами … ну в общем — полный отстой. Хотя этот d7 презентовали еще 3 года назад. В общем получается, что он как бы есть, но пользоваться им в полной мере еще нельзя. Я понимаю, что процесс перехода на новое ядро еще не завершен, но уж один из важнейших модулей системы то надо было давно уже перевести.
Или еще пример — композит. Ну хорошо, придумали очередной велосипед (который, например к wordpress прикрутили уже давно), запатентовали (каким-то макаром), завернули в красивый фантик, начали рекламировать. Я не спорю, он действительно работает, неповоротливая черепаха (битрикс) со включенным и нормально работающим композитом действительно начинает работать быстро. Но не все так радужно, как хотелось бы. Из минусов, которые для меня стали критичными — нельзя никак вмешаться в ход выдачи композитной страницы. Есть возможность отдавать страницу через php и через nginx как статику. Так вот в режиме php нет даже никакого хука, который позволил бы встроить свой код до того, как CMS выдаст страницу.
Иногда случается тупняк, и композит отрубается. Чтобы выяснить — почему, битриксоиды предусмотрели логирование. Но это логирование логирует не все аспекты композита. Так прикольно наблюдать, что композит не работает, а в логах ошибок работы композита ничего нет, пусто. Вот и думай …
Пример с тем же ООП в компонентах. Он существует аж с 12й версии битрикса, но бОльшая часть всех встроенных компонентов не использует этой возможности, а значит по сути нет практически ни одного шанса, что можно расширить их функционал.
Работа со сторонними шаблонизаторами была заявлена (и она работает) уже давно. Можно подключить к битриксу twig, или на худой конец smarty. Но вот полноценной работы с ними не получится, т.к. шаблонизатор можно подключить нативно только к компонентам. А вот шаблоны сайтов так и останутся. Соответственно самая главная фишка шаблонизаторов — наследование — просто не работает. Эх …
Многоязычность в битриксе тоже реализована как-то не до конца. Чтобы иметь возможность вести каталог товаров в нескольких языках, нативно нужно создать несколько копий каталога и поддерживать актуальность каждого.. Если будет отсутствовать локализация какой-либо языковой фразы, то данные из «дефолтного» языка выводиться не будут.
Недавно еще пришлось заниматься переводом старого корпоративного портала на шаблон Битрикс 24. Так вот визард, который выполняет перевод, тоже как-то не до конца сделан. Пришлось потом за ним вручную много чего доделывать ..
Таких примеров можно найти массу. CMS и фреймворк вроде бы предоставляют какой-то функционал, но он как-то не до конца, что ли, сделан.. и документация по нему всегда не до конца .. печально 🙁
Стандарты? Не, не слышали
Опять про d7. 3 года назад нам сказали — мы придумали офигенную штуку! Это будет бомба! А что же на деле?
Автозагрузчик — свой велосипед. Есть же современный стандарт psr-4, который отвечает всем требованиям самого битрикса, однако нет, надо обязательно создать свой.
Еще один велосипед — ORM. Сделанная с нуля. Не продуманная, молодая, неопытная, бедная, но своя.
Логгера до сих пор нет нормального.
Классы для работы с http протоколом — опять свое. Причем без какой-либо возможности подменить их на сторонние решения, вроде компонентов Symfony. Вообще не припомню, чтобы в ядре использовались интерфейсы.
Нет, я конечно, могу понять… битрикс, может быть, и не хочет отвечать за чужие ошибки в бесплатных библиотеках, все-таки это коммерческая CMS. Однако jquery то он использует, и распространяет с ядром. Он использует bootstrap, FPDF … почему же тогда он не хочет использовать PSR стандарты, composer, компоненты symfony? Мне этого не понять …
Несогласованность и неопределенность
Они прослеживаются во многих модулях системы. Я, конечно, понимаю, что разные модули системы разрабатываются разными командами. Но часто бывает так, что в рамках одного модуля системы тоже существует несогласованность.
Вот пример — события добавления сущности. Для элемента инфоблока это будут OnBeforeIBlockElementAdd и OnAfterIBlockElementAdd. Тогда как для заказа — OnBeforeOrderAdd и OnOrderAdd.
Вроде бы договорились, что разрабатываем с php 5.3+ (а пора бы уже 5.5+, как минимум), однако в относительно свежем модуле highloadblock инсталлятор написан еще под 4ку.
Вроде договорились, что классы и методы будут описаны с phpDoc в ядре. Но что-то как-то неактивно этот процесс идет. Очень большое количество методов если и снабжено phpDoc комментарием, то это автоматически сгенерированный коммент от IDE только лишь со списком параметров. Иногда проскакивают и описанные методы, но описание скудновато …
Версии продукта вообще не имеют никакой связи с реальностью. Смена версии зависит исключительно от времени года, а не от количества реализованного функционала.
С Битрикс 24 как то вообще наткнулся на удивительнейшую вещь. Оказывается — его вообще нельзя модифицировать! После длительного обсуждения с техподдержкой выяснилось, что это целостная система, и в нее нельзя вносить изменения. Несмотря даже на то, что возможность внесения изменений есть (почему бы ее не закрыть в таком случае?).
На самом то деле все потому, что шаблоны просто пестрят бизнес-логикой. Скопипастив шаблон, вы получите связанный с ядром код, который надо будет поддерживать при обновлениях системы.
Конфиги — наше все
Возможность гибкого конфигурирования — это, бесспорно, очень важный момент. Однако все сводится на нет, если нет четкого центра управления этими конфигами.
Каждый компонент битрикса (разработанный битриксом), по идее, имеет физическую привязанность к конкретному модулю. Например — компонент catalog.element привязан к модулю каталога, тогда как main.register привязан к главному модулю. Только вот конфиги этих модулей и компонентов располагаются в разных местах. Компонент, как я писал уже выше, настраивается в том файле, где его разместили. Настройки модуля — могут находиться на специализированной странице настроек модуля, а могут быть вынесены на отдельную страницу в админке. Настройки роутинга для инфоблоков могут находиться как в настройках самого инфоблока, так и в настройках компонента, который показывает данные этого инфоблока.
Настройки прав доступа — это вообще отдельная песня. Есть настройка доступа к каждой физической директории в document_root, к каждому физическому файлу, к каждому модулю, к каждому инфоблоку. Порой бывает очень не просто понять, по какой причине битрикс не дает доступ к той или иной административной странице, ведь он не объясняет причин — просто говорит что доступ закрыт, а ты думай сам.
Заключение.
В общем говоря все, что обозначено выше, а также еще немного больше, делает битрикс очень неудобной CMS для разработки и поддержки, развития. Я очень надеюсь, что ситуация со временем будет в корне меняться, т.к. Битрикс крайне сильно раскручен и востребован в бизнесе. Жаль что он так слабо ориентирован на разработчиков …
полный набор инструментов для бизнеса
Совместная работа
Задачи и Проекты
Сайты и Магазины
Автоматизация
- Чаты и Видеозвонки
- Соцсеть компании
- Календари
- Документы онлайн
- Диск
- Почта
- Группы
- HR
получить бесплатно
- Лиды, Сделки, Контакты, Компании
- Счета, Компреды
- Оплата и доставка
- Автоматизация продаж
- Роботы и триггеры
- Контакт-центр
- Маркетинг
- Сквозная аналитика
получить бесплатно
- Проекты
- Диаграмма Ганта
- Канбан
- Учет времени
- Обсуждения в задачах
- Фокусировка внимания
- Интегрировано с CRM
получить бесплатно
- Бесплатно и просто
- Конструктор сайтов
- Интернет-магазин
- Формы
- Виджеты
- CRM в подарок
- Интеграция с 1С
- 1500+ шаблонов
получить бесплатно
- Бизнес-процессы
- Смарт-процессы
- Роботизация бизнеса RPA
- Роботы и триггеры
- Автоматизация продаж и CRM
- Автоматизация задач
- Умные сценарии
- Простые процессы
получить бесплатно
10 000 000 компаний зарегистрировано в Битрикс24
работаем на 18 языках
Более 10 000 000 компаний зарегистрировано в Битрикс24
работаем на 18 языках
Совместная работа
Новый уровень совместной работы всей компании. Пригласите сотрудников в единый онлайн-офис, повторяющий структуру вашей компании.
Используйте все возможности корпоративной соцсети:
- общайтесь в мессенджере и через видеозвонки
- делитесь новостями
- используйте календарь
- редактируйте документы вместе с коллегами
- храните файлы на корпоративном диске
CRM-система — базовый инструмент для автоматизации продаж и маркетинга. Ведите всю клиентскую базу в одном месте, подключив к CRM все каналы продаж: телефон, сайт, почту соцсети и мессенджеры.
Все заказы автоматически собираются прямо в CRM. Вы всегда будете знать, сколько клиентов сейчас в работе и как выполняется план продаж.
Задачи и проекты
Организуйте эффективную работу над задачами и проектами в удобном таск-трекере. Выбирайте привычную методику планирования для вашей команды или работайте по Скрам.
Делегируйте, управляйте сроками, назначайте ответственных, создавайте шаблоны задач. Задача, поставленная в Битрикс24, — это выполненная задача!
Сайты и магазины
Сами создавайте сайты и лендинги для сбора заявок и онлайн-продаж в простом и красивом конструкторе сайтов. Ваш сайт будет приводить заказы — добавьте на сайт виджеты для продаж.
Находите своих клиентов в соцсетях и мессенджерах, запустив удобный интернет-магазин за 120 секунд. Без единой строчки кода.
Автоматизация
Автоматизируйте всё, что мешает двигаться вперед — рутинные задачи, работу со сделками, согласование договоров, оплату счетов, отчетность.
В Битрикс24 есть инструменты и для простых триггерных рассылок, и для полной автоматизации рабочего места. И всё это запускается без программирования.
Работайте в Битрикс24 с любого устройства
Браузер
Приложение для
windows / mac
Приложение для
android / ios
Авторитетные издания пишут о Битрикс24:
Евгений Сысоев
Генеральный директор New Wave Shipping
spbnewwave. ru
Мария Резник
Руководитель по корпоративной культуре и внутренним коммуникациям
inventive.ru
Алексей Греков
Директор Торгового дома «Русичи»
rusichi.com
Денис Кошмин
Руководитель компании «БиН»
bin35.ru
Антон Алексеев
Руководитель розничной сети «Город дверей»
gorod-dverej.ru
Андрей Задачин
руководитель digital-агентства OneTrue
1true.online
Андрей Алашеев
Директор Sciencefiles
www.sciencefiles.ru
И еще немного новостей
Запустили облачный тариф Энтерпрайз
9 августа 2022
Подробнее
Круглый год выгоды с Битрикс24: скидка до 30% для новых клиентов
1 августа 2022
Подробнее
Цены на продления коробочных продуктов «1С-Битрикс» не меняются
15 марта 2022Подробнее
10 млн зарегистрированных компаний в Битрикс24
3 января 2022
Подробнее
Скидка на Битрикс24 – отличный подарок для бизнеса!
1 декабря 2021
Подробнее
Новый Битрикс24. Сиэтл. Попробуйте прямо сейчас!
23 ноября 2021
Подробнее
Время:Битрикс24. Регистрируйтесь на презентацию обновлений!
26 октября 2021
Подробнее
Обновление интеграции Битрикс24 с Instagram Direct
1 октября 2021
Подробнее
20 сентября 2021
Подробнее
Официальная расширенная интеграция Instagram и Битрикс24 – подключите уже сегодня!
17 августа 2021
Подробнее
Время хороших новостей: скидки на Битрикс24 до 40%!
2 августа 2021
Подробнее
1 августа тарифная линейка Битрикс24 изменится
19 июля 2021
Подробнее
Битрикс24. Берлин – новинки уже доступны в ваших Битрикс24!
19 мая 2021
Подробнее
Большое обновление Битрикс24. Смотрите онлайн и сразу пробуйте!
22 апреля 2021
Подробнее
Битрикс24 – 9 лет! Дарим скидки до 40% новым клиентам
12 апреля 2021
Подробнее
Вебинары в апреле: онлайн-продажи и совместная работа на удаленке
5 апреля 2021
Подробнее
Уже в ваших Битрикс24: запись видеозвонков, новые отчёты, автопоиск дубликатов
5 апреля 2021
Подробнее
2020, давай, до свидания! Скидки до 40% на Битрикс24
3 декабря 2020
Подробнее
Битрикс24. Сеул – расширяя границы бизнеса
26 октября 2020
Подробнее
Акция «Максимальная выгода»: скидки до 36% для всех клиентов
5 июня 2020
Подробнее
все новости
подписаться на рассылку
Битрикс24 в коробке
Вы можете работать с сервисом в облаке или установить коробочную версию на ваш сервер, чтобы индивидуально настроить бизнес-логику, интерфейс, интегрировать с «1С:ЗУП». Коробочная версия сервиса — это продукт «1С-Битрикс24».
Узнайте больше
Для крупных организаций
Коробочная версия «Битрикс24» для крупных территориально-распределенных компаний или холдингов с большим количеством пользователей.
Узнайте больше
Интеграции
Часто возникает много разных бизнес-задач, которые не решаются стандартными средствами облачного сервиса. Помогут приложения!
Узнайте больше
Битрикс24 и интеграция с Active Directory.
Проблемы и решения Эта статья представляет собой руководство по интеграции локального Битрикс24 с Active Directory и LDAP. Инструменты, необходимые для этой задачи, легко доступны в Битрикс24, но потребуются некоторые дополнительные настройки. Мы также делимся методами настройки и способами решения проблем, которые могут возникнуть во время интеграции. Мы рассмотрим конкретный пример интеграции для одного из наших заказчиков — крупной производственной компании. Есть настроенный контроллер домена и Active Directory со списком пользователей. Задача — импортировать пользователей из Active Directory в Битрикс24, настроить синхронизацию. В on-premise Битрикс24 есть стандартный модуль для этой задачи — «Интеграция AD/LDAP». Перед синхронизацией этот модуль необходимо установить или обновить.Эта статья представляет собой руководство по интеграции локального Битрикс24 с Active Directory и LDAP.
Интеграция Active Directory и Битрикс24 — распространенная задача.
В этой статье мы покажем вам, как реализовать эту задачу, и как решить связанные с ней проблемы.
Рассмотрим конкретный пример:
Наш заказчик – крупная производственная компания. У них есть настроенный контроллер домена и Active Directory со списком пользователей. Они хотят импортировать пользователей из Active Directory в Битрикс24 и настроить синхронизацию.
Для импорта данных из пользовательских полей мы деактивируем эти поля в Битрикс24.
В on-premise Битрикс24 есть стандартный модуль для этой задачи — «Интеграция AD/LDAP». Этот модуль необходимо установить или обновить до начала процесса интеграции.
При настройке Битрикс24 и синхронизации с AD мы поставили автоматическую синхронизацию данных раз в час.
После того, как процесс настройки завершен, мы устанавливаем его один раз в 24 часа, поскольку данные в Active Directory редко меняются.
ПРИМЕЧАНИЕ!
Синхронизация пользователей произойдет только после авторизации пользователя в Битрикс24, т.е. когда пользователь авторизуется в Битрикс24.
Если пользователь еще не авторизовался в Битрикс24, то вам необходимо вручную «Активировать» этого пользователя из панели администратора Битрикс24 для «принудительной» синхронизации.
В противном случае этот пользователь не будет синхронизирован, пока не войдет в Битрикс24.
Модуль AD/LDAP в Битрикс24 также может импортировать структуру компании из Active Directory. Посмотреть эту опцию можно в настройках сервера админки Битрикс24.
Если структура компании в Active Directory неверна или имеет функции, которые не нужны в Битрикс24, то советуем. — не импортировать.
В случае нашего клиента существующая структура компании в Active Directory была неверной, поэтому мы не импортировали ее.
Мы создали 2 новые структуры — одну в Битрикс24, другую в Active Directory.
ПРИМЕЧАНИЕ !
Битрикс24 считает данные Active Directory приоритетными данными .
Так, при наличии разных значений в одном и том же поле данных в Active Directory и Битрикс24, при импорте данных значение в поле Битрикс24 будет заменено значением в Active Directory.
- Совместная настройка фильтров «Настройка полей -> Пользовательский фильтр» и «Группы -> Группы, отмеченные ниже, не участвуют в импорте пользователей».
- Синхронизация времени сервера Active Directory и времени Битрикс24.
- Конфликт между двумя копиями одного и того же пользователя.
- В Битрикс24 импортируются только Верхние папки в Active Directory
- Синхронизация копии имени и фамилии на другом языке.
- Перенос больших изображений из Active Directory в Битрикс24.
1. Совместная настройка фильтров «Настройка поля -> Пользовательский фильтр» и «Группы -> Группы, отмеченные ниже, не участвуют в импорте пользователей».
Эти два параметра находятся в конфликте:
Настройка поля -> Пользовательский фильтр:
Группы -> Группы, отмеченные ниже, не участвуют в импорте пользователей:
Настройка обоих полей приводит к конфликту, и пользователи не будут импортированы из Active Directory в Битрикс24.
Решение:
Используйте только фильтр групп пользователей.
Когда активный фильтр из Active Directory был помещен в поле пользовательского фильтра, процесс импорта пользователя начал работать. (&(&(objectClass=user)(objectCategory=PERSON))(memberof=CN=BitrixCorpUser,CN=Builtin,DC=department1,DC=loc))
2. Синхронизация времени сервера Active Directory и времени Битрикс24.
При создании сервера нашего клиента в настройках не было указано время, поэтому импортированные пользователи оставались неактивными без ручной активации. В списке пользователей нет даты синхронизации. Без ручного редактирования эти пользователи не имеют прав и не могут ни войти в Битрикс24, ни синхронизироваться. Это все из-за настроек сервера.
Решение:
Измените значение параметра MySQL «explicit_defaults_for_timestamp» на «Выкл.».
- Выполнить проверку веб-сайта.
3. Конфликт между двумя копиями одного пользователя.
Если логин и электронная почта пользователя из Active Directory не совпадают с логином того пользователя, который ранее вручную регистрировался в Битрикс24, то в Битрикс24 будет две копии учетной записи для одного и того же человека. Необходимо деактивировать учетную запись Битрикс24, зарегистрированную ранее, и перенести все свои задачи на учетную запись пользователя, импортированную из Active Directory.
Решение:
сделайте пользователя, импортированного из Active Directory, основным пользователем и передайте все текущие задачи этому пользователю, затем запустите «копию».
4. В Битрикс24 импортируются только Верхние папки в Active Directory
Корректная синхронизация была возможна только для верхней папки Active Directory, тогда как вложенные папки игнорировались.
Подпапки были проигнорированы, потому что мы не импортировали структуру компании в Битрикс24. Если структура компании импортирована, синхронизация будет работать и для вложенных папок.
Если структура компании не импортирована, возможна только синхронизация верхних папок.
Решение:
Все пользователи были перенесены в одну папку, и синхронизация производилась из этой папки. Поскольку мы решили не переносить структуру, это было единственное решение.
5. Синхронизация копии имени и фамилии на другом языке.
Так как нашим клиентом была международная компания, то основное имя и фамилия были даны на английском языке. А вот внутри Битрикс24 было бы удобно видеть имена на локальных языках сотрудников — английском, испанском, французском, немецком и т. д.
Решение :
Добавлены и синхронизированы дополнительные Имя (RU) и Фамилия (RU) с использованием атрибутов «ExtensionAttribute1» и «ExtensionAttribute2». Не рекомендуется использовать стандартные поля Битрикс24 для решения этой проблемы, так как они используются в совершенно неожиданных местах. Например, нельзя использовать отчество в качестве стандартного ФИО на русском языке, потому что при синхронизации с iPhone пользователь iPhone стал Иванов Иванов Иван Иванович Иван.
6. Перенос больших изображений из Active Directory в Битрикс24.
Проблема вызвана ограничениями AD. Размер изображения ограничен 95×95 пикселей и не более 100 килобайт.
Решение :
В Active Directory добавлено дополнительное поле jpegPhoto. Размер также ограничен 100 килобайтами, но формат jpg обеспечит максимальное сжатие. Не рекомендуется загружать фотографии размером более 300х300 пикселей, так как Битрикс24 имеет ограничение 300х300 пикселей для вывода фотографий профиля, поэтому фотографии с большим разрешением будут слишком большими.
Вот некоторые подробности для разработчиков и администраторов:
Используемый метод — $arSyncFields.
В поля Битрикс вставляется следующая информация:
«EMAIL» => Array(«NAME» => GetMessage(«LDAP_FIELD_EMAIIL»), «AD»=>»mail», «LDAP»=>»email»),
На входе в массив, где первый параметр обязательный, это трансляция имени поля, вызываемого функцией GetMessage, второй параметр необязательный – это имя поля из AD, третий параметр необязательный – он имя поля из LDAP. Если поля совпадают, информация копируется из них. Если поле пустое, синхронизации не будет.
Таблица соответствия полей Битрикс24 и Active Directory
Битрикс24 | Перевод (RU) / Идентификатор перевода для функции GetMessage | 9 г. н.э.0012 | LDAP | Особые возможности |
АКТИВНЫЙ | Пользователь активен / LDAP_FIELD_ACTIVE | UserAccountControl&2 | UserAccountControl&2 | |
ЭЛ. АДРЕС | Эл. адрес / LDAP_FIELD_EMAIIL | почта | Эл. адрес | |
ИМЯ | Имя / LDAP_FIELD_NAME | собственное имя | Сп | |
ФАМИЛИЯ | Фамилия / LDAP_FIELD_LAST_NAME | sn | sn | |
ВТОРОЕ ИМЯ | Отчество / LDAP_FIELD_SECOND_NAME | | | |
PERSONAL_GENDER | Секс / LDAP_FIELD_GENDER | | | только М или Ж |
PERSONAL_ДЕНЬ РОЖДЕНИЯ | Дата рождения / LDAP_FIELD_ДЕНЬ РОЖДЕНИЯ | | | Формат ДОБ — 01. 01.1997 (день.месяц.год) |
ЛИЧНАЯ_ПРОФЕССИЯ | Профессия / LDAP_FIELD_PROF | | | |
ЛИЧНОЕ_ФОТО | Фото / LDAP_FIELD_PHOTO | thumbnailPhoto | jpegФото | Размер изображения — не более 100 килобайт |
PERSONAL_WWW | WWW-страница / LDAP_FIELD_WWW | wWWДомашняя страница | | |
PERSONAL_ICQ | аська (без перевода) | | | |
PERSONAL_PHONE | Телефон / LDAP_FIELD_PHONE | домашний телефон | | |
ЛИЧНЫЙ_ФАКС | Факс / LDAP_FIELD_FAX | | | |
PERSONAL_MOBILE | Мобильный / LDAP_FIELD_MOB | мобильный | | |
PERSONAL_PAGER | Пейджер / LDAP_FIELD_PAGER | | | |
PERSONAL_STREET | Улица, дом / LDAP_FIELD_STREET | адрес улицы | | |
PERSONAL_MAILBOX | Почтовый ящик / LDAP_FIELD_MAILBOX | почтовый ящик | | |
PERSONAL_CITY | Город / LDAP_FIELD_CITY | л | | |
PERSONAL_STATE | Регион / Территория / LDAP_FIELD_STATE | ул. | | |
PERSONAL_ZIP | Почтовый индекс / LDAP_FIELD_ZIP | Почтовый Код | | |
PERSONAL_COUNTRY | Страна / LDAP_FIELD_COUNTRY | с | | |
WORK_COMPANY | Название компании / LDAP_FIELD_COMPANY | Компания | | |
WORK_DEPARTMENT | Подразделение / Департамент / LDAP_FIELD_DEP | отделение | | |
РАБОЧАЯ ПОЗИЦИЯ | Должность / LDAP_FIELD_POS | заглавие | | |
РАБОЧИЙ ТЕЛЕФОН | Телефон / LDAP_FIELD_WORK_PHONE | номер телефона | | |
WORK_FAX | Факс / LDAP_FIELD_WORK_FAX | факсТелефонномер | | |
WORK_PAGER | Пейджер / LDAP_FIELD_WORK_PAGER | | | |
ADMIN_NOTES | Примечания администратора / LDAP_FIELD_ADMIN_NOTES | описание | | |
Наши выводы по интеграции Active Directory и Битрикс24
Эта интеграция является важным процессом для крупных компаний.
Интегрировать и синхронизировать Битрикс24 и Active Directory вполне возможно.
Необходимые для задачи инструменты есть в Битрикс24, но требует дополнительных настроек, а иногда и доработок.
В документации недостаточно информации, поэтому вашему интегратору придется изучать проблемы по мере их возникновения и настраивать множество параметров (Пользовательский фильтр, Соответствие пользовательских полей и атрибутов LDAP, Фильтр для групп пользователей, Корень дерева (базовое DN) ).
Корректная работа функционала синхронизации базового модуля обеспечивается только при установке на новый Битрикс24. При установке на Битрикс24, в котором уже есть ранее приглашенные пользователи, может возникнуть масса проблем. Их можно решить, но лучше их избегать.
ИНТЕРВОЛГА рекомендует интегрировать Битрикс24 с Active Directory при первой настройке Битрикс24.
Мы успешно интегрировали Active Directory с Битрикс24 к удовлетворению наших клиентов.
Если вам необходимо настроить интеграцию Битрикс24 и Active Directory, мы будем рады вам помочь.
Отправьте нам сообщение!
Что такое Интранет-портал?
Битрикс24: Ваше универсальное решение для интранет-портала
Битрикс24 — это высокодоступное программное решение для интранет-портала, предназначенное для предоставления функций корпоративного уровня и масштабируемости для предприятий любого размера. Интранет-портал Битрикс24, сочетающий отмеченную наградами безопасность и превосходную производительность с уникальным набором функций, является идеальным дополнением к философии управления вашим бизнесом.
Основные возможности интранет-портала Битрикс24:
Доступ на основе разрешений
Простые в использовании гибкие инструменты позволяют вам устанавливать пользовательские разрешения, которые контролируют доступ к функциям загрузки и редактирования. Наборы разрешений могут создаваться по группам пользователей или применяться к отдельным пользователям для детального контроля над действиями вашего портала интрасети.
Управление задачами
Создавайте и назначайте пользователям задачи для документирования шагов проекта, ежедневных действий и индивидуальных обязанностей. Используйте встроенные функции диаграммы Ганта для управления сроками проекта, подзадачами и согласования загрузки проекта с доступностью сотрудников, и все это прямо из вашей интранет-портал.
Документооборот
Создавайте библиотеки документов для удобного хранения важной информации и обмена ею. Используйте встроенные «Бизнес-процессы» для рабочих процессов утверждения документов или создавайте свои собственные с помощью графического редактора бизнес-процессов (только BizPace Edition). Сделайте свой интранет-портал домом для всего, что связано с процессами.
Управление взаимоотношениями с клиентами (CRM)
Отслеживайте развитие отношений с вашими клиентами и заказчиками от первоначального звонка до окончательного контракта непосредственно в вашей интранет-портал . Создавайте потенциальных клиентов, компании и контакты в инструменте CRM для удобного управления и просмотра статусов проектов, сообщений электронной почты и звонков по продажам. Свяжите потенциальных клиентов с продуктами или услугами и просмотрите свой потенциальный доход через воронку продаж, чтобы быстро и легко получить представление о своей продуктивности продаж.
Мощные возможности поиска
Мощная индексация Битрикс24 позволяет быстро и легко выполнять поиск по контактам, лидам и даже по содержимому документов (PDF, Word, Excel). Интеллектуальный поиск выдает предложения по мере ввода текста, аккуратно распределяя их по категориям для просмотра.