This is my first try ever to contribute anything in elisp.

The nextcloud calendar app supports the X-PUBLISHED-TTL 
option if subscribing to an ics file. Nextcloud defaults
to a TTL of 1 week, what is much too long for my use case.

When exporting to such a file from org I did not find any way
to set this option during export. So I tried to add a defcustom
in ox-icalendar.el.

The default TTL in this patch is 1 hour.

I think this qualifies as an tiny patch, as it is mostly a docstring
:-), in case anybody finds this an useful addition.

The patch is relative to 9.5.1 from elpa.

All comments very much appreciated.

And a happy new year to you all
Detlef
267a268,280
> (defcustom org-icalendar-ttl "PT1H"
>   "The time to life for the exported calendar.
> Subscribing clients to the exported ics file can derive the time interval
> to read the file again from the server. One example of such a client is
> the nextcloud calendar, which respects the setting of
> X-PUBLISHED-TTL, i.e. X-PUBLISHED-TTL:PT1H .
> 
> See https://icalendar.org/iCalendar-RFC-5545/3-8-2-5-duration.html
> for a complete description of possiblee values of this option. I.e.
> PT1H stands for 1 hour, PT0H27M34S for 0 hours, 27 minutes and 34 seconds."
>   :group 'org-export-icalendar
>   :type 'string)
> 
303c316,317
<     (:icalendar-use-scheduled nil nil org-icalendar-use-scheduled))
---
>     (:icalendar-use-scheduled nil nil org-icalendar-use-scheduled)
>     (:icalendar-ttl nil nil org-icalendar-ttl))
833c847
< (defun org-icalendar--vcalendar (name owner tz description contents)
---
> (defun org-icalendar--vcalendar (name owner tz description ttl contents)
835c849
< NAME, OWNER, TZ, DESCRIPTION and CONTENTS are all strings giving,
---
> NAME, OWNER, TZ, DESCRIPTION, TTL and CONTENTS are all strings giving,
837c851,852
< used, a short description and the other components included."
---
> used, a short description, the time-to-live resp. refresh period and 
> the other components included."
843a859
> X-PUBLISHED-TTL:%s
848c864,865
< 		  (org-icalendar-cleanup-string description))
---
> 		  (org-icalendar-cleanup-string description)
> 		  (org-icalendar-cleanup-string ttl))
976a994
> 	org-icalendar-ttl
1000a1019,1020
> 	      ;; TTL (Refresh period)
> 	      org-icalendar-ttl

Reply via email to