Improved patch since org-icalendar-template needed to use
the new variable, too.

And now based on 9.5.2 from elpa.

Detlef


Am Thu, 30 Dec 2021 22:59:19 +0100
schrieb Detlef Steuer <ste...@hsu-hh.de>:

> 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))
830a845,846
>    ;; TTL
>    org-icalendar-ttl
833c849
< (defun org-icalendar--vcalendar (name owner tz description contents)
---
> (defun org-icalendar--vcalendar (name owner tz description ttl contents)
835c851
< NAME, OWNER, TZ, DESCRIPTION and CONTENTS are all strings giving,
---
> NAME, OWNER, TZ, DESCRIPTION, TTL and CONTENTS are all strings giving,
837c853,854
< 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."
843a861
> X-PUBLISHED-TTL:%s
848c866,867
< 		  (org-icalendar-cleanup-string description))
---
> 		  (org-icalendar-cleanup-string description)
> 		  (org-icalendar-cleanup-string ttl))
976a996
> 	org-icalendar-ttl
1000a1021,1022
> 	      ;; TTL (Refresh period)
> 	      org-icalendar-ttl

Reply via email to