open-contracting / bi.dream.gov.ua

DREAM Analytics
https://bi.dream.gov.ua
Apache License 2.0
1 stars 0 forks source link

Feature: Можливість зберігати візуалізації #27

Closed ndrhzn closed 10 months ago

ndrhzn commented 11 months ago

З Проєктного офісу передали такий запит

У користувачів ВІ є запит вивантажувати через натискання правою кнопкою миші на карті/графіку/діаграмі в форматі pdf або jpeg елементу, на якому вони це роблять (як в ВІ прозорро). Щоб одразу і гарну картинку

Видається, що додати такий функціонал має бути доволі просто, якщо це входить в базовий інструментарій Qlik.

Але також маю питання - чи можливо не просто зберігати картинку, а ще й додавати туди якісь метадані (умовно, зазначати, звідки походять дані, і станом на яку дату представлені дані)?

a-radik commented 11 months ago

Базова функціональність Qlik дозволяє робити експорт в форматах jpeg, png і pdf. В самому простому варіанті можемо зробити експорт в тому розмірі. як об'єкт відображается на екрані користувача (ширина і висота).

Уточнюючі питання:

Нижче наведу приклад, як це можна зробити за допомогою foot note в об'єкті. В об'єктів, що розміщено в мешапі footnote відображатись не буде, а при експорті буде динамічно додаватись. Наразі foot note в об'єктів в нас ніде не задіяно. Якщо буде така необхідність (вивести foot note об'єкта) процес експорта треба буде значно усладнити, бо треба одночасно вивести foot note об'єкта і додаткову інформацію про походження і дату.

Image

@ndrhzn

ndrhzn commented 11 months ago

Добре знати, що це можливо з технічної точки зору. Я проясню у юзерів, наскільки важливо їм мати footnote (з моєї точки зору, це важливо для уникнення неправильної комунікації), і тоді оберемо спосіб імплементації

ndrhzn commented 11 months ago

Тут зафіксували рішення використовувати функціонал footnote для відображення метаданих під час збереження картинок.

Метадані для відображення

ndrhzn commented 11 months ago

Поточний статус: Можливість зберігати зображення імплементована на тестовому додатку. Є можливість експортувати візуалізації як png та як pdf.

image

Відкриті питання:

- Чи потрібні обидва формати для експорти, чи достатньо одного?

Видається, що може бути достатньо лише png формату. Зауважив, що під час експорту до pdf є баги - якщо графік не вміщається повністю у контейнер і є необхідність скролити, то у експортованій версії буде за великим рахунком скріншот - разом із скролбаром (але, звісно, без можливості скролити). Тоді як експорт до png відбувається без жодних проблем і зміст графіку доступний повністю.

- Де має розташовуватись кнопка / іконка для експорту зображення?

В ідеалі кнопка / іконка для експорту зображення не має займати занадто багато місця, і не має впливати на основний layout візуалізацій. Можливі варіанти рішення тут 1) Показувати лише іконку без підпису "Export to image" у правому верхньому куточку візуалізації 2) Показувати іконку лише тоді, коли курсор наведений на візуалізацію (тут потрібно відтестувати, аби не було conflicting events, і аби активація іконки не зникала до того, як користувачі матимуть можливість підвести курсор до неї).

- В якому розмірі слід зберігати зображення?

Тут слід зрозуміти, чи є якийсь алгоритм визначення розміру зображення, чи наразі всі зображення зберігаються в одному розмірі? Які опції тут доступні?

- Де має розташуватись підпис?

За можливості варто розташувати підпис (Дані ... станом на...) у правому нижньому куточку.

- Чи можливо задати margins у експортованому зображенні?

За можливості варто додати margins для зображень під час експорту. Якщо одиниці виміру - пікселі, то хоча б 20 пікселів з кожного боку, наприклад.

- До яких елементів слід додавати можливість експорту зображень?

До всіх графіків та карт - слід додавати. До карток та таблиць - не потрібно.

Також тестування експорту зображень підкреслило, що у нас не для всіх зображень є заголовки (тому, звісно, частина обʼєктів експортується із заголовками, а частина - без). Можливо треба буде це пропрацювати

ndrhzn commented 10 months ago

Поточний статус - експорт зображень реалізовано на тестовому сервері. Наразі доступний експорт у png та pdf. Водночас є проблема із визначенням розміру зображення (наразі розмір зображення заданий однаковий для всіх, якщо контент візуалізації не вміщається повністю у цей розмір, на експортованому зображенні відображається scrollbar). Проблема насамперед заторкає візуалізації з великою кількістю категорій (наприклад, ті, де по осі Y іде довжелезний перелік громад або ж ініціаторів).

@a-radik давайте задокументуємо, які у нас є варіанти вирішення цієї проблеми, і спробуємо зрозуміти, який можливий таймлан (чи ми плануємо включати це в найближчий реліз, наприклад).

a-radik commented 10 months ago

Бажаний розмір картинки передається в Qlik Engine при виклику методу експорту разом з передачею ідентифікатора об'єкта який треба отримати у вигляді зображення. Способу попросити Engine самотійно визначити висоту/ширину об'єкта не існує, чи принаймні він не описаний в документації вендора. На етапі запиту на отримання зображення об'єкту необхідно визначити висоту (ширину) при якій скролл з'являтись не буде. Гадаю, що це можна зробити, якщо з'ясувати кількість значень розрізу в якому відображається об'єкт и помножити на приблизну висоту необхідно для відображення одного.

ndrhzn commented 10 months ago

Зафіксували рішення включити в реліз та збирати зворотній звʼязок. В окремих випадках експорт буде працювати неідеально (якщо всі елементи візуалізації не вміщаються в один екран). Наразі ми залишаємо це на розсуд користувачів, які картинки експортувати, а які ні.

ndrhzn commented 10 months ago

На додачу до можливості зберігати окремі зображення також зафіксували потребу зберігати всі елементи модулю в одному зображенні (наприклад, картки, графік та карту) для звітів. Сценарій використання - люди застосовують потрібні для себе фільтри і зберігають зображення (наразі - роблять скріншот) зо всією потрібною інформацією для презентації.