Разработка мобильного приложения для свободной системы RunaWFE Free (Алиса Киселева, OSEDUCONF-2026)
Материал из 0x1.tv
- Докладчик
- Алиса Киселева
Для улучшения пользовательского опыта при работе с мобильным приложением RunaWFE было решено добавить настраиваемые уведомления. Бизнес-процессы, в которых участвует пользователь, включают в себя последовательности задач и чаты. Целью было облегчить получение информации о новых задачах и сообщениях в чате.
В докладе описывается реализация механизма уведомлений в мобильном приложении RunaWFE.
Содержание
Видео[править вики-текст]
Презентация[править вики-текст]
Thesis[править | править вики-текст]
Ключевые слова: СПО, система управления бизнес-процессами, мобильное приложение.
RunaWFE[1] — это система управления бизнес-процессами (далее СУБП). Бизнес-процесс отображается в виде графической схемы переходов между действиями или задачами. СУБП используется не только для моделирования бизнес-процесса, но и для симуляции, проверки и связывания реальных данных со схемой[2].
Также система осуществляет распределение и контроль выполнения задач исполнителями. Пользователи системы получают роли, описанные в схеме и по мере исполнения бизнес-процесса отмечают статус своих задач. Назначение новых задач — первый канал уведомлений.
Дополнительно в RunaWFE есть чат для всего бизнес-процесса. Он требуется для уточнения информации без обновления схемы процесса и создания промежуточных задач. Появление новых сообщений в чатах — второй канал уведомлений, хотя и менее приоритетный.
Реализация приложения для ОС Android[править | править вики-текст]
Слова «оповещение» и «уведомление» в тексте далее означают одно и то же.
Приложение для ОС Android написано на языке программирования Kotlin[3]. Ранее в нём отсутствовал механизм уведомлений, и появление новых задач или сообщений в чатах пользователю приходилось отслеживать вручную.
Основное взаимодействие с приложением ведётся в элементе браузера WebView.
Оповещения реализуются через подход polling: когда клиент через равные интервалы времени опрашивает сервер. Такое решение было выбрано для независимости от сторонних серверов уведомлений.
Были добавлены новые пункты на экране настроек:
- Интервал обновления данных для уведомлений
- Ссылка на стандартный раздел настроек для каждого канала уведомлений
Эти данные сохраняются в настройках приложения.
Каналом уведомлений переводится термин «notification channel». Каналов три: новые задачи, новые сообщения и основной канал (для всего остального).
В стандартном разделе настроек канала пользователь может:
- задать свою мелодию
- включить вибрацию при получении уведомления
- отключить канал совсем (тогда всплывающих уведомлений от канала не будет)
В тексте оповещения указывается число новых заданий или непрочитанных сообщений, при раскрытии всплывающего элемента показывается полный текст: сообщений или названия задач.
Мобильное приложение взаимодействует с сервером RunaWFE Free по двум протоколам: REST-API (получение данных для уведомлений) и по HTTPS (работа браузера WebView).
Для получения данных был добавлен REST API клиент, работающий с необходимыми конечными точками. Классы и интерфейсы, созданные для работы с ним, расположены в пакете rest, сам клиент для реализации шаблона проектирования Одиночка (Singleton) объявлен объектом. Клиент написан с использованием библиотеки Retrofit.
Опрос сервера происходит в отдельной службе (Service). Служба запускается при переходе на экран с WebView. Если разрешение на показ уведомлений было отменено или не дано, сервис не запускается.
Ниже приведены скриншоты обновлённого экрана настроек и примеров пришедших уведомлений.
Приложение для ALT Mobile[править | править вики-текст]
Также было создано простое приложение для ALT Mobile. Это отдельное приложение, и оно не является копией вышеописанного приложения для Android.
Проект RunaWFE Free стремится к поддержке всей линейки операционных систем Альт. Поэтому было решено начать работу над клиентом и для ALT Mobile.
Так как в ALT Mobile стандартным окружением рабочего стола является GNOME, приложение использует библиотеку GTK (эта библиотека, в свою очередь, изначально ориентирована на языки C и C++). Оно запускает браузер с открытой страницей RunaWFE Free сервера. Адрес сервера записан в конфигурационном файле.
Хотя на текущий момент функционал приложения самый простой, если потребуется, возможности приложения будут расширены до тех, что имеются в приложении для Android.
Заключение[править | править вики-текст]
В результате в мобильное приложение под ОС Android был добавлен функционал настраиваемых уведомлений. Благодаря этому пользователь находится в курсе состояния бизнес-процесса без необходимости проверять новые данные вручную.
В код приложения был добавлен API-клиент, который в дальнейшем можно расширить для иных целей.
Также был создан простейший клиент RunaWFE Free для мобильной операционной системы ALT Mobile.
Список литературы[править | править вики-текст]
- ↑ Михеев А. Г. Системы управления бизнес-процессами и административными регламентами на примере свободной программы RunaWFE. Второе издание. — М.: ДМК Пресс, 2016.
- ↑ Сайт проекта RunaWFE Free: https://runawfe.org
- ↑ GitHub-репозиторий приложения: https://github.com/processtech/runawfe-free-android-app
