ICal middleware
Find a file
2024-07-02 21:09:42 +02:00
application Altering more fields 2024-07-02 21:09:42 +02:00
.dockerignore First version 2024-03-14 21:48:56 +01:00
.editorconfig First version 2024-03-14 21:48:56 +01:00
.env.dist First version 2024-03-14 21:48:56 +01:00
.gitignore First version 2024-03-14 21:48:56 +01:00
docker-compose.local.yml First version 2024-03-14 21:48:56 +01:00
docker-compose.yml First version 2024-03-14 21:48:56 +01:00
Dockerfile First version 2024-03-14 21:48:56 +01:00
LICENSE First version 2024-03-14 21:48:56 +01:00
README.md First version 2024-03-14 21:48:56 +01:00

Ics Middleware

Small middleware fetching ics files from remote urls and returning it with all UIDs postfixed. It was built as a workaround to Nextcloud architecture bug storing local and subscribed calendar event in single table with globally unique UIDs. This architecture does not allow subscribing to remote calendar containing same events as in local calendar.

Use case

I have my personal calendar on Nextcloud My partner has her own personal calendar on google for example. We subscribe to each other calendars to see each others program. From time to time we invite each other to a common event.

Here is the problem. I receive event invitation, but I already have the same event in the subscribed calendar. Nextcloud can't handle this.

Solution: I subscribe to partner's calendar through this middleware. This adds postfix to all event UIDs. When invitation comes, there is no id collision with existing event as invitation has the original UID, and stored events from subscribed calendar has postfixed UID

Settings

App requires env variable CALENDARS containing a json object of absolute path as a key and ics calendar as value.

CALENDARS={"/partner":"https://some.server/calendar.ics"}

Optionaly you can define a postfix that will be added to all event UIDs by env variable POSTFIX. Default to value @icsmw

POSTFIX=@icsmw