emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [patch] improved: add TTL as defcustom to ox-icalendar


From: Ihor Radchenko
Subject: Re: [patch] improved: add TTL as defcustom to ox-icalendar
Date: Sun, 05 Feb 2023 11:09:37 +0000

Detlef Steuer <steuer@hsu-hh.de> writes:

> Next try.

Thanks!

> +Default for ~org-icalendar-ttl~ is nil.  In that case the setting will
> +not be used in the exported ICS file.
> +
> +The option may also be set using the ICAL-TTL keyword.

Should quote the Org syntax keyword according to our documentation
standards: =ICAL-TTL= 

> @@ -295,7 +295,31 @@ Interesting value are:
>         (const :tag "Local time" ":%Y%m%dT%H%M%S")
>         (const :tag "Explicit local time" ";TZID=%Z:%Y%m%dT%H%M%S")
>         (const :tag "Universal time" ":%Y%m%dT%H%M%SZ")
> -       (string :tag "Explicit format")))
> +       (string :tag "Other")))

This does not belong to this patch. Probably accidental change.

> +(defcustom org-icalendar-ttl "PT1H"
> +  "The time-to-live 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 in an ICS file.  Setting org-icalendar-ttl to \"PT1H\"

`org-icalendar-ttl'.

> +would advise a server to reload the file every hour.
> +
> +See https://icalendar.org/iCalendar-RFC-5545/3-8-2-5-duration.html
> +for a complete description of possiblee values of this option.  For example
> +\"PT1H\" stands for 1 hour, \"PT0H27M34S\" stands for 0 hours, 27 minutes
> +and 34 seconds.  Default value is nil, which means no such option

The default

> +is set in the ICS file.
> +
> +This option can also be set with the ICAL-TTL keyword."
> +  :group 'org-export-icalendar
> +  :type '(choice
> +          (const :tag "no refresh" nil)

"No refresh"

>    (concat (format "BEGIN:VCALENDAR
>  VERSION:2.0
>  X-WR-CALNAME:%s
>  PRODID:-//%s//Emacs with Org mode//EN
>  X-WR-TIMEZONE:%s
> -X-WR-CALDESC:%s
> -CALSCALE:GREGORIAN\n"
> -               (org-icalendar-cleanup-string name)
> -               (org-icalendar-cleanup-string owner)
> -               (org-icalendar-cleanup-string tz)
> -               (org-icalendar-cleanup-string description))
> +X-WR-CALDESC:%s\n"
> +(when ttl "X-PUBLISHED-TTL:%s\n")
> +"CALSCALE:GREGORIAN\n")
> +               (org-icalendar-cleanup-string name)
> +               (org-icalendar-cleanup-string owner)
> +               (org-icalendar-cleanup-string tz)
> +               (org-icalendar-cleanup-string description)
> +               (org-icalendar-cleanup-string ttl))
>         contents
>         "END:VCALENDAR\n"))

This does not look right. Did you try to export anything with this patch
applied? You are passing multiple string arguments to `format'.

Finally, I think that we can document the new keyword in the manual.  

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]