Как нарисовать графики и диаграммы в Atlassian Confluence

в 10:38, , рубрики: atlassian, confluence, визуализация, визуализация данных, графики

image

Atlassian Confluence — мощное решение для развертывания Enterprise Wiki в организации (хотя, нет никаких технических проблем с тем, чтобы использовать его и дома — лицензия на 10 пользователей стоит всего 10 американских долларов в год). И лично мне Confluence нравится тем, что имеет дружелюбный интерфейс и позволяет интуитивно понятно редактировать контент, с легкостью дополняя его визуальными составляющими, что позволяет в итоге получить красивые и удобные для просмотра страницы. Кстати, этот пост тоже написан в Confluence.

Как известно многим, визуализация имеет большое влияние на то, как контент будет восприниматься. В последнее время в любых соцсетях и тематических сообществах прослеживается четкий тренд: если ваш пост не содержит визуальной информации, например, тех же картинок с котиками, его мало кто будет читать. А если он еще и длиннее одной страницы… Итак, пользоваться графикой нужно. И тут я сошлюсь на пост комрадов из DevExpress, где они привели интересные факты о визуализации (увы, без пруфов, но цифры на мой взгляд очень похожи на правду):

  • 90% информации человек воспринимает через зрение
  • 70% сенсорных рецепторов находятся в глазах
  • около половины нейронов головного мозга человека задействованы в обработке визуальной информации
  • на 19% меньше при работе с визуальными данными используется когнитивная функция мозга, отвечающая за обработку и анализ информации
  • на 17% выше производительность человека, работающего с визуальной информацией
  • на 4,5% лучше воспоминаются подробные детали визуальной информации

Учитывая столь очевидную полезность грамотной визуализации и корпоративную направленность Confluence, попробуем немного порисовать прямо на страничках вики. Рисовать там можно достаточно много вещей, но вот «из коробки» функционал позволяет разве что нарисовать графики и вставить картинки. Но это нас не остановит, поскольку в экосистеме Atlassian силами сторонних вендоров производится огромное количество аддонов на любой вкус и цвет, причем даже самый крутой и дорогой продукт можно взять и попробовать бесплатно в течение месяца. И так, если память не изменяет, до шести раз подряд, что дает совершенно легальные полгода на раздумья, что будет легче — начать себе отказывать в удобстве от аддона или задушить проклятое земноводное прописать затраты в бюджет и купить наконец продукт.

Диаграммы в Confluence


Как я упоминал выше, «из коробки» порисовать не очень-то получится. Зато, если мы обратим свое внимание на аддоны, то для рисования разного рода диаграмм их найдется немало. Попробуем рассмотреть те, которые больше всего на слуху и первые попались в заботливые руки поисковой выдачи. В этот список попали:

Первые четыре продукта, с моей точки зрения, очень похожи друг на друга. Возможно, даже имел факт «заимствования» тех или иных элементов функциональности друг у друга. Они понимают формат Visio, что позволяет не ломать голову над вопросом «а зачем нам все наши диаграммы перерисовывать» — можно просто импортировать имеющиеся файлы. Очень похож и процесс рисования диаграмм — из библиотек изображений на страницу добавляются элементы, связи между ними, подписи. Многие из поставщиков аддонов предлагают использовать их веб-версии диаграмм.

Несколько особняком стоит Graphviz Diagrams от Боба Свифта. Этот продукт несколько нарушает принципы экосистемы Atlassian, где все реализовано очень просто и интуитивно понятно, но в нем есть свой особый шарм. Да, вам потребуется не просто добавить аддон в Confluence, но еще и поставить на ваш сервер библиотеку визуализации графов graphviz. Зато потом вы сможете использовать мощный язык DOT для автоматической визуализации ваших данных (наверняка на Хабре есть люди, которые без графов и DOT жизни не представляют).

Примеры того, как можно нарисовать диаграммы при помощи аддонов для Confluence и веб-версий диаграмм:

image
image

Объединяет эти аддоны тот факт, что с помощью любого из них можно нарисовать недурственные диаграммы и схемы (или просто импортировать из Visio), но вот графики у них как-то не задались. Либо такая функциональность (построение графиков по таблице с данными) отсутствует, ограничиваясь схематичными представлениями графиков, либо реализована неудобно и рядовому пользователю будет непросто этим воспользоваться.

Пример того, как можно использовать язык DOT и библиотеку Graphviz:

A -> B
C -> B
B -> C
D -> A
A -> D

e;
subgraph clusterA {
    a -- b;
    subgraph clusterC {
        C -- D;
    }
}
subgraph clusterB {
    d -- f
}
d -- D
e -- clusterB
clusterC -- clusterB

image

Трудно сказать, какой аддон лучше выбрать. Скорее всего, на выбор повлияют какие-то вторичные для функционала вещи. Например, способность работать на сервере автономно без доступа в Интернет или гибкое лицензирование, позволяющее не покупать сразу 500 лицензий в большой организации, где рисованием подобных диаграмм занимается пять человек. В наше время и цена лицензии часто имеет решающее значение. Я попытался свести основные нефункциональные характеристики в таблицу:

Аддон Поддержка
Server/Cloud
Необходим
Интернет
Гибкое
лицензирование
Цена лицензии
500 пользователей
Server/Cloud
Поддержка
импорта/экспорта
файлов Visio
Наличие
веб-версии
Confluence Diagramming by Creately Да/Нет Да Нет $2000/Нет Да Нет
Draw.io Diagrams for Confluence Да/Да Да Нет $3000/Бесплатно Да Да
Lucidchart for Confluence Да/Да Да Да Гибкая/Бесплатно Да Да
Gliffy Diagrams for Confluence Да/Да Нет Нет $6000/$3000 Да Да
Graphviz Diagrams for Confluence Да/Нет Нет Нет $580/Нет Нет Нет

Графики в Confluence


Погуглив "confluence charts", на первой странице я получил вот что (откровенно говоря, негусто):

  • Chart Macro от Atlassian (самое приятное, что этот продукт уже включен в Confluence «из коробки» и за него не нужно доплачивать)
  • Table Filter and Charts от StiltSoft
  • Lucidchart (этот продукт упоминался выше, к сожалению, графики с его помощью быстро и удобно не порисуешь, иначе он был бы однозначным моим фаворитом)

Поэтому будем рассматривать первые два.

В любом случае, для того, чтобы нарисовать график, вам потребуется таблица с данными. Эта таблица может появиться в Confluence совершенно разными способами, например быть созданной с нуля, импортированной из CSV, копипастой из Excel и даже сформированной запросом из СУБД при помощи SQL for Confluence. Как сформированы данные в таблице — решающего значения не имеет, они просто должны быть. А из уже имеющихся данных мы можем построить графики.

Chart Macro из поставки Confluence


Это встроенный в Confluence макрос, который умеет отрисовывать следующие типы графиков:

  • Pie Chart
  • Bar Chart
  • 3D Bar Chart
  • Time Series Chart
  • XY Line Chart
  • XY Area Chart
  • Area Charts
  • Gantt Chart

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

Вот так, например, выглядит Area chart:

image

… а вот так 3D Bar chart:

image

… можно посмотреть соотношение продаж разной рыбы в виде наглядной диаграммы Pie chart (круговой диаграммы):

image

Table Filter and Charts


Аддон разработан компанией StiltSoft, которая является Atlassian Expert и Atlassian Verified Vendor. У него есть свои плюсы и минусы. В плюсах отмечу следующее:

  • аддон позволяет не только строить графики, а еще и имеет мощный механизм фильтрации таблиц (и даже умеет строить сводные таблицы с аггрегацией данных)
  • очень просто настраивается
  • настройки можно менять прямо из режима просмотра, не переходя в режим редактирования страницы (и сохранять их из режима просмотра)
  • график можно скачать в один клик

Но, как водится, должен быть и минус. Он всего один — за аддон нужно платить (процесс установки аддона в Confluence очень прост и считать его минусом трудно).

Аддон нам предлагает три макроса:

Первый из них позволяет «на лету» прямо из режима просмотра фильтровать сложные таблицы в Confluence. Фильтрация есть и в режиме редактирования, что иногда может быть удобно. Макрос Pivot Table позволяет построить сводную таблицу, содержащую аггрегированные и суммированные значения из больших таблиц с повторяющимися значениями. И, наконец, самое интересное — Chart from Table. Вот он-то и умеет рисовать графики, вот список возможных графиков:

  • Pie
  • Donut
  • 3D Donut
  • Column
  • Stacked Column
  • Bar
  • Stacked Bar
  • Line
  • Area
  • Time Line
  • Time Area

Примеры графиков, полученных с помощью Chart from Table


Уже знакомая по Charts круговая диаграмма про рыбу:

image

Fish Type 2011
Herring 9500
Salmon 2900
Tuna 1500

Вот так выглядит график типа stacked column (гугл утверждает, что это гистограмма):

image

2009 2010 2011
Revenue 12.4 31.8 41.1
Expense 43.6 41.8 31.1

… а вот так выглядит столбчатая диаграмма с накоплением (multi-column chart):

image

Period Opened
Tickets
Pending
Tickets
Succesfully
Closed Tickets
Tickets Closed
w/o Response
Unsuccesfully
Closed Tickets
Total
Tickets
Q1 2015 207 42 381 20 14 664
Q2 2015 278 31 247 58 39 653
Q3 2015 227 27 200 23 31 508
Q4 2015 257 20 237 58 40 612

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

image

К-к-к-комбо!


Самая мякотка, непосредственно затрагивающая тему графиков. Компоненты аддона (три макроса, входящие в комплект — графики, фильтрацию и сводные таблицы) можно смело и умело комбинировать. Что позволяет строить графики уже недоступные стандартному макросу Charts в достаточно легкой и непринужденной манере. Можно запросто построить график по отфильтрованной сводной таблице, например. Для этого вкладываем таблицу в макрос Table Filter (здесь можно будет фильтровать данные, уменьшив их количество), затем вкладываем Table Filter с таблицей в макрос Pivot Table (он построит сводную таблицу), и в качестве вишенки на торте получившуюся конструкцию помещаем в макрос Chart from Table (этот макрос нарисует график). Звучит страшновато, конструкция похожа на известную всем по сказкам Кощееву смерть. Тем не менее, в реальности все это делается достаточно быстро.

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

image

Погодите, а как же JIRA?


И здесь у ребят из Atlassian есть решение прямо «из коробки». Для начала, если вы еще не настроили — вам потребуется application link между Confluence и JIRA, стандартный для продуктов Atlassian. После этого Confluence сможет получать данные из JIRA. Для визуализации же этих данных в состав Confluence включен макрос JIRA Charts (который, к слову, поддерживает фильтры JIRA и даже jql-запросы для получения нужных вам данных). А для графического отображения полученных данных есть три типа графиков:

  • Pie Chart from JIRA (стандартная круговая диаграмма)
  • Created vs Resolved Chart from JIRA (созданные и решенные задачи)
  • JIRA Two-Dimensional Chart (двумерная диаграмма)

Пример стандартной круговой диаграммы, отражающей количественное соотношение задач по товарищам, которые их выполнили:

image

… а вот так выглядит сравнительная диаграмма созданных и решенных задач:

image

Пример двумерной диаграммы (по сути простая таблица):

image

Разумеется, полученные из JIRA данные можно обработать и отрисовать при помощи макросов, входящих в состав Table Filter and Charts. Можно, разумеется, применять фильтры уже в процессе получения данных из JIRA, чтобы не тащить и потом не фильтровать лишнее. А можно по-простому затянуть минимально отфильтрованные данные и дофильтровать их по месту, потом привести к формату сводной таблицы и построить график либо по исходным отфильтрованным данным, либо по уже получившейся сводной таблице. А если что-то выглядит не так, как ожидается — аккуратно и быстро поменять настройки фильтров или графиков. Комбо!

image

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


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

Автор: rkirilenko

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js