iCalendar.org

  * [ Home  ](/Home.html)
  * Specifications ****
    * [ iCalendar (RFC 5545)  ](/RFC-Specifications/iCalendar-RFC-5545/)
    * [ New Properties for iCalendar (RFC 7986)  ](/RFC-Specifications/iCalendar-RFC-7986/)
    * [ iCalendar Venue (Draft)  ](/RFC-Specifications/iCalendar-Venue-Draft/)
    * [ CalDAV Access (RFC 4791)  ](/RFC-Specifications/CalDAV-Access-RFC-4791/)
    * [ CalDAV Scheduling (RFC 6638)  ](/RFC-Specifications/CalDAV-Scheduling-RFC-6638/)
  * [ Validator  ](/validator.html)
  * [ PHP Library  ](/php-library.html)
  * [ RRULE Tool  ](/rrule-tool.html)
  * [ Resources  ](/resources.html)
  * [ News  ](/News/)
  * [ Contact Us  ](/contact-us.html)

[ ![iCalendar.org](https://icalendar.org/images/clipart/icalendar600.png) ](/)

  1. You are here: 
  2. [ Home  ](/Home.html)
  3. [ Specifications  ](/RFC-Specifications/all/)
  4. [ iCalendar (RFC 5545)  ](/RFC-Specifications/iCalendar-RFC-5545/)
  5. 5\. Recommended Practices 

Try out our new [ RRULE tool ](/rrule-tool.html) for creating RRULE compatible
strings.

#  5\. Recommended Practices

f  Share

URL

These recommended practices should be followed in order to assure consistent
handling of the following cases for an iCalendar object.

1\. Content lines longer than 75 octets SHOULD be folded.

2\. When the combination of the [ "RRULE" ](/iCalendar-
RFC-5545/3-8-5-3-recurrence-rule.html) and [ "RDATE" ](/iCalendar-
RFC-5545/3-8-5-2-recurrence-date-times.html) properties in a recurring
component produces multiple instances having the same start DATE-TIME value,
they should be collapsed to, and considered as, a single instance. If the [
"RDATE" ](/iCalendar-RFC-5545/3-8-5-2-recurrence-date-times.html) property is
specified as a PERIOD value the duration of the recurrence instance will be
the one specified by the [ "RDATE" ](/iCalendar-RFC-5545/3-8-5-2-recurrence-
date-times.html) property, and not the duration of the recurrence instance
defined by the [ "DTSTART" ](/iCalendar-RFC-5545/3-8-2-4-date-time-start.html)
property.

3\. When a calendar user receives multiple requests for the same calendar
component (e.g., REQUEST for a [ "VEVENT" ](/iCalendar-RFC-5545/3-6-1-event-
component.html) calendar component) as a result of being on multiple mailing
lists specified by [ "ATTENDEE" ](/iCalendar-RFC-5545/3-8-4-1-attendee.html)
properties in the request, they SHOULD respond to only one of the requests.
The calendar user SHOULD also specify (using the "MEMBER" parameter of the [
"ATTENDEE" ](/iCalendar-RFC-5545/3-8-4-1-attendee.html) property) of which
mailing list they are a member.

4\. An implementation can truncate a [ "SUMMARY" ](/iCalendar-
RFC-5545/3-8-1-12-summary.html) property value to 255 octets, but it MUST NOT
truncate the value in the middle of a UTF-8 multi-octet sequence.

5\. If seconds of the minute are not supported by an implementation, then a
value of "00" SHOULD be specified for the seconds component in a time value.

6\. [ "TZURL" ](/iCalendar-RFC-5545/3-8-3-5-time-zone-url.html) values SHOULD
NOT be specified as a file URI type. This URI form can be useful within an
organization, but is problematic in the Internet.

7\. Some possible English values for [ "CATEGORIES" ](/iCalendar-
RFC-5545/3-8-1-2-categories.html) property include: "ANNIVERSARY",
"APPOINTMENT", "BUSINESS", "EDUCATION", "HOLIDAY", "MEETING", "MISCELLANEOUS",
"NON-WORKING HOURS", "NOT IN OFFICE", "PERSONAL", "PHONE CALL", "SICK DAY",
"SPECIAL OCCASION", "TRAVEL", "VACATION". Categories can be specified in any
registered language.

8\. Some possible English values for the [ "RESOURCES" ](/iCalendar-
RFC-5545/3-8-1-10-resources.html) property include: "CATERING", "CHAIRS",
"COMPUTER PROJECTOR", "EASEL", "OVERHEAD PROJECTOR", "SPEAKER PHONE", "TABLE",
"TV", "VCR", "VIDEO PHONE", "VEHICLE". Resources can be specified in any
registered language.

[ Previous article: 4. iCalendar Object Examples  Prev  ](/iCalendar-
RFC-5545/4-icalendar-object-examples.html) [ Next