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

Zimbra appointments that recur "forever," don't.



Your site will encounter the same problem  as your installation hits the 1, 2, or 3 year mark. It is *not* related to our 6.0.4 upgrade; it happens in 5.x as well.

For performance reasons, Zimbra, starting with version 5.0.7 (summer 2008), has certain default limits for appointments set to repeat "forever":

  zimbraCalendarRecurrenceDailyMaxDays: 730
  zimbraCalendarRecurrenceMaxInstances: 0
  zimbraCalendarRecurrenceMonthlyMaxMonths: 360
  zimbraCalendarRecurrenceOtherFrequencyMaxYears: 1
  zimbraCalendarRecurrenceWeeklyMaxWeeks: 520
  zimbraCalendarRecurrenceYearlyMaxYears: 100

What this means is that if you created a daily event two years ago, it will suddenly stop appearing on your calendar at the 730 day mark. The limit for weekly recurrence is 10 years. For monthly, 3 years. For yearly (like birthday reminders), 100 years. For "other," like a custom every-14-days recurrence, the limit is one year. If you open the item details, there is no explanation of the unexpected termination of the series.

Common reasons for meetings that recur "forever" are work schedules.

Developer comments from the creation of these tunables in early 2008:

		Previously the limits were hard-coded.  Max instances expanded were 
		limited to 1200.  There weren't separate limits for recurrence 
		frequency, and all rules were limited to 30 years.
	
		If you don't want any limits, set all limits to 0.  The downside of 
		allowing huge or unlimited range for recurrence expansion is that 
		the appointments stay live longer.  Let's say every recurring 
		appointment had 50-year effective range.  When searching for 
		appointments for today, we have to examine all appointments in the 
		last 50 years.
	
		Server restart is required after adjusting limits.  Appointments 
		created with old limits will still have range based on the old 
		limits.  They will be updated to the new range upon any
		modification by the user.
	
		A migration script is needed to update all existing appointments.

The calendar data passed to mobile devices, Outlook, and Apple iCal has no limit. So it's entirely possible that if you created a recurring item two years ago, it will continue to show up in Outlook (which has a hard-coded 5-year limit, I think) but not in Zimbra web or free/busy search.

Workarounds:

 1) Slide the series forward. When one year in (or when you notice that the 2-year horizon is imminent), change the start date such that it extends farther into the future, and less far into the past. This is "cleanest" and performs best, but runs the risk of forgetting. It also makes your distant past calendars "untrue."
 2) When you hit the 2-year horizon, create a new recurrence. This will "look" right in the web interface, but will likely create duplicates in other clients with different limits for "infinite" recurrences.
 3) If you want to block off time every workday "forever," use 5 weekly recurrences (one per weekday) rather than 1 daily recurrence. Weeklies will then last 10 years. It's not forever, but it's more than 2.

References:

The configurable limits were defined here:
  http://bugzilla.zimbra.com/show_bug.cgi?id=24926
  http://bugzilla.zimbra.com/show_bug.cgi?id=30333
RFE to give users some clue what's going on:
  http://bugzilla.zimbra.com/show_bug.cgi?id=43753
Forum:
  http://www.zimbra.com/forums/administrators/36055-solved-recurrences-no-end-date-end-after-5000-occurrences.html
-- 
Rich Graves http://claimid.com/rcgraves
Carleton.edu Sr UNIX and Security Admin
CMC135: 507-222-7079 Cell: 952-292-6529