Протягом останніх місяців ми працювали над новим, повністю переробленим інтерфейсом користувача musdb. У двох попередніх дописах у блозі ми вже розповідали про причини та масштаби цього оновлення (1 англійською, 2). В останньому з них ми також представили запланований графік релізу. Отже, настав час першої попередньої версії.
Відсьогодні ввечері користувачі musdb бачитимуть повідомлення із пропозицією спробувати новий інтерфейс. Виникає очевидне питання: чи готовий він до повноцінного використання? Насправді однозначної відповіді немає. Під час розробки ми насамперед зосередилися на функціях, які використовуються найчастіше, тоді як деякі менш уживані розділи musdb у новому інтерфейсі поки що повністю відсутні. Перш ніж перейти до майже повного переліку та категоризації функцій, яких у новому інтерфейсі ще немає, розглянемо кілька його ключових нових можливостей і переваг.
Нова архітектура, нові можливості
Як ми вже неодноразово пояснювали в попередніх дописах, найскладнішою і водночас фундаментальною частиною оновлення інтерфейсу musdb став перехід до іншого архітектурного підходу. У старому інтерфейсі кожна сторінка є окремим скриптом, а всі ці скрипти використовують спільні функції у фоновому режимі. Тому відкриття сторінки або, наприклад, збереження форми потребує повного перезавантаження сторінки, разом з усіма даними, які при цьому взагалі не змінилися. На перший погляд це здається неефективним з погляду продуктивності та використання пропускної здатності. Так воно і є. Це також помітно безпосередньо під час роботи: наприклад, після надсилання форми сторінка повертається на самий верх.
Рефакторинг бекенд-коду musdb для створення більш багаторазової, тестованої та логічної структури триває вже понад п’ять років. Безпосереднім результатом цієї роботи стало поступове розширення API musdb, про яке ми час від часу згадували в блозі: функції, що використовувалися для звичайного, зрозумілого для людини інтерфейсу, стали також доступними для обміну даними між машинами.
Новий інтерфейс став результатом завершення цього рефакторингу. Це застосунок на TypeScript, повністю побудований на API musdb. З одного боку, це означає, що потенційно будь-яка дія, яку користувач може виконати через графічний інтерфейс musdb, буде доступна й для автоматизованого виконання через API. З іншого боку, це спрощує розробку: оскільки ми самі всюди використовуємо API, підтримувати його в належному стані стає значно простіше (див. також цей принцип).
Завдяки новій архітектурі інтерфейс повністю обробляється в браузері. Під час надсилання форм на сервер передаються лише змінені значення. Після завантаження застосунку це суттєво зменшує обсяг переданих даних. Так само під час навігації перезавантажуються лише ті частини сторінки, які справді змінюються. Це зменшує навантаження як на сервер, так і на клієнт та відповідно підвищує продуктивність.
Автоматизація за допомогою вебхуків
Саме завдяки новій архітектурі в musdb стало можливим додати систему вебхуків, яка дає змогу автоматично реагувати на зміни в musdb. Налаштувати вебхуки можна в налаштуваннях установи в новому інтерфейсі. Зверніть увагу: оскільки система вебхуків працює на основі нової архітектури, вебхуки, налаштовані в новому інтерфейсі, не спрацьовуватимуть під час роботи у старому інтерфейсі, доки доступні обидві версії. Див. також: Wikipedia про вебхуки.
Оновлення дизайну
Повне переосмислення дизайну, звісно, дало нам змогу створити значно зручніший і більш упорядкований інтерфейс. Судячи з відгуків, які ми вже отримали, хоча їх поки що небагато, нам це вдалося. Схожі функції, які раніше були розподілені між різними частинами однієї сторінки або навіть різними сторінками, тепер об’єднані в одному розділі. Зайві або незрозумілі опції було прибрано. Там, де все могло залишитися як раніше, воно загалом таким і залишилося, адже попри свої недоліки старий дизайн також отримував чимало позитивних відгуків.
У попередніх дописах у блозі ми вже докладно показували окремі частини нового інтерфейсу. Для цієї статті важливо інше: оновлення дизайну також передбачає відмову від деяких зайвих, невдало продуманих або фактично контрпродуктивних функцій.
Перелік функцій, які ще не реалізовано
Нижче наведено перелік функцій старого інтерфейсу, які ще не реалізовано в новому, у деяких випадках із додатковими поясненнями. Якщо певної функції в цьому переліку немає, найімовірніше, її вже реалізовано.
Функції, які точно буде реалізовано, але яких поки що немає
Цілі сторінки
- Загальна сторінка пошуку зображень об’єктів ще не реалізована
- Підрахунок відвідувачів
Навігація
- Система сповіщень
Інші інструменти
У старому інтерфейсі вони доступні в розділі «Інструменти» на інформаційній панелі або в однойменному підменю навігації.
- Генератор QR-кодів
- Календар
- Список процесів
- Список завдань
- Управління знаннями / міні-вікі
- Перевірка гіперпосилань
- Скорочення URL
- Перевірка узгодженості під час перенесення даних із полів вільного тексту до контрольованих полів
Функції, доступні в кількох розділах musdb
- Нотатки (для будь-якої сторінки)
- Інтеграція з Nextcloud
- Інтерфейс для користувачів з обмеженими правами
Інтерфейс має приховувати кнопки надсилання та інші елементи, якщо користувач не має права виконувати відповідну дію. Наразі це реалізовано лише в небагатьох випадках, хоча на рівні бекенду права доступу вже застосовуються.
Сторінки об’єктів
- Оглядові сторінки
- Меню сортування
- Список спостереження
- Перегляд списком / редагування більшості полів у табличному вигляді
- Бічна панель
- Попередження, якщо об’єкт наразі зарезервований
- Статус редагування запису про об’єкт, наприклад відкритий, заблокований або архівований
- Налаштування експорту для XML; швидкий експорт уже працює
- Пропозиції щодо покращення
- Вкладка основних даних
- Редагування перекладів
- Пропозиції тегів на основі зображення об’єкта
- Пропозиції тегів на основі опису об’єкта
- Можливість додавати джерела / посилання на джерела для подій
- Вкладка додаткових даних
- Налаштування статусу публікації для окремих полів даних
- Вкладка адміністрування
- Вилучення об’єкта з фондів
- Вкладка місцезнаходження
- Посилання на управління позиками
- Більша частина вкладки реставрації / консервації
- Вкладка історії даних
- Інтерфейс керування версіями
- Власний / налаштований користувачем інтерфейс редагування об’єктів
- Порівняння об’єктів
Сторінки установ
- Сторінка редагування установи
- Вкладка для самокатегоризації установ / опитування
- Налаштування на рівні установи
- Налаштування запланованого автоматичного створення експортів
Сторінки колекцій
- Ієрархія та сортування
- Сторінка редагування
- Додавання тегів до колекцій
Серії
- Сторінки редагування серій
- Ієрархія
- Сортування об’єктів серії
- Бічна панель
- Налаштування видимості серії на публічній сторінці установи
- Можливість групувати пов’язані записи словника для редагування в nodac
Налаштування користувачів
- Сторінки редагування інших користувачів
- Налаштування прав користувачів
- Налаштування власного облікового запису
- Експорт даних власного облікового запису
- Налаштування WebDAV (для підготовки самостійно запущених імпортів даних)
- Налаштування сповіщень
Контакти / адресна книга
- Сторінки редагування контактів
- Експорт vCard
- Список пов’язаних бібліографічних записів (буде реалізовано на сторінці пошуку літератури)
Приміщення
- Ієрархія
- Сторінки редагування
- Відображення даних датчиків
Виставки
- Сторінки редагування
- Вкладка для публікацій, пов’язаних із виставкою
Словники / довідкові дані
- Ще не опублікована функція каталогу-резоне
- Твердження
Функції, які вже реалізовано, але які ще точно потрібно вдосконалити
- Сторінка редагування об’єкта
- Прив’язування нещодавно прив’язаних сутностей на вкладці основних даних
Функції, які буде видалено
- Загальні функції сторінок
- Закладки
Браузери значно краще працюють із закладками, ніж musdb. А musdb у будь-якому разі працює в браузері.
- Закладки
- Сторінка об’єкта
- Вкладка «Дослідження провенансу»
Відгуки дослідників провенансу, а також здоровий глузд і наш власний досвід показали, що нинішня реалізація загалом невдала. У майбутньому в musdb може з’явитися окремий загальний розділ для управління дослідницькими проєктами, який справді виконуватиме завдання, для яких ми створили цю функцію. - Введення даних у вигляді вільного тексту за допомогою відповідно підготовленого QR-коду
- Інструмент «Запитати експерта»
- Вкладка «Дослідження провенансу»
- Розділ статей (майже не використовувався)
- Функції для подкастів (ніколи не публікувалися)
- Сторінка серії
- Офлайн-каталог HTML
Це рішення належним чином не підтримувалося вже близько десяти років. Крім того, завдяки значно ширшій доступності інтернет-з’єднання рішення на основі API стали набагато гнучкішими. - Налаштування режимів відображення опублікованих сторінок серій
- Офлайн-каталог HTML
- Чат
- Налаштування стартової сторінки користувача після входу
Основним і найнадійнішим способом повідомляти про оновлення musdb та інших інструментів museum-digital є блог, стрічка якого вбудована в інформаційну панель. Якщо всі користувачі час від часу відкриватимуть інформаційну панель, зростає ймовірність того, що вони дізнаватимуться про оновлення. Крім того, уніфікований процес входу полегшує розуміння повідомлень користувачів про помилки, пов’язані зі входом і запуском системи.
Функції, які ще потрібно обговорити
- Сторінка об’єкта
- Налаштування кнопок соціальних мереж. З огляду на доступний набір таких кнопок і сучасні тенденції використання соціальних мереж, можливо, доцільніше просто відмовитися від цієї опції.
Що це означає для подальшого плану?
Як легко побачити, роботи ще чимало. Однак основну її частину вже виконано, і ми повністю дотримуємося запланованого графіка. Для всіх, хто залежить від функцій, яких поки що немає в новому інтерфейсі, стара версія залишатиметься доступною приблизно до 22 листопада. Водночас для більшості користувачів musdb у своєму нинішньому стані вже має задовольняти більшість або навіть усі їхні потреби краще, ніж старий інтерфейс.
До 22 листопада обидві версії залишатимуться доступними, щоб користувачі могли поступово перейти на нову. Ми будемо раді Вашим відгукам і продовжуватимемо регулярно оновлювати нову версію.
(Зображення до допису згенеровано за допомогою Anima Base v1)




