vibecodeconnector 26.450.0 Заметное

Vibecodeconnector 26.300.0–26.450.0: ссылки на приложения, правка карточки и каталог только для сотрудников

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

Модуль «Интеграция с Битрикс24 Вайбкод» связывает портал с платформой Битрикс24 Вайбкод и ведёт в мессенджере каталог вайбкод-приложений и ботов. В коробочный Битрикс24 одним днём пришли три его версии: 26.300.0, 26.400.0 и 26.450.0. Последняя правит только облачное лицензирование Vibe+ и в коробке ничего не меняет. Своим приложением теперь можно поделиться и отредактировать его прямо из каталога, сам каталог видят только сотрудники, а на новой коробочной установке он выключен.

Новое

Делитесь приложением и выдавайте ссылку (26.300.0)

В меню своего приложения появились пункты «Поделиться» и «Удалить», а из меню всех карточек убрали «Открыть в Вайбкод» и «Открыть в чате». В диалоге «Поделиться» владелец выбирает, кто получит доступ: только он сам, указанные сотрудники и отделы (до 200 сотрудников и до 200 отделов), все сотрудники портала, все, у кого есть Битрикс24, или все без авторизации. Для людей вне компании есть публичная ссылка со сроком от 5 минут до 10 лет и галкой «Требовать вход через Битрикс24».

Менять доступ может владелец или администратор портала, и только у приложений, не у ботов. Настройки хранит платформа, портал пересылает ей запросы. «Удалить» тоже ведёт на платформу. На портале приложение не удаляется, диалог отправляет на его страницу редактирования.

Ещё владелец теперь может скрыть из каталога собственное приложение, раньше не мог.

Правьте название, описание и иконку (26.400.0)

Пункт «Настройки приложения» в меню своей карточки открывает редактирование. Название от 2 до 100 символов, описание до 500. Иконку можно загрузить или удалить. Файл до 5 МБ и 4 Мп, PNG, JPEG, GIF, WEBP или BMP; формат модуль определяет по содержимому, а картинку ужимает до 256 px. Правка сразу уходит на платформу, и если синхронизация не удалась, портал откатывает изменения и удаляет загруженную иконку.

Экшен для своего интерфейса называется vibecodeconnector.Catalog.update: POST, параметры catalogItemId, title, description, iconAction (replace или delete, без него иконка не меняется), файл в поле icon. Запрос больше post_max_size PHP отбрасывает целиком, экшен это распознаёт и отвечает ошибкой ICON_TOO_LARGE.

У DTO CatalogItem, которые отдаёт Public\Provider\CatalogProvider, появился флаг isDescriptionDefault. Он равен true, когда владелец описание не писал и в description лежит текст по умолчанию.

Проверяйте, положен ли пользователю каталог (26.300.0, 26.400.0)

Экстранет-пользователи каталог не откроют. В 26.300.0 модуль перестал подключать им кнопку каталога, а с 26.400.0 вместо каталога им открывается заглушка «Просмотр каталога недоступен». Все экшены контроллера Catalog с 26.400.0 закрывает префильтр CheckCatalogAvailability. Если каталог на портале выключен или пользователь не интранетный, экшен вернёт ошибку CATALOG_NOT_AVAILABLE.

На сервере ту же проверку делает Public\Service\AvailabilityService. В нём два новых метода. isAvailableForUser() проверяет, что каталог включён и пользователь интранетный, а isAllowedForUser() смотрит только на тип пользователя. Сервис зарегистрирован в ServiceLocator, так что ссылку на каталог в своём меню можно прятать так:

        <?php declare(strict_types=1);

namespace Vendor\Portal\Integration\Vibecode;

use Bitrix\Main\DI\ServiceLocator;
use Bitrix\Main\Loader;
use Bitrix\Vibecodeconnector\Public\Service\AvailabilityService;

final class CatalogMenuVisibility
{
    public function isVisibleFor(int $userId): bool
    {
        if (!Loader::includeModule('vibecodeconnector')) {
            return false;
        }

        return ServiceLocator::getInstance()
            ->get(AvailabilityService::class)
            ->isAvailableForUser($userId);
    }
}

    

Включите каталог на новой коробке вручную (26.400.0)

Установщик теперь включает каталог, только если подключается модуль bitrix24 и зона портала ru. В коробке модуля bitrix24 нет, поэтому после свежей установки каталог выключен, пока администратор не отметит «Видимость на портале» в настройках модуля. Там же стоит вторая галка, «Открывать приложения внутри Битрикс24», и на новой коробке она тоже снята. Без неё страница открытия приложения после проверки доступа перенаправляет на адрес самого приложения, а до 26.300.0 отдавала ошибку OPEN_APP_DISABLED. На порталах, где модуль уже стоял, обе галки остаются как были.

Галка «Видимость на портале» вызывает AvailabilityService::setEnabled(). С 26.300.0 метод заодно включает и выключает кнопку вайбкода в мобильном мессенджере (опция immobile is_vibecode_button_available). Если раскатываете порталы миграциями, видимость включает такой шаг:

        <?php declare(strict_types=1);

use Bitrix\Main\DI\ServiceLocator;
use Bitrix\Main\Loader;
use Bitrix\Vibecodeconnector\Public\Service\AvailabilityService;

if (Loader::includeModule('vibecodeconnector')) {
    ServiceLocator::getInstance()->get(AvailabilityService::class)->setEnabled(true);
}

    

Не снимайте метку «новое» за пользователя (26.300.0)

Приложение перестаёт быть новым, как только пользователь увидел его в списке каталога. Раньше для этого его нужно было открыть. Веб-каталог открывается на вкладке «Новые», если там что-то есть, а на пустой возвращается к «Активным».

CatalogProvider::listAccessibleToUser() получил необязательный параметр markViewing и ещё два для постраничного вывода. Отметку просмотра ставит только вызов с markViewing: true. Если показываете приложения каталога в своём виджете, оставьте флаг выключенным, иначе виджет будет гасить метку «новое» раньше, чем пользователь откроет каталог.

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

  • Public\Command\Catalog\Item\UpdateCatalogItemCommandHandler::__invoke() раньше возвращал элемент каталога Internal\Entity\Catalog\CatalogItem, а с 26.400.0 возвращает UpdateCatalogItemCommandResult с полями item и displacedIconFileId. Ядро вызывает обработчик только из UpdateCatalogItemCommand, и в результате run() ключ item остался на месте. Если вы вызывали обработчик напрямую, берите элемент из ->item.
  • Синхронизация пользователей с платформой приехала (26.300.0) выключенной за флагом Internal\Config\Feature\UserEvents. Обработчики OnBeforeUserUpdate, OnAfterUserUpdate, OnAfterSetUserGroup и OnAfterUserDelete модуль регистрирует уже сейчас. Когда флаг включат, OnBeforeUserUpdate начнёт дописывать ключ PREV_ACTIVE в поля CUser::Update(), где есть ACTIVE, и ваши обработчики этих событий его тоже увидят.
  • В настройках модуля адрес активного подключения теперь вводится вручную и проверяется при сохранении, список известных адресов только подставляет значение в поле (26.400.0).

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

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

Подписаться

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

signmobile 26.300.0 Заметное Свежее

Signmobile 26.200.0–26.300.0: подписанные документы КЭДО можно аннулировать с телефона

Signmobile 26.200.0 и 26.300.0 пришли в коробочный Битрикс24 одним днём. В 26.200.0 только внутренние правки, а 26.300.0 перенесла в мобильное приложение аннулирование подписанных документов КЭДО из [sign 26.700.0](/bitrix-updates/sign/sign-26-700-0). Пригодится порталам с кадровым ЭДО и тем, кто пи…

3 мин
mobile 26.1050.0 Заметное Свежее

Mobile 26.1000.0–26.1050.0: Мобильный Маркет и личный кабинет за опциями, push/listener ловит пуш при холодном старте

Модуль mobile пришёл в коробочный Битрикс24 сразу двумя версиями, 26.1000.0 и 26.1050.0 (прошлую, 26.975.0, мы [разбирали отдельно](/bitrix-updates/mobile/mobile-26-975-0)). Почти всё новое лежит в 26.1000.0: Мобильный Маркет и личный кабинет сотрудника (оба выключены опциями) и JS-модуль `push/list…

2 мин
crm 26.1400.0 Ломающее Свежее

Crm 26.900.0–26.1400.0: CRM V2 для PHP, CCrmDeal::Add только через Operation и белый список фильтра в crm.item.productrow.list

В коробочный Битрикс24 одним днём пришли шесть версий CRM: 26.900.0, 26.1000.0, 26.1100.0, 26.1200.0, 26.1300.0 и 26.1400.0. PHP-разработчику достался типизированный слой CRM V2, на котором строится и REST 3.0, а интеграции перед обновлением стоит проверить на `crm.item.productrow.list`, записи в та…

1 мин
calendarmobile 26.550.0 Заметное Свежее

Tasks 26.325.0, tasksmobile 26.800.0, crmmobile 26.400.0, calendarmobile 26.550.0: форматирование в чек-листах и запись визита в приложении

В коробочный Битрикс24 одним шагом встали tasks 26.325.0, tasksmobile 26.800.0, crmmobile 26.400.0 и calendarmobile 26.550.0. Пункты чек-листа теперь форматируются в новой карточке задачи и в приложении, а разметка хранится BB-кодами прямо в названии пункта. Если ваша интеграция показывает пункты че…

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

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

на связи

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

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

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

Войти