v2.0.0
Система и авторизация (или как назвать раздел)
Мультитенантность
Мультитенантность -
это модель организации работы
В системы,е реализована поддержка мульти которенантной архитектуры. Теперь в рамках одного стенда (установки) могут одновременжно оргабнизотвать несколько независимых клиентов или подразделений. Каждый остакойью изолированныйх контуров называется— тенантомв. ВКаждый тенант представляет собой независимое дпространство с собственныеми (пользователями, потоками, подключения, лицензии и т.д.) внутри тенанта полностью отделены от других тенантов, что позволяет безопасно предоставлять доступ разным группам пользователей на одном сервере.Основные понятия:Тенант - логическая единица изоляции. У каждого тенанта есть название и уникальный идентификатор.Администратор системы - пользователь с наивысшими правами, который управляет всеми тенантами и может назначать администраторов тенантов.Администратор тенанта - пользователь, который управляет объектами внутри назначенных ему тенантов, но не имеет доступа к другим тенантам и не может создавать администраторов системы.Пользователь - обычный участник (разработчик, аналитик, зритель), который работает с объектами своего тенанта при наличии лицензиями.
Цели:
ВнедУпр
ение новой сущности – тенанта, выполняющей роль закрытого контура в рамках стендаРазграничение доступа по тенантам с использованием новой роли – Администратор тенантаПредоставлениеадминистратору стенда возможности создавать и устанавливать тенант пользователямЛицензирование в рамках тенантов
Задачи:
Создать сущность – "Тенант" и отдельную вкладку для неё в панели администратораОбеспечить доступ к вкладке только администратору стендаНа вкладке реализовать создание, удаление, переименование тенантаРеализовать привязку к тенанту:Потоков (настраивается вручную)Подключений (настраивается вручную)Пользователей и групп пользователей (настраивается вручную)Лицензий (настраивается вручную распределением имеющихся лицензий)Лицензий на публикации (настраивается вручную распределением имеющихся лицензий)Активных директорий (настраивается вручную)Заданий на обновление (присоединяется к источникам)
Добавить выбор тенанта при создании пользователяДобавить роль "Администратор тенанта" – с правами по умолчанию как у администратора, но в рамках выделенного тенанта, может создавать пользователей с ролью не выше админа тенантаИзменить роль "Администратор" – не привязывается к тенанту, может создавать любых пользователей
Сохранять состоянием (положение/авторизацию) в системе (переделай название) и нужно объединить три таски и написать в общем о фиче
1) Соинхронизанциять состояния авторизации между вкладками браузера
Состояние авторизации пользователя теперь синхронизируется в реазльном времени между на всех открытыхми вкладках одного браузера
Пользовательскмий путь:
Открыть стенд Fastboard (любой)Сделать дубликат вкладки (в рамках одного браузера)Разлогиниться на одной из вкладокПерейти на другую вкладку со стендом
Итог:
Если пользователь открыл один стенд сразу на нескольких вкладках одного браузера, открытыми на одном пстенде.
Поведение системы:
-
При выходе из учётной записи на одной
извкладкених онвсе остальныется в своёмаккаутивнтыена всех другихвкладках. Припэтопыткго жеобновить страницу или перейти в другую областьстенда автоматически завершают сессистема разлогинитю пользователя. -
При входе в систему на
этодной вкладке, но до этогоостальныемовкладки такжетвыполняютьлавторизациюбыот имени данного пользоватейля. -
До момента автоматичес
ицыткого завершения сессии (кнапример, доторые неследующегохобновления странятся).Прилиэтперехом нда вкладке, на которугой раздел) пользователь сохраняет доступ к текущему состоянию вышкладки. Делйствиз аккаунтая, совершённые в этот период, не сохраняются. -
При повторном входе на вкладке, с которой был выполнен выхо
сд, пользователь перенанправляется в тойу же областиь стенда, из которой вышел. Навсех дпругочих вкладках при повторнойпопыткеавторизации выполняется перенаправленитсяе в черновики.Необходимо выполнять выход из аккаунта на всех активных вкладках со стендом Fastboard:При выходе пользователя необходимо отправлять сигнал всем активным вкладкам одного браузера, что пользователь разлогинился (аналогично вызову функции "Выход" на каждом из стендов)Добавить реакцию системы на сигнал с другой вкладки – принудительно разлогинивать пользователя, если он вышел из аккаунта на других вкладках
АЗавершен
алогичное действиедля попытки входа,сесли одновременно открыто несколько вкладок с одним стендом:При входе на одной вкладке отправлятьсигнал всем остальным вкладкам одного браузера, что пользователь вошёл в системуНа других вкладках при получении сигнала выполнять вход в систему от имени данного пользователя
Итог – на всех активных вкладках всегда должно быть одинаковое состояние: пользователь либо везде авторизован, либо везде не авторизован2)Разлогиниватьпользователя через панель администратораНет возАдможиноисти завершить сессию определенного пользователя чеорез интерфейссистемы.Необходимоумжетьпросматслежривать текущий статуспользователя в системе через панель администратораПуть: Панель администратора –> Вкладка "Пользователи" –> Новая вкладка "Статус" (между вкладками "Данные" и "Черновики")Интерфейс в рабочей области:Текст "Текущий статус"Под текстом надпись, отражающая статус:Активен – зелёным цветом ИЛИНеактивен – красным цветомПри возможностирядом с "Не активен" вместо кнопки завершения сессии вычислять время последнего входа и писать "Был в системе n минут/часов/дней назад"
Кнопка "Завершить сессию" – появляется только если текущий статус = "Активен"Модальное окно при завершении сессии:Текст "Вы действительно хотите завершить текущую сессию для выбранногопользователя?ейБи принудитет выполнен выход из даньногозаккаунта со всех устройств."Кнопка "Отмена" – возвращает админа в рабочую областьКнопка "Подтвердить" – разлогинивает выбранного пользователя и возвращает админа в рабочую область
Логика:Текущий статус определяется по наличию входа пользователя хотя бы на одном устройствеМожно фиксировать и хранить дату и время последнего выхода пользователя на бэкенде, чтобы использовшать ихдля оценки времени последнего сеансаЕсли время меньше часа, то округлять до минут и писать "Был в системе n минут назад"Если время меньше дня, то округлять до часов и писать "Был в системе n часов назад"Если время больше дня, то округлять до дней и писать "Был в системе n дней назад"
При завершениисессииактивировать для выбранного пользователя ручку на бэкенде для разлогинивания егона всех устройствахРазлнепогисредственивание должновыполняться моментально, без необходимости у конечного пользователя обновлять страницу
ВАЖНО! До повышения производительности системы решение будет разлогинивать пользователя после действия, а не моментальноКритерии приёмки:В админпанели адможино выбистратьора.пСо
льзхранение совастелояния навиполучит корректную информгацию о его сессии всистемеURL
При завершении активной сессии выбранный пользователь при следующем активном действии (н-р, обновленииURL страницы
илитеперехь оде в
3) Сохтраняжаеть состояние в системе в URLОграничена возможность поделиться текущим состояниемпользователя в системе с учётом текущей страницы, открытой вкладки и всех фильтров.Также необходимо запоминать положение пользователя при выходе из системы до тех пор, пока не будет закрыта вкладка (подставлять последний URL при входе)Необходимо изменять URL в зависимости от:Открытой области FB (уже реализовано)Открытой страницы (ужереализовано)Открытой вкладки страницы (уже реализовано)Выбранного пункта в меню (частично реализовано)Настроенных фильтров у зрителя
При переходе другого пользователя по такой ссылке должно сохранятьсясостояние пользователя в системе: текущий раздел, открытую страницу, активную вкладку, выбранный элемент меню и установленные фильтры (для роли Зритель). Ссылкой можно поделиться — получатель откроект систему в том же согласно выбору указанных пунктовянии.Изменения URL происход
олжен обновлятьсябез перезагрузки страницы.Дополнение кURL обновляется при:-
Переходе в другую область платформы
-
Смене
лиадмктивниой страторницы или вкладки -
В
менеджере проектов реализовано сохранение положения пользователя в конкретном потоке (выбранный пункт меню слева). Необходимо в менеджере проектов при выборепуэлеменкта(пользователя, группы и т.д.)в левом меню менеджера пробавлять эектот пункт к URL.в -
AS-IS: https://fastbord-front-dev.fb-dev.winsolutions.ru/adminUserTO-BE: https://fastbord-front-dev.fb-dev.winsolutions.ru/adminUser/DimaДополИзмененияик URLфильтров (тольконструкторедашбордовДля пользователей с ролью"Зритель")долж
Примечан
аия:быть-
В URL в
озможносключають поделитьсяссытолькойнапроективные фильтры с установленнымив нём фильтрами. Необходимо сохранять состояния фильтров в query-параметрах URL.Для восстановления состояния необходимо парсить URL, извлекать из него все необходимые параметры и восстанавливать согласно им фильтры.AS-IS: https://fastbord-front-dev.fb-dev.winsolutions.ru/7f9f594b-0152-4a66-afb2-f7fbe7a697bb/board/dc056874-305d-11ee-8c70-04d4c47aef75TO-BE: https://fastbord-front-dev.fb-dev.winsolutions.ru/7f9f594b-0152-4a66-afb2-f7fbe7a697bb/board/dc056874-305d-11ee-8c70-04d4c47aef75?фильтр1=значение1&фямильтр2=значение2Важно! Не включать; пустыеили неактивные фильтры в URL не добавляются. -
ДВозможность управленныйия функционльтралми через URL доступена толькопри просмотре проектапользователеям с ролью"Зритель",. Пользователи с рольюбойредактора можегут сохранить нужное состояниефильтрови поеределиатьсяссылкой на корректный результат. -
Восстанавливать состояние пПри повторном входеЕв систему (без закрытия вкладки) пользователь(по любой причине)авышел из своей учётной записи, а потом, натичезакрывая вкладскибраузера, снова вошёл в неё, то его необходимоперенаправляеться в ту областьсистемы, из которой был выполнен выход.Для
доступнаэто при выходе необходимо временно сохранять последний активный URL на вкладке до выхода, чтобы после повторного входа загрузить систему в точке выхода.Уведомление пользователям о плановом обновлении стенда
Добавлена возможность отображебования:
информационных уведомленияйпоказываютсдля всемх пользователей стенда — например, о предстоямщих плановых рабезотах исключи обновленияв любом местех системы
.Поведение уведомления:
-
Отображается для всех пользователей во всех разделах системы.
-
Может быть закрыто пользователем вручную. До закрытия уведомление остаётся видимым.
-
По
жнказывается только в закданный интерытьвалкврестмеником
деламипока не; закроешь - онго престьуведомлениеднейсотвует с вобремя по времявремя показа заджается.где-тонстройкойпосле исхода времени показа или до его начала увеомлене не показываетсянужно где-то по апи или командой настраивать:время старта показавремя окончания показазаголовок уведомлениятекст уведомленияАдминистративная панель (или как назвать)
МХ дОбноработкавление ролевогой механизма (переоделай название)Расшир
илсяен список ролей пользователей системы. Обновлены права доступа к административным функциям и управлению менеджером проектов.Актуальный список ролей:
- Администратор системы,
- Разработчик,
- Администратор организации,
- Администратор тенанта,
- Аналитик,
- Зритель / Бизнес-пользователь.
Рол
ьиаАдминистратор системы иаАдминистраторсорганизации предостемы позаволяют настроаитьваемые разрешениякна администрированиюесистемында иограничению доступа куправлениюе доступом к менеджерау проектов.Подробнее о правах пользователей (тут будет ссылка).В менеджере проектов добавлена матрица настройки доступов по следующим категориям:
- Работа с потоком,
- Управление проектом,
- Работа с проектом,
- Работа с формами ввода.
Просмотр действий пользователя
нет описания задачи
Графический редактор
Визуал для What-if анализа
Нноваяый тип визуализация,икоторая позводляетмоделирования гипотьетических сценарииев. Пользователь задаёт переменную с числовым диапазоном и шагощьюмподстановк— и значенийе интерактивно подставляется водругивсе связанные визуализацииПодчерезкSQL-запротом представляет собой один столбец с данными в указанном диапазоне с указанным шагом (не более 10000 значений)Снаружи представляет собой:.При сСоздание визуала:
–в модальноем окно, гдеустзанавливдаются:модель данных, название переменной, типеёданных (целое/или десятичное), минимальнаяое и максимальное зная граченицыя, шаг . ПрКоличество значений — не более 10 000.Взаимодействие: визуал отобра
бжается как числоте –вой инпутдлясочислаи ползунок
Добавлен
В рейдакторе SQL-кода добавляется таблица для всех переменных What-if анализа (представлены списком).конкретной модели- П
ринцип работы: при изменении значенияна новом визуале вовсе визуалыизации, использующиеэтданную переменную,подстабновляеютсяукв реазанльном вречменисло
ВизуализИнтеграция: пв редактозвре SQL-кода дляет пользователю моделировать гипотетические сценарии путём интерактивного заданияных здоступнач таблица со всенмий переменной,ыми котоWhat-if анализа. Переменные затем подвставляются в SQL-выражения по все связанные визуализацогии вс SQL-запросы. Под капотом визуализация генериругими динамичет вскиртуальный столбец соми значениями в указанном диапазоне и шаге.
Фоновое размытие контейнера
Настройка эдоступна во выгсех эляементах, поддерживающих изменение цвета фона: визуализации, медиаблок, фильт какры, вставка. Эфонафект из фигмы, что ай как больно когда нужно менять, обновлять и тд.
ВизуализацииМедиаблокФильтры
Расширение возможностей кастомизации визуальных компонентов
Добавить возможность изменения цвета SVG в медиаблоке через правила и SQL
Вставка
Записывать и рулить SVG-вектором будем через функционал переменной. Для этого в переменной добавляем смену типа текст/вектор.
Так не нужно будет лепить иконки для кнопок отдельными виджетами
Соответственно, в контент блока вставляется через двойные скобки, также как текст. Это даст возможность вставлять в любое место и использовать внутри текста.
Загрузить можно только svg. Код парсится похожим образом на SVG-объект.
В соответствии с текущей реализацией переменные с SVG можно будет использовать в SQL выражении для динамической подстаноки в текст по условию.
При этом использовать SVG как отдельный объект также останется максимально просто
Фон медиаблока также остается доступен в паралель с вектором
Настройки
Принцип настройки вектора такой же как для текста. По умолчанию в общих настройках, но с возможностью переопределить внутри переменной.
Красится всегда в один цвет. Цвет по умолчанию равен цвету текста в главной секции.
Цвет меняется в секции редактирования (также как у текста). Режимы цвета стандартные
Размер по умолчанию равен размеру текста в главной секции
Размер меняется в секции редактирования (по аналогии с текстовой переменной)
Интеграция
Вектор должен быть доступен и на виртульных данных чтобы не требовались запросы в режиме простой иконки
Отдельно нужно будет обсудить с разработкой как хранить и подтягивать этот код. Способов много, сложностей нет, просто надо выбрать способ.
Добавить настройку отключения курсора “pointer” (палец) для медиаблока (тут кратко название и че добавили)
Добавить поддержку разноцветной линии в линейном графике с настройкой через правила и выражения
Подсекция «Цвет» у линии сейчас только Вручную, а нужно добавить остальные режимы. Ровно то же самое что и у столбиков. И находится оно будет там же где и у столбиков.
Переходу в состояние hover на всех виджетах где он срабатывает (пока это только фон) добавить плавность transition-duration = 200мс


Инвертация фильтров
В инвертированном режиме при выборе значения в фильтре это значение будет исключено из разрезов всех визуальных элементов, на которые влияет этот фильтр.
При выборе диапазона дат в исключающем режиме во всех визуальных элементах останутся данные на все даты, кроме выбранных в фильтре.
Конструктор дашбордов
Сетка на странице
Добавить простую сетку (без группировки шагов) – каждые n пикселей по горизонтали и вертикали должна рисоваться линия сетки (n задаёт пользователь)
МХ Все слова Слева, снизу, сверху, справа заменить на икноки везде в настройках визуалиации (переделай название)
Задача: В настройках заменить текстовые обозначения сторон (“Слева”, “Справа”, “Сверху”, “Снизу”) на соответствующие иконки во всех настройках, где они используются.
Цель: Сделать интерфейс более визуальным и интуитивно понятным за счёт замены текстов на иконки направлений.
Менеджер проектов
МХ потоки в потоках. Хочу иерархию папок (передлай название)
- Хранение потоков внутри потоков
- Хранение проектов на одном уровне с потоками внутри потока-дерева
- Неограниченная вложенность потоков-ветвей
- Навигация по "хлебным крошкам"
- Переключение между табличной и плиточной структурой
- Порядок внутри потока: сначала вложенные потоки, потом проекты
- Уникальные названия потоков-ветвей, расположенных на одном уровне вложенности
Вложенная структура для потоков с проектами по аналогии с файловыми хранилищами. Включает в себя дополнения для навигации, вида представления и сортировки.
Требуется обеспечить привязку дочерних потоков к родительским на уровне БД, передавать и отображать эти данные на клиенте, добавить новые управляющие элементы для дополнений.
Новые термины для пользовательской документации:
Поток-дерево – основной поток, отображаемый в списке потоков в левом меню в менеджере проектов. Не хранится рядом с проектами, а включает в себя потоки-ветви и проекты. На одном уровне потока-дерева должна быть обеспечена уникализация названий потоков-ветвей и проектов, входящих в него. Права пользователю выдаются именно к потоку-дереву и распространяются на все потоки-ветви, входящие в него.
Поток-ветвь – вложенный поток, который не отображается в списке потоков, а доступен только по навигации в потоке-дереве. Может быть расположен рядом с проектами. На одном уровне потока-ветви должна быть обеспечена уникализация названий потоков-ветвей и проектов.
Диспетчер данных
Интеграция с DIS (модуль ввода данных) (переделай название, чтобы не было слова DIS) содержание фичи оставь
Модуль ввода данных (МВД) - это модуль аналитической платформы Fastboard, предназначенный для ввода данных и генерации форм ввода данных. Модуль создан для комплексной и многопользовательской работы с данными: от их сбора и структурирования до подготовки консолидированных форм для дальнейшей их визуализации и анализа.
МВД помогает организациям:
• централизовать хранение данных по проектам;
• автоматизировать рутинные операции ввода и обработки информации;
• обеспечить единый стандарт сбора данных через унифицированные формы;
• контролировать качество данных с помощью бизнес правил и форматно логического контроля (ФЛК);
• формировать регламентированные и аналитические отчётные формы;
• отслеживать историю изменений и обеспечивать прозрачность процессов.
Модуль ориентирован на командную работу: разные роли пользователей могут взаимодействовать с одними и теми же данными, выполняя свои задачи в рамках общего проекта.
Кнопка массового выбора при загрузке данных


CRM / Сделки

Раздел: https://b24-19qi1p.bitrix24.ru/crm/deal/kanban/
Scope: CRM (crm)
Должен быть список сделок.
CRM / Сделки - пользовательские поля


Пользовательские поля отображаются в карточке сделки.
Scope: CRM (crm)
CRM / Сделки - история статусов


Scope: CRM (crm)
CRM / Сделки - товары


Scope: CRM (crm)
Вкладка "Товары" в карточке сделки.
По товарам фильтр не работает, будет задача, где нужно их убрать.
CRM / Товары


Scope: Торговый каталог (catalog)
Раздел: https://b24-19qi1p.bitrix24.ru/crm/catalog/
CRM / Товары - свойства


Scope: Торговый каталог (catalog)
Список свойств отображается в карточке товара.
CRM / Лиды


Scope: CRM (crm)
Раздел: https://b24-19qi1p.bitrix24.ru/crm/lead/kanban/
CRM / Лиды - пользовательские поля


Scope: CRM (crm)
Пользовательские поля отображаются в карточке лида.
CRM / Лиды - история статусов


История статусов отображается в карточке лида.
Scope: CRM (crm)
CRM / Лиды - товары


Scope: CRM (crm)
Товары отображаются в карточке лида.
CRM / Контакты


Раздел: https://b24-19qi1p.bitrix24.ru/crm/contact/list/
Scope: CRM (crm)
CRM / Контакты - пользовательские поля


Отображаются в карточке контакта.
Scope: CRM (crm)
CRM / Дела в элементах CRM


Scope: CRM (crm)
Отображаются в карточках: Контакты, Сделки, Лиды, Смарт-процессы.
CRM / Связи дел с элементами CRM
Scope: CRM (crm)
Тут хранятся связи между делами и карточками: Контакты, Сделки, Лиды, Смарт-процессы.
activityId — ID дела
entityId — ID контакта/Сделки/Лида/Смарт-процесса
entityTypeId — тип карточки:
CRM / Стадии элементов CRM


Scope: CRM (crm)
Список стадий элементов CRM (Сделки, Лиды, Смарт-процессы и т.д.).
Настроить можно тут: https://b24-19qi1p.bitrix24.ru/crm/configs/status/
CRM / Компании


Scope: CRM (crm)
Раздел: https://b24-19qi1p.bitrix24.ru/crm/company/list/
CRM / Компании - пользовательские поля


Scope: CRM (crm)
Отображаются в карточках компаний.
CRM / Коммерческие предложения


Scope: CRM (crm)
Отображаются в карточках во вкладке "Предложения".
CRM / Коммерческие предложения - товары


Scope: CRM (crm)
Отображаются в карточках предложений.
CRM / Смарт-процессы
Scope: CRM (crm)
Универсальный метод, с помощью которого можно получить списки как стандартных, так и пользовательских смарт-процессов.
Например, можно создать смарт-процесс "Список напитков". Ему присвоится entityTypeId, в данном случае — 1056.



По этому номеру можно получить список напитков.
CRM / Смарт-процессы - список


Scope: CRM (crm)
Список пользовательских смарт-процессов: https://b24-19qi1p.bitrix24.ru/crm/type/
CRM / Смарт-процессы - элементы


Scope: CRM (crm)
Список всех элементов пользовательских смарт-процессов. Есть поля, по которым можно связать с элементами CRM: companyId, contactId. Если есть связи с элементами CRM, то появляется поле
parentId{ID}, где{ID}— числовой идентификатор объекта CRM.Пример связи с смарт-процессом в карточке лида:
Задачи


Scope: Задачи (task)
Список задач из раздела:
https://b24-19qi1p.bitrix24.ru/company/personal/user/12/tasks/?ta_sec=left_menu
Задачи / Задачи - пользовательские поля



Scope: Задачи (task)
Отображаются в карточке задачи.
Задачи / Задачи - время работы


Scope: Задачи (task)
Отображаются в карточке задачи (нужно включить учет времени).
Задачи / Задачи - стадии


Scope: Задачи (task)
Столбцы в задачах.
Задачи / Задачи - потоки


Scope: Задачи (task)
Раздел: https://b24-19qi1p.bitrix24.ru/company/personal/user/12/tasks/flow/
Задачи / Задачи - проекты


Scope: Рабочие группы (sonet_group)
Раздел: https://b24-19qi1p.bitrix24.ru/company/personal/user/12/tasks/projects/
Бизнес-процессы


Scope: Бизнес-процессы (bizproc)
Раздел: https://b24-19qi1p.bitrix24.ru/bizproc/userprocesses/
Бизнес-процессы / Задания бизнес-процессов

Scope: Бизнес-процессы (bizproc)
Пользователи


Scope: Пользователи (user)
Раздел: https://b24-19qi1p.bitrix24.ru/company/
Телефония


Scope: Телефония (telephony)
Звонки отображаются в карточках клиентов.
Структура компании


Scope: Структура компании (department)
Раздел: https://b24-19qi1p.bitrix24.ru/hr/structure/