Self-service Visiology
Содержание
  1. Предпосылки к разработке
  2. Бизнес требования
  3. Технические требования
  4. Ключевые функции и способы их реализации

Как предоставить пользователям платформы Visiology максимальный уровень self-service?

Кейс по разработке Конструктора дашбордов TPdash для BI системы Visiology компанией Techpeople

Интерфейс Конструктора
Крактое описание нашего кейса ранее уже было анонсировано коллегами из Visiology на сайте и быстро ознакомиться с ним можно по ссылке Новость про Конструктор TPDash . Данная статья предназначна для тех, кто уже является пользователем платформы, планирует внедрить или является интегратором, таким же, как и мы, которому периодически нужно решать задачи при внедрении Визиолоджи нестандартным способом:) 

Предпосылки к разработке Конструктора TPdash

В нашу компанию Techpeople (Люди и Технологии) обратилась организация, входящая в тройку лидеров страховой отрасли по количеству застрахованных физических лиц. Платформа Visiology была уже внедрена заказчиком Визиолоджи и разработан набор дашбордов. Заказчик хотел получить функционал, близкий к тому, что он привык использовать в одном из западных BI, с которого он мигрировал на платформу. В свою очередь, мы хотели сделать удобный инструмент и снизить интенсивность ностальгических чувств заказчика:) К тому же, на момент запроса только один аналитик обладал высокой квалификацией в Визиолоджи и требовался инструмент, который максимально бы снизил требования к квалификации специалистов, разрабатывающих  дашборды. Немного полезной Терминологии🙂 Конструктор TPdash дашбордов (он же, Конструктор)— инструмент, разработанный на базе платформы Визиолоджи. Пресет по своей сути, это дашборд, создаваемый из уже разработанных дашбордов.

Что хотел получить заказчик в плане бизнес-требований?

Инструмент, предназначенный для внутренних нужд бизнес-пользователей платформы, который обеспечил бы:
  • пользователем-не аналитикам возможность создания новых Пресетов (смотрите полезную Терминологию выше), используя уже разработанные дашборды. При создании Пресетов должен использоваться метод drag and drop, то есть «перетаскиванием» имеющихся дашбордов их в рабочую область мышью.
  • возможность доступа как через стандартный портал Визиолоджи, так и по ссылке с необходимостью однократной авторизации
  • руководителей, ответственных за свое направление, видеть группировку дашбордов по тематиками: HR, продажи, финансы и прочие
  • генерального директора возможностью видеть все созданные в Конструкторе дашборды по всем функциональным направлениям

С точки зрения технической реализации требования к Конструктору были следующими:

  • решение должно быть реализовано внутри платформы Визиолоджи, то есть, быть, по сути, тем же дашбордом,
  • ролевая модель, распространяемая на права пользователей  при работе в Конструкторе повторяет модель из раздела администрирования Visiology. Должен быть предусмотрен
  • реализован механизм распределения дашбордов по тематическим папкам (HR, Финансы, Продажи) в Конструкторе и возможность «скрывать» уже разработанные дашборды от Конструктора,
  • наличия двух режимов работы: Конструктор для создания дашбордов и режим Просмотра для демонстрации
  • автообновление созданных в Конструкторе дашбордов,
  • единый фильтр для создаваемых дашбордов.
Важно отметить, что в процессе реализации не были использованы сторонние библиотеки и решение не стало более «тяжелым» с точки зрения архитектуры. К тому же, использование сторонних библиотек усложняет техническую поддержку проекта, поскольку требуется регулярное их обновление и несет риски ограничений в контексте текущей политической ситуации. Имея на руках требования от заказчика (по крайней мере, на верхнем уровне) и имея опыт в кастомной разработке наша команда приступила к технической проработке решения. Реализация на базе Визиолоджи оказалась возможна  в силу наличия развитого API для:
  • встроенной аналитической базы ViQube,
  • модуля Smart Forms.
Также, как всегда, помогли ребята из поддержки, за что им отдельный респект 🙂 Первый MVP был разработан за менее чем две недели, а на реализацию всего проекта ушло порядка 30 дней.

Что получилось в итоге. Ключевые функции и способы их реализации

1. Возможность доступа в Конструктор через портал и по ссылке

Доступ к разработанному Конструктору осуществляется двумя способами:

  • через портал,
  • по ссылке с однократной авторизацией

Как решили технически:

  • добавили разделы с Конструктором на портал,
  • добавили на портал список пресетов, доступных определённому пользователю.
Интерфейс Конструктора
Рис.1 Доступ к Конструктору возможен как по ссылке, так и через портал Visiology

2. Создание Пресетов (дашбордов) методом drag and drop

Пресеты создаются с помощью мыши посредством перетаскивания уже созданных дашбордов, то есть способом drag and drop и сохранение их свойств и стилей.

Рис.2 Добавление дашбордов в рабочую область Пресета методом drag and drop

3. Реализация Пресетов через фреймы

Дашборды, являющиеся элементами, из которых создаются Пресеты, реализованы в виде фреймов. Это было сделано для обеспечения независимости при обновлении дашбордов и поддержании  отказоустойчивости Пресетов. То есть, при проблемах с одним из дашбордов Пресет не перестанет функционировать. 

4. Два режима: Создание и режим Просмотра

Два режима работы Конструктора:

  • Первый для создания и редактирования пресетов с отображением инструментов: списка созданных пресетов, списка доступных пользователю дашбордов для их создания.
  • Второй, предназначенный для демонстрации, в котором инструменты из пункта выше не отображаются.
Рис.3 Реализован режим Создания и Просмотра

5. Возможность стилизации Пресетов

Предполагает:

  • выбор количества дашбордов в строке Пресета и их размеров для адаптации Пресетов под различные размеры устройств,
  • редактирование Пресетов,  стилизации, изменение  их названия и удаление.

Данные, описывающие свойства Пресетов в части визуального представления и данные для отрисовки дашбордов хранятся в модуле Smart Forms.

Какие встретили трудности на данном этапе:

Сохранение свойств Пресетов было решено сделать в модуле Smart Forms, поскольку он не сбрасывает кэш памяти, как в случае с вариантом сохранения свойств в ViQube.

Рис.4. Выбор свойств, стилей и превью Пресета при сохранении

6. Масштабируемость представления Пресетов

Адаптация  Пресетов под различные по размеру экраны реализуется за счет встроенной в Визиолоджи функции «подстравивания» изображения под любой размер экрана. Данная функция Visiology является крайне значимой и не только потому, что нам было проще реализовать проект за счет ее наличия:)   

7. Автообновление фреймов

Обновление элементов (дашбордов), из которых состоят Пресеты, происходит без необходимости обновления Конструктора.

Данные во фреймы поступают напрямую из Smart Forms, о чем мы писали выше в п.3. и каждый фрейм обновляется независимо от прочих. Пользователям не нужно обновлять Конструктор для получения обновлений во фреймах.

8. Категоризация дашбордов

Для пользователей реализована возможность:

  • определять категории при создании дашбородов в Dashboard designer. Например, HR, Продажи, Финансы, Маркетинг и прочие. 
  • создавать приватные дашборды, то есть, скрытые от Конструктора.

Как реализовали:

при сохранении или при переименовании дашборда в Dashboard designer пользователь использует ключевые слова в его названии. Данным действием он задает папку , в которую дашборд должен попасть в Конструктор (раздел Список дашбордов), и создает иерархию папок. Также пользователь может сделать его приватным, используя слово “private” в названии.

Рис. 5 Возможность задавать тематику создаваемому дашборду

9. Ролевая модель из Визиолоджи

Реализация ролевой модели в Конструкторе повторяет ролевую моделью, прописанной в панели Администратора на портале Visiology.

Как реализовали:

данные по ролям получаем напрямую через API Визиолоджи и дальнейшее разделение доступа происходит сторонними средствами. 

10. Возможность переходить на дашборд по клику из Конструктора

Рис. 6 Возможность перехода на вкладку браузера с дашбордом по клику

Пользователь может мгновенно перейти на дашборд и проанализировать данные, отображающиеся на нем и затем вернуться к Конструктору.

11. Фильтрация дашбордов с помощью общего фильтра

Общий для всех дашбордов фильтр позволяет пользователям сравнивать показатели из смежных направлений, например, Финансы и Маркетинг, используя одинаковые тайм фреймы.

Рис.7 Возможность использования единого фильтра Пресета и логическая проверка

Реализована логика, при которой фильтр Пресета действует на дашборды (фильтрует их показатели), на базе которых он построен, только в случае совпадения их типа. То есть, измерений, которые являются основой для фильтра Пресета и фильтра дашборда

Пример:

пользователь в Пресете хочет отфильтровать значения дашбордов по выбранному месяцу, например, июлю.

В случае, если у обоих фильтруемых дашбордов также есть фильтры «по месяцам», то значения на них будут отфильтрованы.    

В случае, если фильтра «по месяцам» на дашборде не окажется, то дашборд не изменит свое состояние.

В случае, если, за выбранные период, как в примере выше, июль,  значений в дашбордах не окажется, то вы получите стандартное сообщение Визиолоджи «в виджете нет данных»

12. Возможность параллельной работы на нескольких экранах

Позволяет пользователям иметь перед собой одновременно несколько экранов, на которых отображаются Пресеты, различные по своему составу.

Вместо заключения

 

Резюме-приглашение к совместной работе

Это один из нестандартных проектов, которые мы реализовали на базе платформы Визиолоджи, работать с которой комфортно из-за гибкости, о чем было уже написано выше и возможности получать квалифицированную техническую поддержку на любом этапе реализации.

Если у вас есть интерес к использованию Конструктора дашбордов в вашей компании или запрос на нестандартное решение, мы готовы стать надежным партнером в реализации нестандартных и стандартных решений:)

Kashevarov Ilya
Руководитель компании Кашеваров Илья

Cвяжитесь с руководителем компании Techpeople в Телеграме для оперативного ответа.

Контакты:

Telegram: https://t.me/Ilyakashevarov

Email:  Написать Илье 

Кашеваров Илья

или

Заполните форму ниже и получите консультацию по внедрению Visiology

Насколько интересной была статья?

Кликните на звезду, чтобы оценить статью

Средний рейтинг: 4.5 / 5. Оценок: 2

Оценок еще нет. Оцените, чтобы быть первым

Эксперт Павел Лебедев

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил, что он у себя в постели превратился в страшное насекомое.

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил, что он у себя в постели превратился в страшное насекомое.

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил, что он у себя в постели превратился в страшное насекомое.