Думаю, вы уже заметили обновленную СRМ в вашем Битрикс24: новый дизайн меню, новые формы, шапка документа, в которой можно собрать только важные поля, отчеты, дни рождения и многое другое.
Сегодня я расскажу вам о каждой новинке подробнее, поделюсь интересными сценариями и задачами, которые можно решить в обновленной CRM Битрикс24.
На курсах установлен новый, "темный", шаблон. Он будет использоваться только на курсах для разработчиков. (Разработчик Bitrix Framework, Курс для Хостеров, Композитный сайт, Разработка высоконагруженных проектов, Виртуальная машина.) Для пользовательских и админских курсов по прежнему используется старый, "светлый", шаблон.
День добрый! В этом месяце произошли изменения в тестах Администратор КП и Администратор системы курса Администратор сервиса Битрикс24 (коробочная версия). Они были разбиты на несколько коротких тестов, не более 30 вопросов, для удобства прохождения. Детально об изменениях в документации:
Имеем достаточно распространенную задачу - при изменении элемента инфоблока модифицировать другой. Кейс может быть какой угодно - это и логирование, и деактивация основного товара, когда нет активных предложений, и изменение даты активности связаного элемента. Никаких проблем, скажете вы. За 10 минут пишется обработчик, использующий метод CIBlockElement::Update, вешается на событие OnBeforeIBlockElementUpdate / OnAfterIBlockElementUpdate, вызывается тестовый пример, сервер падает... Epic fail в чистом виде...
Вчера мы выпустили обновление модуля "Мобильная платформа" версии 14.5.1. Пока это обновление в статусе бета. Самым значительным изменением является новый функционал под названием "Конструктор мобильного приложения", или КМП (как его называют наши тестировщики) Это огромный шаг к упрощению процесса создания мобильных приложений на нашей платформе. Постараюсь кратко описать это нововведение.
Снова хочу поделиться с вами новинками Битрикс24 и сегодня мой сценарий коснется не просто Битрикс24, но и Битрикс24.Network.
Хочу рассказать вам как работать с несколькими Битрикс24, которые зарегистрированы на разные E-mail адреса и как создать Единый вход.
В одном из обновлений Битрикс24 мы представили новый механизм авторизации через аккаунт Нетворка.
Мы создали этот механизм для более удобного и быстрого входа в любой Битрикс24, где вы работаете, без запоминания разных паролей и E-mail адресов, с которыми вы когда-то регистрировались.
Многие пользователи работают с разными Битрикс24 - где-то он может быть администратором, где-то экстранет пользователем, а где-то просто внутренним сотрудником. Но помнить для каждого Битрикс24 E-mail и пароль очень сложно, даже если у вас отличная память или вы храните пароли в специальной программе, в любом случае, это усложнит вход, так как требует и времени на поиск нужных данных для входа и заставляет постоянно задумываться какой пароль вы использовали при регистрации для конкретного Битрикс24.
Но теперь вам достаточно помнить один E-mail и только один пароль. Вы сможете войти в любой Битрикс24, где вы зарегистрированы, используя Единый вход.
Спешу поделиться с вами хорошими новостями, теперь телефония доступна и в коробочной версии Битрикс24 (пока в бете). А еще, для облака и коробки уже доступно подключение своей SIP АТС, но обо всем по порядку.
Теперь совершать исходящие звонки и принимать входящие вызовы можно и в коробочной версии Битрикс24.
Для всех активных лицензий доступны бонусные 250 рублей, которыми вы можете воспользоваться прямо сейчас, на своем портале.
Обратите внимание, что для работы телефонии в коробке, портал должен иметь доступ к сети интернет. Более подробно с требованиями для подключения можно ознакомиться в учебном курсе.
Сценарии работы со звонками подробно описаны в нашем блоге Битрикс24, все настройки аналогичны и для коробочного продукта.
Вы также можете привязать свой номер для исходящих звонков или арендовать номер у нашего оператора, чтобы принимать входящие звонки на своем портале.
Стоимость аренды номера всего 1000 рублей в месяц, вам будет доступно:
- неограниченное число входящих линий - неограниченное число входящих звонков - внутренние номера для всех сотрудников - правила обработки входящих вызовов - нотификации о пропущенных звонках - запись разговоров - история входящих, исходящих, пропущенных звонков - подробная статистика по всем звонкам - интеграция с CRM
Для входящих звонков доступны настройки номера, где вы сможете включить запись звонков, активировать опцию проверки номера по базе CRM, выбрать сотрудников, которые будут работать с входящими звонками и даже установить свои мелодии приветствия или удержания звонка.
Все настройки доступны в публичной части сайта, на странице Телефония - настройки телефонии и настройки номера.
Важнейшим показателем качества работы любого сайта является скорость его загрузки. Если посетителю вашего ресурса придется ждать загрузки страницы хотя бы несколько секунд, с высокой долей вероятности он уйдет. Ведь интернет пестрит альтернативными предложениями.
Медленные сайты раздражают. Ведь в век скоростных каналов связи мы продолжаем тратить свои нервы на ожидание загрузки страницы.
Летнее затишье коснулось и нас, объём выполненных работ в этом месяце не такой большой. Создан специальный курс по старой версии интерфейса системы. Описание старого интерфейса удалено из курса Контент-менеджер.
Эта публикация является ответом на пост Антона Долганина о выпущенных новых возможностях модулей, относящихся к магазину (валюты, инфоблоки, каталог, магазин).
Итак, рассмотрим (вкратце) новые возможности, не слишком подробно освещенные ранее.
Сегодня, я поделюсь с вами еще одним сценарием борьбы с дублями в CRM Битрикс24.
Раннее мы представили поиск дублей при создании новой сущности, а также поиск и работу с дублями при импорте контактов. Сейчас на ваших Битрикс24 уже установлено обновление, в котором появился поиск существующих дублей.
Думаю много рассказывать о том, для чего нужен этот инструмент не требуется, так как любая компания, работающая с большой базой клиентов, часто сталкивается с ситуацией когда в базе накапливаются дубли. Порой, даже проверка дублей при создании новой сущности может оказаться не совсем эффективной так как сотрудникам проще зафиксировать свой контакт как новый, нежели сравнивать с тем, что уже есть. Ну а учитывая что проверка в Битрикс24 была реализована не сразу, уверена, в вашей базе уже есть с чем поработать
Давайте же приступим к поиску и объединению дублей в вашей базе CRM.
Привет! Скоро осень - учебная пора. Мы даем отличную возможность получить новые навыки разработки под Bitrix Framework. Кто еще не знает, или знает, но не посещал: с 25.08 стартуют группы по трем курсам.
Курс №1 - Интеграция дизайна и настройка платформы
Быстро начать профессиональную разработку на «1С-Битрикс». Узнаете как легко и быстро собирать сайт по готовой HTML верстке, настраивать права и многое другое. Вы поймете, что многие задачи решаются очень просто
Курс №2 - Основные технологии и расширение типовых возможностей системы
Курс расскажет, что делать, если типового функционала системы не хватает. Рассматриваются основные технологии системы: события, почтовая система, агенты, разработку собственных компонентов, комплексные компоненты. Иногда можно решить задачу несколькими строками кода, а не писать "свой модуль". И тем более не нужно менять ядро.
Курс №3 - Расширенные технологии и производительность Позволит узнать, как делать свои модули, писать "свою админку", создавать сложные каталоги, оптимизировать скорость работы сайта. И конечно научиться использовать технологию "композитный сайт" и сдавать сайт по монитору качества.
Подобран для максимального удобства участника: удаленно, видео-уроки, реальные практические задачи, наш хостинг для решения, форум и вебинары для консультаций. Вам не нужно ездить на занятия, вы сами регулируете нагрузку в течении дня. Самое главное - мы проверяем все ваши решения и не принимаем, пока не будет сделано верно. А если что-то не получается - на специальном форуме группы вам помогут. Отличники получают сертификат и скиду на покупку других курсов!
Достаточно быстро создан курс Пользователь коробочной версии Битрикса24. Точнее он был пересобран из старого курса и курса Пользователя Битрикс24, с адаптацией коробки под дизайн Битрикс24 и проверкой функционала. Курс имеет новый номер, старый не убирали с сайта, если у кого используется дизайн Lite, то можно обращаться к старому курсу. Правда, он поддерживаться и актуализироваться не будет.
Продолжая делиться сценариями последних новинок Битрикс24, сегодня, расскажу вам о телефонных звонках в Битрикс24.
Любая компания, которая предлагает свои товары и услуги на рынке, работает с клиентами. Напрямую или через партнеров, в любом случае, взаимодействие с покупателем – это важная составляющая любой сделки.
В Битрикс24 есть удобный инструмент для работы с клиентами – CRM. Здесь можно вести базу клиентов, планировать встречи, звонки, вести переписку, решать задачи и даже обсуждать какие-то вопросы в ленте.
Разбираться как работать с новым разделом в продукте «Управление масштабированием» мы начнем с установки CentOS, и последующей установки «1С-Битрикс: Веб-окружение» 5.х»
Установка CentOS
В ролике показана установка CentOS на виртуальную машину, я подготовлю сразу 4 машины, чтобы показать в дальнейшем все возможности.
Формы комментариев добавлены ко всем курсам. На каждой странице курса, в самом низу есть возможность оставить комментарий к странице. Там можно сообщить об ошибке, указать на неточность. Это инструмент для тех, кто хочет помочь нам сделать наши курсы лучше.
При использовании ORM, а именно в процессе выборки данных у разработчиков часто возникает вопрос: "Почему в GROUP BY автоматически попадают некоторые поля? Я не указывал этого явно в вызове getList/Query". Давайте разберемся, что это за явление, и почему так и должно быть.
Хочется посоветоваться с сообществом. Давно получаю просьбы о переделке шаблона курсов под более современный. В пример приводятся варианты вида http://dochub.io/#css/animation-name.
В этом месяце, наконец-то, выпущен курс Разработка и эксплуатация высоконагруженных проектов. Этот проект дался нам тяжело, в силу сложности самой темы. Надеемся, что он будет полезен всем, кто работает в Web'е по серьёзному, а не так, "визитки" от случая к случаю. Курс будет дополняться, естественно, и развиваться. Сертификация не предусмотрена, он предназначен только для обучения. Информация даётся по высоконагруженным проектам вообще, а не только по проектам на Битриксе. То есть будет полезен и тем, кто создаёт проекты и на других системах.
3. Страницы с расширением *.html не обрабатываются. Что делать? На странице настроек в поле "Маска включения" добавляем "*.html".
4. Как учитывать композитные страницы в Google Analytics? Google Analytics и Яндекс.Метрика собирают данные клиентской загрузки на основе Navigation Timing. Эта статистика показывает реальное время, с которым пользователи открывают страницы вашего сайта. Здесь важно понимать, что композит влияет только на время ожидания ответа от сервера (Server Response Time). Он не влияет на время: а) DNS lookup б) TCP-соединения в) загрузки JS, CSS и картинок.
По глобальной JS-переменной window.frameRequestStart можно определить, что страница отдалась пользователю из композитного кеша.
Код для Google Analytics нужно располагать ниже кода, выполняющего фоновый композитный запрос.
5. В чем разница между $this->createFrame()->begin(); и $this->createFrame()->begin(""); ? Есть несколько способов выделить в шаблоне компонента динамическую область. Самый популярный вариант выглядит так:
Этот способ позволяет избежать дублирования и повторного выполнения код. С версии main 14.5.2 контент заглушки стал учитываться при подсчете хеш-суммы кеша.
6. Какие еще особенности у begin и beginStub? Важно понимать, что код между вызовами begin-beginStub и beginStub-end выполняется всегда. И на первом хите к странице (на котором создается кеш) и на аякс-хите. Эти методы занимаются буферизацией контента и не являются аналогами конструкции if-else.
7. В теге <head> есть блок php, который проверяет специальный Cookie, и если он установлен, добавляет блок <style> с нужными стилями. Генерируется новая страничка, кеш перезаписывается. Как быть в таких случаях? Вынести эту логику в Javascript.
8. Что является причиной перезаписи кеша? Причин много. Вот самые популярные: - Случайные ID в HTML и Javascript. Метод randString поможет решить эту проблему. - Вывод данных из сессии (id, login). - Контент страницы зависит от User Agent. - Разный контент для анонимного и для авторизованного пользователя. - Добавление на страницу CSS- и JS-файлов в зависимости от пользователя.
9. Поменяли верстку в шаблоне сайта, но страницы из кеша отдаются в старом дизайне. Кеш обновляется фоновым аякс-запросом, поэтому первый хит будет еще со старым дизайном. После подобных изменений сайта эффективнее очистить весь композитный кеш.
10. Счетчик товаров в корзине пользователя находится в динамической области. Некрасиво прыгает цифра: сначала ноль, потом один. Давайте подобно посмотрим, из-за чего это происходит. - В файл кеша записывается заглушка "0 товаров в корзине". - Страница из кеша отдается пользователю и показывается. - Даже если аяксовый хит с нужными данными приходит раньше, чем отрендерилась страница, все равно пользователь на мгновение видит заглушку. - Это происходит из-за того, что все вставки в innerHTML (в том числе из sqlite) происходят на событии DOMContentLoaded. - Хотя в большинстве случае виноват даже не DOMContentLoaded, а долгое выполнение аяксового запроса.
Чтобы побороть моргание, нужно вставить актуальные данные в страницу до того, как она покажется пользователю.
Как вставить до рендеринга?
а) document.write - это конструкция останавливает рендеринг страницы, для того, чтобы на лету вставить в DOM новый HTML. Разработчики браузеров не рекомендуют ее использовать, но она работает.
б) Разместить Javascript в странице так, чтобы он располагался после HTML'я, к которому обращается. Это старый забытый способ начала 2000-x годов, когда еще jQuery'ая $.ready() не замылила всем глаза. $.ready() или битриксовая BX.ready - это выполнение кода на событии DOMContentLoaded. Это событие гарантирует, что DOM построен и к нему можно безопасно обращаться. Минус этого события в том, что на больших страницах интерфейс уже успевает пользователю показаться, отсюда и моргание.
Да, есть вероятность нарваться на Exception, поэтому можно подстраховаться:
function changeBox()
{
document.getElementById("box").style.background = "blue";
}
var box = document.getElementById("box");
if (box)
{
changeBox();
}
else
{
BX.ready(function() { changeBox(); });
}
Откуда взять актуальные данные?
Три варианта: - Cookies - SQLite - LocalStorage
Самый приемлемый вариант - это localStorage. Это key-value хранилище, которое поддерживается всеми браузерами, даже IE8. Данные localStorage доступны мгновенно сразу во всех вкладках. Т.е. если у пользователя открыто 10 вкладок магазина и он в одной из них жмет "Добавить в корзину", то через событие localStorage'а можно мгновенно поменять во всех вкладках счетчик корзины.
Для localStorage в Битриксе есть своя обвязка под названием BX.localStorage. Она позволяет указывать время хранения данных.
Основные методы: BX.localStorage.set(key, value, ttl) BX.localStorage.get(key) BX.localStorage.remove(key)
В итоге: счетчик корзины и имя пользователя можно кешировать в localStorage и использовать эти данные для борьбы с морганием.
11. Если еще какие-нибудь способы борьбы с морганием? Все зависит от дизайна сайта и от контента динамических областей. Старайтесь делать верстку так, чтобы вставка динамических областей не приводила к прыганию соседних элементов. C помощью метода setAnimation(true) можно добавить эффект плавного появления контента. Экспериментируйте с содержимым заглушек. Заглушка может быть пустой, а может повторять содержимое динамической области (см. пункт 5).
12. Динамическая область автоматически оборачивает свой контент в дополнительный div, который портит верстку сайта. Композитному кешированию необходимы html-контейнеры для вставки в них содержимого динамических областей. Можно использовать свои контейнеры:
Как известно, используемое в продукте расширение mysql объявлено устаревшим в PHP 5.5.0. Поэтому в новом ядре было сразу предусмотрено использование актуального расширения mysqli. Но в одном из этапов разработки мы решили совместить старое и новое ядро в один жизненный цикл. Так как старое ядро не умело работать с mysqli, то и в новом его не получалось использовать.
В ближайших обновлениях главного модуля композитный режим получит ряд изменений. Список улучшений выглядит так:
main 14.5.1 - Административная панель отключает композитный режим на странице и не может быть записана в кеш; - Константа POST_FORM_ACTION_URI дает одинаковый результат для адресов /folder/ и /folder/index.php; - Решена проблема с адресами, которые заканчиваются на .html и с адресами без слеша в конце.
main 14.5.2 - Поддержка memcached; - Отказ от поддержки IE9 и ниже; - Централизованная обработка bitrix_sessid_post(); - Учет голосования закешированных шаблонов; - Учет контента "заглушек" динамических областей при подсчете хеша страницы.
Главная фича - это поддержка memcached, как хранилища для кеша страниц. На странице настройки композитного режима можно указать, где хранить кеш: в файлах или в memcached.
Кластерный вариант memcached использует настройки модуля Веб-кластер. Требуется наличие этого модуля.
Остальные изменения направлены на минимизацию ситуаций, при которых происходит перезапись кеша.
1. Функция bitrix_sessid_post() генерирует hidden поле с хешом от ID сессии, чтобы "подписывать" все формы в компонентах (защита от CSRF). Теперь эта функция вернет пустой value, а реальное значение установится через JavaScript.
2. Старые версии Internet Explorer имеют ограничения на количество элементов <style> и <link type="text/css">. В определенных ситуациях часть CSS для этих браузеров выводится в inline-виде. Также существует вероятность отдать страницу из кеша, в которой не будет работать часть CSS-правил. Мы приняли решение отключить композитный режим для IE6-9.
3. Административная панель отключает на странице композит. В кеш она никогда не запишется. Это связанно с особенностями ее работы, а также с безопасностью.
4. Если шаблон компонента отдается из кеша (через $this->StartResultCache()) и при этом шаблон голосовал "против", то композитный режим будет отменен. До версии main 14.5.2 закешированный шаблон всегда голосовал "за". Проверьте свои страницы, в отладочном логе будет присутствовать специальная пометка "(from component cache)".
5. Константа POST_FORM_ACTION_URI перестала быть причиной перезаписи кеша. На страницах /folder/ и /folder/index.php ее значение будет одинаковым.
С учетом вышеперечисленных обновлений мы изменили на странице курса настройки для nginx.