DecSync icon indicating copy to clipboard operation
DecSync copied to clipboard

[Specification proposal] Webcal subscription

Open onokatio opened this issue 3 years ago • 4 comments

Some calendar app and caldav support external calendar subscription. It can save an URL for icalendar resource (.ics) on web. for example: webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics

I have two idea for specification.

  • type A: decsribe one collection. similar to contacts-calendars.
  • type B: describe two collection. simple and distributed keys.

Draft type A

Path

DecSync
├── webcals
│   └── colID12345
│       ├── local
│       │   ├── appId1
│       │   │   ├── info
│       │   │   └── sequences
│       │   └── appId2
│       │       ├── info
│       │       └── sequences
│       └── v2
│           ├── appId1
│           │   ├── info
│           │   └── sequences
│           └── appId2
│               ├── info
│               └── sequences

Mappings

["info"]

  • key: "name"; value: String, name of the collection.
  • key: "url"; value: String, pointing a webcal address.
  • ley: "subscription"; value: Boolean, indicating the subscription status of the feed.
  • key: "color"; value: String with format "#rrggbb", indicating the color of the calendar.

Draft type B

Path

DecSync
├── webcals
│   ├── local
│   │   ├── appId1
│   │   │   ├── info
│   │   │   └── sequences
│   │   └── appId2
│   │       ├── info
│   │       └── sequences
│   └── v2
│       ├── appId1
│       │   ├── info
│       │   ├── 00
│       │   └── sequences
│       └── appId2
│           ├── info
│           ├── 00
│           └── sequences

Mappings

["names"]

  • key: String, URL of the webcal.
  • value: String, Name of the webcal.

["subscriptions"]

  • key: String, URL of the webcal.
  • value: Boolean, indicating the subscription status of the feed.

["color"]

  • key: String, URL of the webcal.
  • value: String, value: String with format "#rrggbb", indicating the color of the calendar.

onokatio avatar Apr 09 '22 09:04 onokatio

Sounds interesting! It is a very simple addition that can be useful in practice. Something like draft A looks good. I will try to implement it first, but I am not sure how much work it is and when I will do it.

39aldo39 avatar Apr 24 '22 15:04 39aldo39

I am unsure, if I understand the proposal correctly. You want Decsync to download ics files and add them to your calendar?

There exist already several apps specifically for that purpose. The most notable being ICSx⁵ from the Davdroid developers. https://github.com/bitfireAT/icsx5 https://f-droid.org/packages/at.bitfire.icsdroid/ It is actively developed and works flawlessly.

Mugen36 avatar Jun 07 '22 11:06 Mugen36

@Mugen36 Thank you for your reply! Your suggestion is little diffrent from purpose. I'm using icsx5 to download ics. The proposal is 'sync ics URL list at DecSync'. It is similar approach with DAVx5. (DAVx5 is caldav client and it uses icsx5 for actual downloading.)

so call & using icsx5 by decsync as ics downloader and provider is good idea if this proposal is implemented.

onokatio avatar Jun 14 '22 11:06 onokatio