Всё, что вы хотели знать о визуальных элементах, но боялись спросить.

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

С некоторых пор Microsoft больше не называет визуальные элементы сторонних разработчиков «пользовательскими». Теперь они называются просто «визуальные элементы».

Элементы в AppSource могут быть как сертифицированными, так и не сертифицированными. Бытует мнение, что сертифицированные элементы безопаснее.

Разберёмся со всеми особенностями применения сторонних визуальных элементах и заблуждениями в этом вопросе.

Как устроен визуальный элемент.

Каждый визуальный элемент представляет из себя отдельный файл с расширением pbiviz, в котором свойства и поведение визуала описаны набором кодов JavaScript / HTML5 / CSS3. Этот код добавляется в ваш отчёт при импорте элемента из внешнего файла или из хранилища AppSource. Он не имеет доступа к вашей модели данных, он получает только данные, необходимые для построения визуализации.

Каждый визуал имеет уникальный ключ GUID, который однозначно идентифицирует визуал. Вы можете увидеть GUID визуального элемента, щелкнув правой кнопкой мыши на панели «Визуализации» по значку элемента, выбрав в контекстном меню пункт «О программе» .

Ключ визуального элемента

Когда вы импортируете визуальный элемент в свой отчёт, будет выполняться JavaScript код, который обращается к данным, необходимым для построения визуализации, и потенциально может использовать любой API для связи с внешними сервисами. Встаёт вопрос безопасности. Подробнее поговорим об этом ниже.

Импорт визуального элемента из хранилища AppSource

Самый простой способ импортировать визуальный элемент — воспользоваться в панели главного меню кнопкой «Другие визуальные элементы:

Другие визуальные элементы

В диалоговом окне вы увидите доступные для загрузки визуальные элементы. Сертифицированные визуальные элементы отмечены синим значком. Бывают бесплатные и платные (бесплатно может предоставляться ограниченный функционал) визуальные элементы. Бывают элементы, при использовании которых требуется бесплатная регистрация на сайте разработчика.

библиотека визуалов

Визуальный элемент, загруженный из AppSource также будет иметь уникальный ключ GUID для идентификации.

Импорт элементов из хранилища «моя организация»

Если ваша организация разрабатывает свои визуальные элементы или какие-то сторонние элементы стали вашим «корпоративным стандартом», такие визуалы удобнее хранить в репозитории «моя организация». Во-первых, так вашим сотрудникам будет проще их искать. Во-вторых, вы их сможете использовать дальше, даже если автор по каким-то причинам удалит свой визуальный элемент из AppSource.

Хранилище "моя организация"

Загруженный из хранилища «моя организация» визуальный элемент также будет иметь уникальный ключ GUID.

Что такое сертифицированный визуальный элемент Power BI?

Сертифицированный визуальный элемент — это элемент, код которого был проверен и одобрен Microsoft, то есть он соответствует требованиям сертификата. Эти требования в основном проверяют, что пользовательский визуальный элемент использует правильный API, не добавляет в отчёт какой-либо уязвимости, не вызывает внешние службы и не обращается к внешним ресурсам.

Нужно отметить, что проверка кода, выполняемая Microsoft при сертификации пользовательского визуала, не включает функциональную проверку или модульные тесты. То есть, визуальный элемент должен уметь правильно изменять размеры и корректно реагировать на изменение данных. Точность вычислений и отображения данных не проверяется! В ходе такой проверки не выявляются проблемы с выравниванием, форматированием или любым другим неправильным аспектом визуализации, в том числе отображением в разных браузерах.

Другими словами, понятие «сертифицированный визуальный элемент Power BI» подразумевает отсутствие вредоносного кода. Это важно для безопасности, но недостаточно для обеспечения стабильного функционирования ваших отчётов.

Для всех публикуемых визуальных элементов, как сертифицированных так и не сертифицированных Microsoft проверяет совместимость с предыдущими версиями. Как показывает практика, эта проверка не даёт 100% гарантии. Были случаи, когда при апгрейде визуала требовалась его дополнительная настройка, чтобы восстановить нормальное функционирование дашборда.

Наиболее частые проблемы с пользовательскими визуальными элементами — это корректное их отображение в разных браузерах.

Обновление визуальных элементов Power BI

В одном отчете Power BI может быть только одна версия визуала с уникальным GUID. Фактическая версия визуала в опубликованном отчете, зависит от способа импорта и способа распространения визуального элемента.

Импорт визуального элемента Power BI из файла

При импорте из файла версия визуального элемента заменяет ту, которая уже есть у вас в отчёте (если есть), даже если она была более свежей.

Однако, если есть более свежая версия визуального элемента с таким же GUID в AppSource или «моя организация», то при наличии подключения к Интернету она будет обновлена автоматически.

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

Этот вариант позволяет наиболее оперативно восстанавливать функционирование вашего отчёта в случае обнаружения багов в новой версии визуала:

  • вы создаёте отчёт и импортируете в него из файла визуал версии 1.0
  • разработчик предоставляет вам файл с новой версией визуала 2.0, и вы импортируете его в отчёт.
  • вы выявляете проблемы в работе новой версии визуала.
  • вы импортируете в отчёт из файла предыдущую версию визуала и сообщаете о проблемах разработчику.

В результате, время восстановления работоспособности отчёта из-за проблем с визуальным элементом зависит только от вашей оперативности — как быстро вы загрузите предыдущую версию из файла.

Импорт визуального элемента Power BI из хранилища «моя организация»

Версия визуала, импортированная из хранилища «Моя организация», переопределяет версию визуала с тем же GUID, который уже присутствует в отчете. 

Если вы обновите версию визуального элемента в хранилище «Моя организация», то во всех отчётах визуал с таким же GUID будет обновлён автоматически, если только в AppSource нет визуального элемента с аналогичным GUID.

Цикл обновления и восстановления работы отчёта аналогичен импорту визуала из файла:

  • создаёте отчёт и импортируете в него визуал из хранилища «Моя организация».
  • разработчик выпускает новую версию визуала.
  • администратор публикует новую версию в хранилище «Моя организация».
  • новая версия автоматически импортируется во все отчёты.
  • выявляется проблема с новой версией.
  • администратор возвращает в хранилище «Моя организация» предыдущую версию визуала.
  • в отчёты автоматически импортируется предыдущая версия. Ручное редактирование не требуется.

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

Импорт визуального элемента Power BI из AppSource

Версия визуала Power BI, импортированная из AppSource, переопределяет версию визуала с тем же GUID, который уже есть в отчете. Разумеется, при наличии подключения к Интернету.

Обновление версии визуального элемента Power BI, опубликованного на AppSource, занимает несколько недель, начиная с момента, когда разработчик отправляет новую версию в Microsoft. В этом случае только Microsoft контролирует обновление версии. 

Если визуал сертифицирован, процесс новой сертификации может потребовать дополнительного времени. Как показывает практика, обновление визуала может занимать 3-4 недели для не сертифицированного элемента и 6-8 недель для сертифицированного.

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

Цикл обновления и восстановления работы отчёта с визуальным элементом, размещённым в AppSource:

  • создаёте отчёт и импортируете в него визуал из AppSource.
  • Разработчик выпускает новую версию визуала и отправляет его в Microsoft для публикации.
  • Microsoft публикует новую версию в AppSource. Это занимает не менее 3-4 недель и до 6-8 недель для сертифицированных пользовательских визуальных элементов.
  • версия визуала обновляется во всех отчётах автоматически.
  • выявляется проблема с новой версией.
  • пользователям необходимо сообщить о выявленой проблеме разработчику визуального элемента.
  • Разработчик может попросить Microsoft вернуться к предыдущей версии. Обычно это занимает как минимум несколько часов, может быть 1-2 рабочих дня.
  • Все отчеты Power BI возвращаются к предыдущей версии визуала автоматически.
  • Разработчик исправляет баги новой версии и отправляет её в Microsoft для публикации повторно.
  • Microsoft публикует исправленную версию на AppSource несколько недель спустя.
  • Все отчеты Power BI автоматически обновляются до новой версии.

Все отчеты Power BI используют только одну версию визуального элемента, доступную в AppSource. 

Каждая новая версия может вызывать проблемы с откатом версии. Если пользователь успел применить в отчёте новый функционал визуала, то после отката на предыдущую версию отчёт может перестать функционировать.

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

Если у вас появилась аналогичная проблема, то у вас есть только одно решение:

  • Предположим, вам нужен визуал v1.0.0, но в AppSource предлагается визуал v2.0.0.
  • Получите специальную версию визуала v1.0.0 от разработчика. Визуал должен иметь другой GUID и другое имя.
  • сделайте резервную копию отчета.
  • Откройте неработающий отчёт и импортируйте в него специальную версию визуала v1.0.0 от разработчика из файла.
  • Щелкните каждый экземпляр визуал v2.0.0 в отчете и замените его, щелкнув специальную версию визуала v1.0.0 на панели визуальных элементов Power BI.
  • Сохраните файл PBIX и опубликуйте его. Если визуал использовался в нескольких отчётах, то эти операции придётся повторить для каждого.
  • Когда исправленная версия визуала будет опубликована в AppSource, попробуйте сохранённую резервную копию. Если в ней всё работает, то переименуйте в рабочую и опубликуйте.

Визуальный элемент, заменённый версией из файла, теряет сертификацию, так как сертифицированными могут быть только элементы в AppSource.

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

Управление версией визуального элемента Power BI

Подводя итоги, обобщим как работает управление версиями визуальных элементов Power BI:

  • Версия на AppSource всегда побеждает.
  • Версия в хранилище «Моя организация» выигрывает, если этот же визуал не опубликован на AppSource.
  • Импортированная из файла версия выигрывает, если один и тот же визуал не публикуется ни на AppSource, ни в хранилище «Моя организация».
  • Номер версии не имеет значения. Нет контроля обновления / отката по номеру версии. Предыдущие три правила применяются всякий раз, когда номер версии визуала отличается от версии того же визуала в отчете.
  • Эти правила применяются к любой версии Power BI, включая Power BI Desktop и сервер отчетов Power BI, если имеется активное подключение к Интернету.

Если в AppSource имеется версия визуального элемента, то она автоматически заменяет другие версии во всех отчётах. Это удобно для автоматического обновления, но при появлении проблем у вас нет возможности восстановить другую версию визуального элемента.

Плюсы и минусы при использовании пользовательских визуальных элементов Power BI

Если вы в своих отчётах хотите/должны использовать только сертифицированные визуальные элементы, то все они должны быть опубликованы в AppSource.
Для не сертифицированных визуалов есть три варианта: площадка AppSource, хранилище «Моя организация» и прямой импорт из файла.

  • сертифицированные визуальные элементы в AppSource:
    • ПЛЮС : Microsoft проверила элемент, чтобы исключить наличие вредоносного кода и уязвимостей.
    • ПЛЮС: автоматическое обновление и экспорт в PPTX.
    • ПЛЮС / МИНУС : только Microsoft публикует эту визуализацию Power BI.
    • ПЛЮС / МИНУС: обновление визуального элемента в существующих отчетах происходит автоматически. При выявлении багов и отката версии могут возникнуть проблемы с функционированием отчётов.
    • МИНУС : Существует только одна версия визуала для всех пользователей Power BI в мире.
    • МИНУС : выпуск новой версии занимает 2-4 недели.
  • Не сертифицированные визуальные элементы Power BI из AppSource:
    • ПЛЮС / МИНУС : только Microsoft публикует эту визуализацию Power BI.
    • ПЛЮС / МИНУС: обновление визуального элемента в существующих отчетах происходит автоматически.
    • МИНУС : не поддерживает экспорт в PPTX.
    • МИНУС : Существует только одна версия визуала для всех пользователей Power BI в мире.
    • МИНУС : выпуск новой версии занимает 2-4 недели.
    • МИНУС : Вы должны доверять автору визуала на предмет безопасности: отсутствие вредоносного кода или каких-либо уязвимостей.
  • Не сертифицированные визуальные элементы Power BI из хранилища «Моя организация»:
    • ПЛЮС : развертывание новых версий происходит немедленно.
    • ПЛЮС : Существует только одна версия визуального элемента для всех пользователей Power BI организации.
    • ПЛЮС / МИНУС : обновление визуального представления Power BI в существующих отчетах происходит автоматически.
    • ПЛЮС  : Администратор имеет полный контроль над версией визуального элемента Power BI, развертываемой в отчетах компании.
    • МИНУС : не поддерживает экспорт в PPTX.
    • МИНУС : Вы должны доверять автору визуала на предмет безопасности: отсутствие вредоносного кода или каких-либо уязвимостей.
  • Не сертифицированый визуальный элемент из файла:
    • ПЛЮС : только этот вариант даёт пользователю полный контроль над версией визуального элемента в отчёте.
    • ПЛЮС / МИНУС : каждый отчет может иметь свою версию визуального элемента Power BI.
    • МИНУС : обновление визуального элемента Power BI требует ручного редактирования каждого отчета.
    • МИНУС : не поддерживает экспорт в PPTX.
    • МИНУС : Вы должны доверять автору визуала на предмет безопасности: отсутствие вредоносного кода или каких-либо уязвимостей.

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

Если вы считаете, что вам не нужны новые функции, и пользовательский визуал «просто работает», вы должны знать, что импорт визуального элемента из AppSource означает создание подписки, которая будет автоматически обновлять визуал при появлении новой версии. 

Вы не можете заморозить версию, которую используете. На сегодняшний день у вас нет никакого контроля над этим.

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

Пока элемент работает без багов с вашими отчётами не будет никаких проблем. При возникновении ошибок, вы можете написать разработчику. но не факт, что последует ответная реакция. Как показывает практика, в случае удачного исхода, исправление ошибок занимает 4-6 недель.

Если вы используете платный визуальный элемент, в этом случае возникает ответственность разработчика за нормальное функционирование визуала. Но, даже если на исправление ошибок у разработчика уйдёт 2-3 часа, повторная сертификация и публикация в AppSource может занять несколько недель.

Выводы

Microsoft официально не поддерживает визуальные элементы Power BI, загруженные с AppSource. Если вы обратитесь за помощью в службу поддержки Microsoft, вы будете перенаправлены к автору визуального элемента. 
Если визуальный элемент бесплатный, помните — вам никто ничего не должен. В случае возникновения проблем не факт, что разработчик отреагирует на ваше обращение.

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

Оптимальным будет размещение визуала в хранилище «Моя организация». Это обеспечит автоматическое обновление версии визуала во всех отчётах предприятия и даст администратору полный контроль над версией визуального элемента.

Сертифицированные визуальные элементы гарантируют отсутствие вредоносного кода и уязвимостей. Сертификат не гарантирует корректную работу визуала и отсутствие багов в разных браузерах.
Исправление ошибок в таких визуалах занимает гораздо больше времени из-за повторной сертификации.

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

Статья подготовлена по материалам блога Marco Russo.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *