Any CalDAV or WebDAV server plugin?

I want to use CalDav (an extension for WebDav that serves iCal calendar) for open-sourced cal.com today, so it can use my personal private calendar in Calendar and Agenda plugin tw-calendar with Mobile friendly agenda page layout, instead of using Google Calendar which I stop using for a year.

I’m running a NodeJS server using TidGi app, so I think I just need a WebDav plugin that can turn the NodeJS server into a WebDAV server, and config some filters to create a CalDav endpoint that serves my calendar tiddlers.

Is this possible already? Do I need to implement this by myself? (I may use GitHub - sciactive/nephele: A pluggable WebDAV, CardDAV, and CalDAV server for Node.js and Express.)

1 Like

CalDav and WebDav are not really the same thing. The only similarities are the naming and the protocol used is HTTP.

I did have a closer look if there are any client side libraries, that are able to communicate using calDav with existing claDav backends – But there is nothing, that’s simple to implement and with a decent size.

The open source backend code is also rare and what’s available is abandoned most of the time. At least I did not find anything usable.

So a bit more research will be needed.

Yes, I only find nephele, and it say it is still in dev, and CalDAV is just “might have”.

I only need a server side library. Because I just want tiddlywiki to be a datasource for other WebDAV based app, so tiddlywiki will works like a BaaS for them, especially cal.com

1 Like

Depending on what you need there is a template that defines static tiddlers that get served along with a tiddlywiki from node. If all you need to do is publish a HTML file that obeys some calendar format rules you should be able to use the same mechanism along with a new template for the display of your content that another system can read.

  • I can’t find my notes on this but I had the static tiddlers available and saw the possibility of publishing “arbitrary html” in addition to static tiddlers.
  • This would be a great way to publish additional content along side tiddlywiki even generated by tiddlywiki. Watch out Wix etc…
  • If you find any details please share back
1 Like

I did find this libarary: GitHub - kewisch/ical.js: Javascript parser for ics (rfc5545) and vcard (rfc6350) data which imo could be used that TW natively supports text/calendar for iCAL and text/vCard for vCARD as a tiddler type.

  • So tiddlers could actually be eg: mario.vcard or mario.vcf and could contain native vCard data.
  • Same with calendar data: meeting.ical /.ics / .ifb / .icalendar – plus meeting.ical.meta with some TW meta data.

I think this should be a straight forward implementation. We would need a serializer and a de-serializer that could use the library.

What do you think?
-mario


Edit: TW import mechanism seems to detect vfc for vCard and it detects text/plain for vCalendar. So we would “only” need to create a decent UI to present the content in a nicer way.

Thanks, I’m already using GitHub - eugenehp/icalts: iCal parser written in pure typescript in GitHub - tiddly-gittly/ical-calendar-importer: Import *.ical calendar file exported from services like GoogleCalendar into TiddlyWiki.

I import Google calendar using it, and use tiddler for calendar since that. Surely we might be able to use it to construct ical file from tiddlers.

I’m not sure if services that only accept CalDAV will accept ical file like this. So maybe I should still use a server library instead of a client library like this.