iCalendar - обновлять тело собрания, чтобы оно не выглядело, как будто дата / время изменились - PullRequest
0 голосов
/ 30 октября 2018

Я создаю и отправляю следующее приглашение iCalendar в Outlook (V14 - часть MS Office Professional Plus 2010) с использованием PLSQL, которое генерирует следующее:

Content-class: urn:content-classes:calendarmessage
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="----_=_NextPart"
Subject: SUBJECT
Date: TUESDAY  , 30-OCT-18 11:42
From: <123@ABC.COM> 
To: 234@ABC.COM
------_=_NextPart
Content-Type: text/plain;
 charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

You must have an HTML enabled client to view this message.

------_=_NextPart
Content-Type: text/html;
 charset="iso-8859-1"

BODY TEXT

------_=_NextPart
Content-class: urn:content-classes:calendarmessage
Content-Type: text/calendar;
  method=REQUEST;
  name="meeting.ics"
Content-Transfer-Encoding: 8bit

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Your company name//NONSGML ICAL_EVENT//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:1234@yoururl.com
SEQUENCE:0
DTSTAMP:20181030T114206
ORGANIZER;CN="ORANISER_NAME":MAILTO:123@ABC.COM
DTSTART:20181106T121200
DTEND:20181106T121300
SUMMARY:
LOCATION:LOCATION
END:VEVENT
END:VCALENDAR

------_=_NextPart--

Затем я просто хочу обновить информацию о приглашении (не дату / время, местоположение или участников. Только основной текст). Обратите внимание, что я использую тот же UID, но увеличиваю последовательность:

Content-class: urn:content-classes:calendarmessage
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="----_=_NextPart"
Subject: SUBJECT
Date: TUESDAY  , 30-OCT-18 11:48
From: <123@ABC.COM> 
To: 234@ABC.COM
------_=_NextPart
Content-Type: text/plain;
 charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

You must have an HTML enabled client to view this message.

------_=_NextPart
Content-Type: text/html;
 charset="iso-8859-1"

**BODY TEXT UPDATE**

------_=_NextPart
Content-class: urn:content-classes:calendarmessage
Content-Type: text/calendar;
  method=REQUEST;
  name="meeting.ics"
Content-Transfer-Encoding: 8bit

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Your company name//NONSGML ICAL_EVENT//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:1234@yoururl.com
SEQUENCE:1
DTSTAMP:20181030T114850
ORGANIZER;CN="ORANISER_NAME":MAILTO:123@ABC.COM
DTSTART:20181106T121200
DTEND:20181106T121300
SUMMARY:
LOCATION:LOCATION
END:VEVENT
END:VCALENDAR

------_=_NextPart--

Проблема в том, что, хотя обновление основного текста происходит, дата / время собрания подсвечивается оранжевым цветом и выглядит так, как будто оно было изменено:

enter image description here

Любая помощь очень ценится! ура Грег

1 Ответ

0 голосов
/ 01 ноября 2018

Использование того же UID очень важно. Не обновляйте порядковый номер для незначительных обновлений - это для значительных изменений, которые могут повлиять на участие посетителей. Из спецификации https://www.kanzaki.com/docs/ical/sequence.html:

Он монотонно увеличивается с помощью CUA «Организатора» каждый раз, когда «Органайзер» вносит значительную редакцию в компонент календаря. Когда «Организатор» вносит изменения в одно из следующих свойств, порядковый номер ДОЛЖЕН быть увеличен:

. "DTSTART"

. "DTEND"

. "DUE"

. "RDATE"

. "RRULE"

. "EXDATE"

. "EXRULE"

. "STATUS"

Кроме того, изменения, внесенные «Организатором» в другие свойства, могут также принудительно увеличивать порядковый номер. «Организатор» КУА ДОЛЖЕН увеличивать порядковый номер, когда он вносит изменения в свойства в компоненте календаря, которые, по мнению «Организатора», будут ставит под угрозу действительность статуса участия «Участники». Например, изменение места встречи с одного локализация в другой отдаленный регион может эффективно повлиять на Статус участия «Участники».

...