В декабре получился не очень большой выход доки. Но все потребности, связанные с изменениями законодательства с 1 января и выходом новой версии приложения BXDTO - освещены. Подробности - под катом.
В этом месяце вышли два новых курса. "Продвижение сайта и маркетниг" выделен из курсов Контент-менеджер и Администратор МОдули, другой курс - 1С-Битрикс:Энтерпрайз - написан с нуля и имеет узкую направленность: для "больших" клиентов и партнёров, их обслуживающих.
Новый раздел в API доке по D7. Более 130 страниц описаний методов, принципов работы и идеологии инструмента Сайты24 с точки зрения разработчика. Всё о Доменах, Сайтах, Страницах, Блоках и Шаблонах.
Дока по ядру D7 - хорошее дополнение REST функционала, который, тем не менее, остаётся основным и наиболее полным инструментом. Напомним что REST поддерживается и в коробке.
Больше спасибо Антону Долганину за его самоотверженный подход к документации!
Эта публикация написана после неоднократных обращений как клиентов, так и (к горести моей) партнеров. Темы обращений были разные, но причиной в итоге оказывался один и тот же сценарий, реализуемый как через админку, так и через api.
Я уже рассказывал на партнерской конференции 28 сентября, что мы хотим вовлечь в использование партнерских приложений максимальное количество пользователей Битрикс24. Особенно в контексте установки пользовательских шаблонов Битрикс24.Сайты и т.д. И один из шагов в этом направлении - разрешить пользователям без прав администратора устанавливать приложения. Вот как раз его мы и сделали.
Итак, если вы обратите внимание, то в карточке версии любого приложения для Битрикс24 появилась новая опция "Может устанавливать любой пользователь":
Она по умолчанию выключена, чтобы не сломать логику существующих приложений, которые ждут, что их будет устанавливать только пользователь администратор Битрикс24. Теперь вы можете включить эту опцию и на стороне приложения учитывать, что пользователь может любой.
С одной стороны мы даем возможность, как я уже написал, вовлечь всех пользователей в свое приложение, с другой стороны это означает, что вам надо тщательно продумывать сценарий установки и дальнейшего использования, поскольку REST всегда работает в рамках прав пользователя, чьими токенами пользуется. Если для ваших сценариев нужны токены администратора, то... только админам и надо разрешать ставить решение. Но это означает, что круг пользователей, принимающих решение об установке, у вас не вырастет .
Мы также даем возможность на уровне конкретного Битрикс24 настраивать разрешения на установку приложений. На платных тарифах администратор портала может прямо-таки выбрать группы, подразделения или отдельных пользователей, которым можно будет устанавливать приложения. На бесплатном тарифе все представлено одной галочкой - могут ли обычные пользователи устанавливать приложения или нет. Опция добавлена на странице настроек Битрикс24.
Всем доброго дня. Основой "выхлоп" в этом месяце пришёлся на выуск видео для курса "Контент-менеджер". Но мы не забывали и про другие курсы и про документацию. Публиковали всё по мере готовности и одобрения разработчиками. Подробности под катом.
Отчёт за два месяца сразу. Основной "выхлоп" в эти два месяца пришёлся на курс Контент-менеджер. Добавлено много уроков и видео. Вся остальная работа - типовая: обновление доки под новый функционал. Подробности под катом.
День добрый. Продолжаем учиться правильно кастомизировать Битрикс24 В этот раз рассмотрим тему - создание REST-интерфейсов к своей сущности в коробке Битрикс24
Нередко возникает задача обмена данными между Битрикс24 и другими системами. Что делать если обмениваться данными нужно по сущности, которую мы добавили в Битрикс24 сами? Создавать велосипед? Так уже все придумано до нас
Слово коллегам из Интерволги. В изучении этой темы вам поможет исходный код. Вебинар по этой теме к сожалению не состоялся.
Буквально недавно мы выпустили долгожданные Сайты24 в коробке. Здесь и далее речь про БУС, для Б24 отдельная песня. И вот уже спрашивают, а как вынести сайты на свой домен?
В этом месяце много добавлено в D7 и в курс КОнтент-менеджер, куда переезжает информация из других курсов. В мае мы возобновили Открытые линии в учебных курсах, но работают они не всю неделю, а два дня: вторник и четверг. О новинках - под катом.
В этой статье расскажем как реализовать бизнес-процессы по собственной сущности в коробочном Битрикс24. Слово коллегам из Интерволги.
В изучении этой темы вам поможет исходный код, а так же запись вебинара, на котором мы показали решения "в живую":
Введение
Часто с разными сущностями системы необходимо связать какую-либо логику. В Б24 есть два способа это сделать:
написать код;
создать бизнес-процесс.
Если для вашей задачи требуется обеспечить возможность создавать и изменять эту логику без привлечения программиста, то модуль БП как раз поможет это реализовать.
В данной статье расскажем как подключить бизнес-процессы к своей сущности.
В качестве «своей сущности» будем использовать торговые точки CRM, о добавлении которых в Б24 мы рассказывали в прошлой статье.
Список изменений в этом месяце не большой. Главное: выпущен курс с описанием Партнёрского Rest'а и выделен курс Установка и настройка. Установку выделили с целью уменьшить объём администраторских курсов. В рамках партнёрской программы этот курс будет обязательным для новых партнёров, но только со следующего месяца. Всем имеющим партнёрский статус на сегодня сертификаты по этому курсу будут зачтены автоматически. О новинках - под катом
В этой статье - создаем свою сущность, но в типовом интерфейсе. Это позволит разработчику не изобретать велосипед, а пользователю - использовть уже существующий опыт работы с системой. Слово коллегам из Интерволги.
В изучении этой темы вам поможет исходный код, а так же запись вебинара, на котором мы показали решения "в живую":
День добрый! В этом месяце вышел обновлённый курс Приложений Битрикс24. В следующем выйдет курс по Партнёрскому Rest'у. Он практически готов, можно анонсировать его публикацию. Детально о сделанном - под катом.
В этом месяце в отдельный курс была выделена Интеграция с 1С. Одновременно курс дополнен информацией по новой версии модуля обмена. Остальная работа - рутинная, обновления доки под обновления модулей, правки разного вида, дополнения и обновления. Детально о работе - под катом.
Сегодня же рассмотрим варианты решения одной из самых частых задач в коробке - как изменить пользовательский интерфейс. Добавить кнопку или дополнительную информацию, изменить поведение штатных элементов управления.
Казалось бы, что тут сложного? Скопировали шаблон компонента в свое пространство имен и кастомизировали как душе угодно. Но это, мягко говоря, не самый лучший подход. Использование папки local - так же "не идеально".
Почему же так и какие есть варианты решения задач - мы вам и расскажем. В этой статье демонстрируются 4 подхода на нескольких практических примерах. Они позволят вам "не ходить по граблям" самому, перенять полезный опыт и решать задачи эффективно. С нами снова делятся опытом коллеги из Интерволги.
В изучении этой темы вам поможет исходный код примеров из статьи, а так же запись вебинара, на котором мы показали решения "в живую":
Под катом подробная статья, слово коллегам из Интерволги:
Всем привет! Будем учиться кастомизировать Битрикс24
В этой большой и полезной статье расскажем как создать свое действие (активити) для коробочной версии продукта. Материалы подготовили ребята из Интерволги для нашей Академии. Спасибо Никите Калинину за такую детальную статью.
День добрый! В этом совсем не большом по продолжительности месяце выпущено довольно много. Вынесены в отдельную главу все компоненты в пользовательской доке, дополнены описанием новые компоненты. Работы над обновлением касс и магазина и другая текучка. Подробности под катом.
В обновление модуля cluster 17.0.1 выпустили интересную возможность, позволяющую реализовать работу веб-нод с локальными кешами и тем самым ускорить проект. При этом ядро обеспечит валидность кеша на всех нодах, удаляя помеченные ключи кеша на нодах кластера. Данный режим работы кластера очень хорошо себя зарекомендовал в различных нагрузочных тестах и реальной эксплуатации обеспечивая прирост порядка 30%, за счет более быстрой работы с кешем.
Настраивается данный режим достаточно просто. Предположим, есть две ноды на которых настроены роли веб сервера, мемкеша и БД. В этом случае необходимо выполнить следующие шаги.
1. Настроить memcache на использование веб сокета и модуль веб кластера на работу с мемкашем через сокет.
2. В модуле кластера добавить нужное количество групп ( /bitrix/admin/cluster_index.php?lang=ru )
3. На каждом сервере определить константы указывающие ID группы, а также включающий режим чтения слайвов из любой группы.
4. Перенести слайв сервера в админки БУС, по нужным группам. Для переноса слайв серверов в нужную группу необходимо, отредактировать соответствующие записи в таблице b_cluster_dbnode, установив нужное значение в поле GROUP_ID.
5. Для переноса серверов memcached в нужную группу, необходимо установить нужное значение ключа GROUP_ID в файле /bitrix/modules/cluster/memcache.php
После этого сервера начнут работать с локальным кешем через сокет, что значительно быстрее чем работа с удаленными серверами по tcp.
Всех с Наступающим! Традиционный отчёт о том, что сделано за месяц. Основное в этом месяце - это работа над Контент-менеджером и новые REST методы. Подробности под катом.
Конструктор лендингов в Битрикс24 еще пока очень молодой, а на практике хочется уже серьезных возможностей по оформлению. И когда их не хватает, на помощь приходит REST API, товарищи!
Первым делом самолеты вебхуки. Если не знаете, что это, то вам прямая дорога на мой вебинар, а для тех, кто следит за темой, просто добавлю, что нам потребуется создать на своем Битрикс24 входящий вебхук с правами на модуль Сайты (landings).
Прежде, чем перейти к танцам, поясню основную идею: я хочу добавить анимирование блоков при просмотре контента лендинга. Для этого есть куча готовых средств, и я воспользуюсь двумя - библиотекой animate.css и js-библиотекой JQuery Viewport Checker, поскольку jquery и так у нас автоматом цепляется. Если в лендинге использовать стандартные блоки из доступных в Битрикс24, то мы запросто можем привязаться к конкретным стандартным классам, чтобы вызывать для них анимацию. Вот и вся сказка.
В связи с тем, что мы научили Битрикс24 отправлять SMS не только из бизнес-процессов и роботов CRM, но заодно из карточки CRM (которая доступна везде, включая бесплатный тариф без бизнес-процессов), мы добавили соответствующий специальный REST для «служб сообщений». В первую очередь это сделано для интеграции с SMS, но вообще это универсальный механизм и в дальнейшем мы видим тут возможность отправки сообщений в произвольные источники.
Мы рекомендуем авторам интеграций с SMS-провайдерами перевести свои приложения на новый REST, чтобы у пользователей не было проблем с установкой на бесплатном тарифе. И вообще, несмотря на то, что мы стараемся прозрачно «пробрасывать» вызовы существующих провайдеров для бизнес-процессов и роботов CRM, лучше избавиться от этой прослойки и работать с нужными методами REST. Тем более, что только эти новые методы позволят вам не только отправлять SMS, но и сообщать Битрикс24 о статусе отправленных сообщений, чтобы этот статус пользователи видели прямо в карточке CRM (а в дальнейшем, и в отчетах инструментов CRM-маркетинга).
В этом материале я хочу рассказать и показать на практическом примере, как можно быстренько сделать интеграцию с SMS-провайдером. Коллеги, которые уже разрабатывали приложения для Битрикс24, могут пропустить вводную часть, а для остальных я начну с того, как вообще попасть в наш каталог Приложения24.
"Если труд, то труд такой уж, чтоб и польза была, и честь." (Луцилий Гай)
Для того чтобы создаваемый обработчик службы доставки был универсальным, мог работать независимо от конкретного сайта, как в публичной части так и в административной, использовал все возможности системы - необходимо чтобы он был создан в соответствии с новой архитектурой (начиная с версии 15.0.0 модуля "Интернет-магазин") механизма служб доставок. Класс обработчика должен являться наследником класса \Bitrix\Sale\Delivery\Services\Base.
Есть возможность ограничить использование службы доставки по каким - либо параметрам. Например, по максимальному весу или размеру. Для этого можно воспользоваться стандартными ограничениями, которые могут быть заданы через административный раздел - настройку службы доставки. Если же необходимо что - то особенное, например, ограничить использование службы доставки в зависимости от фазы луны, то можно создать собственный тип ограничений. О создании таких ограничений можно почитать здесь: пользовательские ограничения.
При создании службы доставки необходимо учитывать тот факт, что сайт может быть как в кодировке utf-8 так и в кодировке cp-1251. Если производится обмен данными со службой доставки - необходимо при этом правильно менять кодировку данных при отправлении и получении данных. Здесь может помочь метод \Bitrix\Main\Text\Encoding::convertEncoding().
В качестве примера служб доставок лучше всего подходят следующие: \Sale\Handlers\Delivery\SimpleHandler (/bitrix/modules/sale/handlers/delivery/simple/handler.php) простейший пример обработчика. \Sale\Handlers\Delivery\SpsrHandler (/bitrix/modules/sale/handlers/delivery/spsr/handler.php) вариант посложнее с использованием всех возможностей текущей архитектуры.
Для служб доставок существует механизм автоматического отслеживания идентификаторов отправления (трэкинг-номеров). Пример, как это реализовано для службы доставки СПСР: \Sale\Handlers\Delivery\SpsrTracking
Для запросов к сервису службы доставки рекомендуется использовать встроенный класс \Bitrix\Main\Web\HttpClient вместо сторонних расширений, например curl. Оптимальный формат обмена - json, так как возможно использовать встроенный класс \Bitrix\Main\Web\Json.
При обмене информацией с сервисами служб доставок зачастую необходимо передавать идентификаторы местоположений. Сопоставление идентификаторов местоположений интернет магазина с идентификаторами местоположений служб доставок - задача нетривиальная. Как пример можно использовать \Sale\Handlers\Delivery\Spsr\Location::mapStepless();
Чтобы не порождать лишних запросов к службе доставки и не замедлять работу сайта желательно при возможности кэшировать информацию полученную от сервисов служб доставок. Однако делать это надо аккуратно во избежание побочных эффектов. Как пример: \Sale\Handlers\Delivery\Spsr\Cache
В случае возникновения ошибок и для отладки желательно иметь возможность записывать события связанные с получением информации от служб доставок в системный журнал. Для этого можно воспользоваться классом \CEventLog.
И конечно же в случае обмена информацией со службой доставки необходимо предусмотреть корректную обработку случаев, когда по каким - то причинам сервер службы доставки недоступен или выдаёт неверный ответ.