【问题标题】:CalDav: Different category assignment in Nextcloud and Thunderbird LightningCalDav:Nextcloud 和 Thunderbird Lightning 中的不同类别分配
【发布时间】:2020-12-07 21:16:30
【问题描述】:

如果通过 nextcloud Ui 创建事件,Caldav 服务器响应如下所示(输出缩短):

BEGIN:VCALENDAR

VERSION:2.0

PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN

BEGIN:VTIMEZONE

TZID:Europe/Berlin

BEGIN:DAYLIGHT

TZOFFSETFROM:+0100

TZOFFSETTO:+0200

TZNAME:CEST

DTSTART:19700329T020000

RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3

END:DAYLIGHT

BEGIN:STANDARD

SUMMARY:Test
.....

CATEGORIES:Jg. 5  <-- // here

CATEGORIES:Jg. 6  <-- // here

....

END:VEVENT

END:VCALENDAR

如果事件是在 Thunderbird 中创建的,它看起来像这样(输出缩短):

BEGIN:VCALENDAR

VERSION:2.0

CALSCALE:GREGORIAN

PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN

DTSTART:19700329T020000

RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU

DTSTART:19701025T030000

RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU

END:STANDARD

END:VTIMEZONE

BEGIN:VEVENT

CREATED:20200813T111910Z

LAST-MODIFIED:20200817T084432Z

DTSTAMP:20200817T084432Z

UID:584589d3-54a6-4f5a-bd4c-03e478938b07

SUMMARY:Test

CATEGORIES:Jg. 5,Jg. 6 <-- // here

....    
END:VEVENT

END:VCALENDAR

如您所见,Nextcloud 为每个类别创建了它自己的字段,而 Thunderbird 用逗号 (,) 分隔每个类别。

是这样吗?

【问题讨论】:

    标签: calendar thunderbird caldav nextcloud lightning


    【解决方案1】:

    根据rfc 5545 section 3.8.1.2CATEGORIES 属性可以有多个以逗号分隔的值。这就是 Thunderbird 所做的。

    同时,有许多 rfc 5545 属性允许多次指定,例如ATTENDEE。因此解析器已经学会了处理多个属性。查看rfc 7986 section 5.6CATEGORIES 的多个属性是明确允许的。

    某些解析器可能会在内部将多个 CATEGORIES 属性转换为一个(反之亦然?),这在编辑事件时会很明显。

    【讨论】:

      猜你喜欢
      • 2014-03-20
      • 2016-09-08
      • 1970-01-01
      • 2010-09-17
      • 2017-06-09
      • 2023-03-25
      • 2016-12-29
      • 2014-01-29
      • 1970-01-01
      相关资源
      最近更新 更多