CalDav: назначение разных категорий в Nextcloud и Thunderbird Lightning

При создании события через пользовательский интерфейс nextcloud ответ сервера 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 разделяет каждую категорию запятой (,).

Это правильно?


person EneOli    schedule 18.08.2020    source источник


Ответы (1)


Согласно rfc 5545, раздел 3.8.1.2, свойство CATEGORIES может иметь несколько значений, разделенных запятыми. Это то, что делает Thunderbird.

В то же время существует ряд свойств rfc 5545, которые разрешено указывать более одного раза, например. ATTENDEE. Поэтому синтаксические анализаторы научились работать с несколькими свойствами. Глядя на rfc 7986, раздел 5.6, несколько свойств для CATEGORIES явно разрешены.

Возможно, некоторые парсеры могут внутренне преобразовать несколько свойств CATEGORIES в одно (или наоборот?), что будет заметно при редактировании события.

person Philipp Kewisch    schedule 19.08.2020