Модуль iCalendar позволяет создавать *.ics файлы событий, которые можно интегрировать в свой календарь.
Установка
Данный модуль не требует никаких настроек и может использоваться сразу после установки.
Бизнес-процессы модуля iCalendar
При установке модуля, в проекте автоматически генерируется связанный с ним БП:
- ICalendar: Create Event - создает в БД файл события и возвращает его ID;
- На входе:
- Title [string] - название события в календаре;
- Start [datetime] - время начала события;
- End [datetime] - время окончания события;
- Filename [string] - имя *.ics файла;
- На выходе:
- Calendar [file] - id файла в БД.
- На входе:
Пример использования
Рассмотрим пример создания и получения файла события с помощью модуля iCalendar.
Первым делом необходимо привязать БП ICalendar: Create Event к эндпоинту бэкэнда. Для этого нужно перейти в Backend > Endpoints.
Далее, создав соответствующую группу, создается новый эндпоинт, как на примере ниже.
Как только необходимый БП создан, можно приступить к созданию веб-интерфейса и необходимых бизнес процессов.
В данном примере, с веб-интерфейса считываются даты начала и конца события, его название и имя итогового .ics файла, по нажатию кнопки, и созданный в БД файл скачивается на устройство пользователя, запустившего данный БП.
Интерфейс выглядит следующим образом:
Часть БП, отвечающего за передачу значений из инпутов, приведена на примере ниже:
Чтобы скачать файл на устройство пользователя, можно использовать блок Download file from URL, зная адрес его расположения. В данном случае, файл расположен в БД приложения, и относительный путь его будет определяться, как /api/_files/<ID>/download/, где ID - идентификатор файла (calendar блока ICalendar: Create Event, в данном случае). Для формирования адреса файла, последовательно используются блоки To String (для конвертации calendar [file] в строку и Concat multiple, для получения итоговой ссылки на файл в БД. Соответствующая часть БП выглядит следующим образом:
Результат скомпилированного приложения:
Чтобы добавить созданное событие в ваш google-календарь, на странице календаря перейдите в настройки:
Далее, Import&Export и импортируйте загруженный .ics файл с вашего компьютера:
Импортированное событие появится в вашем календаре: