biconnectormobile 26.0.0 Заметное

Biconnectormobile 26.0.0: отчёты BI Конструктора в мобильном приложении включаются вручную

1 мин чтения
Узнавайте о ломающих изменениях Битрикса раньше, чем они доедут до прода: свежие разборы — в канале @bxmax_updates

В коробочный Битрикс24 пришёл модуль biconnectormobile («Мобильный BI Конструктор»), который показывает отчёты BI Конструктора (Apache Superset) в мобильном приложении. Разбор сделан по эталону Битрикс24, в «Управлении сайтом» этого модуля нет. Код модуля уже был в дистрибутиве в версии 25.0.0, обновление 26.0.0 раскладывает экраны в /bitrix/mobileapp/biconnectormobile/, но сотрудники ничего не увидят, пока администратор не включит фичу руками.

Новое

Включите BI в приложении

Выключатель — класс Bitrix\BIConnectorMobile\Public\Features\MobileBIFeature из секции feature-flags в .settings.php модуля. Он читает опцию biconnectormobile:bi_mobile_enabled, по умолчанию N. Включайте его через реестр флагов модуля mobile, а не через Option::set(). Метод enable() заодно сбрасывает тег кеша меню mobile_custom_menu, без этого раздел «Аналитика» в меню приложения останется в прежнем состоянии.

        <?php declare(strict_types=1);

use Bitrix\BIConnectorMobile\Public\Features\MobileBIFeature;
use Bitrix\Main\Loader;
use Bitrix\Mobile\Config\Feature;

Loader::requireModule('mobile');

Feature::enable(MobileBIFeature::class);

// Если biconnectormobile не установлен, реестр подсунет заглушку, которая всегда выключена
echo Feature::isEnabled(MobileBIFeature::class) ? 'BI в приложении включён' : 'Флаг не найден', PHP_EOL;

    

Feature::disable() удаляет опцию и тоже чистит кеш меню. Если модуля нет среди установленных, поставьте его из списка модулей. Без модуля biconnector установщик откажет, а mobile доустановит сам. При удалении модуль стирает все свои опции, так что после переустановки фичу придётся включать заново.

Проверьте права сотрудников

С включённым флагом в разделе «Аналитика» меню приложения появляется пункт «BI Конструктор». Его видят те, для кого AccessManager::canViewDashboards() вернёт true: установлен biconnector, в intranet доступен инструмент crm_bi, у пользователя есть право ACTION_BIC_ACCESS. Тариф модуль не проверяет, и в коробке это не нужно: без модуля bitrix24 Feature::isBuilderEnabled() из biconnector всегда возвращает true.

Вкладка «Аналитика» есть ещё в профиле сотрудника (событие mobile:onProfileTabsCollect появилось в mobile 26.1120.0) и в задачах, где её заготовил тот же mobile 26.1120.0. Коллаберы её в задачах не увидят, у них раздел открывается одним экраном без вкладок. Для вкладки мало прав, в её зоне должны найтись отчёты, доступные пользователю. Если запрос списка отчётов упал, вкладка прячется. Сбой уходит в логгер biconnectormobile.scope_visibility, но по умолчанию он выключен.

Обработчики вкладок в CRM и складских документах модуль тоже регистрирует (crmmobile:onGetTabs, catalogmobile:onGetDocumentTabs), но в crmmobile 26.400.0 и catalogmobile 26.100.0 таких событий нет. Эти вкладки появятся, только когда crmmobile и catalogmobile начнут бросать эти события.

Первое открытие отчёта

Открытие отчёта в первый раз может занять минуты. Если отчёт ещё не установлен или Superset не запущен, сервер в фоне готовит его (prepareView), а приложение показывает ожидание. О готовности оно узнаёт по pull-событию biconnector, а если событие потерялось, из опроса раз в 20 секунд.

Не ищите REST-методы

biconnectormobile.Dashboard.* (getList, getViewState, prepareView, getDescription, subscribeToUpdates) и biconnectormobile.Instance.getStatus — AJAX-действия для экранов приложения. restIntegration в .settings.php включён, но каждое действие закрыто фильтром Scope::NOT_REST, так что из вебхука или REST-приложения их не вызвать. Кроме него стоят авторизация, CSRF, только POST, проверка флага и BIConstructorAccess из biconnector. При выключенной фиче действие отвечает ошибкой FEATURE_DISABLED ещё до BIConstructorAccess, который проверяет инструмент crm_bi и права.

Подсмотрите, как встроиться в приложение

Если пишете свой мобильный модуль для коробки, biconnectormobile — компактный образец из 17 классов. Экраны он отдаёт приложению через mobileapp:onJNComponentWorkspaceGet, пункт меню добавляет в mobile:onMobileMenuStructureBuilt, вкладку профиля в mobile:onProfileTabsCollect, а выключатель держит в секции feature-flags.

Мелочи и находки

  • На несуществующий и на запрещённый отчёт getViewState отвечает одинаково, no_access, чтобы перебором id нельзя было узнать, какие отчёты есть на портале.
  • Логгеры biconnectormobile.scope_visibility, biconnectormobile.tabs и biconnectormobile.dashboard_preparation по умолчанию молчат. Чтобы они писали, включите их через (new \Bitrix\Main\Diag\LoggerRegistry())->enable('<id>') и опишите, куда писать, в секции loggers.
  • В константе AHA_ANALYTICS_EVENT_CLICK записано 'сlick_button' с кириллической «с». Строка намеренно повторяет опечатку из aha-подсказки модуля mobile, чтобы события попадали в ту же серию аналитики, и комментарий просит её не «чинить».

Новая версия вышла — разбор уже в Telegram

В канале @bxmax_updates публикуем каждый свежий разбор: что сломается, что устарело и что появилось в API. Узнаете до того, как обновите прод.

Подписаться

Читайте дальше

biconnectormobile 26.100.0 Заметное Свежее

Мобильный BI 26.100.0: пять закреплённых отчётов и пресеты фильтра из веб-версии

В biconnectormobile 26.100.0 появились закрепление отчётов и фильтр с пресетами, общими с веб-версией BI. Обе функции по умолчанию скрыты переключателями. Обновление пригодится тем, кто смотрит несколько постоянных отчётов с телефона или уже настроил наборы фильтров в браузере.

1 мин
tasks 26.800.0 Ломающее Свежее

Tasks 26.700.0–26.800.0: роботы с проверкой прав, чек-листы и новая длительность в REST

Tasks 26.700.0, 26.750.0 и 26.800.0 добавляют сортировку канбана, несколько чек-листов в действии создания задачи и робот «Добавить результат». Интеграциям потребуется проверить плановую длительность в REST, собственные действия БП и обработчики скрама. Роботы теперь проверяют права автора, а REST о…

5 мин
stafftrack 26.500.0 Ломающее Свежее

Stafftrack 26.400.0–26.500.0: офисы с геозонами и новые правила приёма чекинов

В Stafftrack 26.400.0 и 26.500.0 появился справочник офисов с геозонами, фотографиями и сигналами присутствия сотрудников. Одновременно изменились правила приёма точек маршрута и исчезли два публичных сервисных класса. Интеграциям, которые отправляют накопленные чекины или вызывают эти сервисы, потр…

4 мин
socialnetwork 26.400.0 Безопасность Свежее

Socialnetwork 26.300.0–26.400.0: массовая проверка прав на группы и защита ленты

Socialnetwork 26.300.0 и 26.400.0 закрывают доступ к чужим данным ленты и добавляют массовую проверку прав на группы. В проектах появились команды из оргструктуры и встраиваемый блок информации, а коллабы без extranet принимают только внутренних участников. Проверьте свои приглашения, ссылки на скра…

4 мин
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…

Можно закрыть чат и перейти на другую страницу. Когда ответ будет готов, на кнопке Домового появится отметка.

Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти