Preferences

The correspondence between user preferences (stored in user preference directories) and the default settings (stored in config.txt) is described below.

Preference Default Setting
LANG LANG
add_method_response ADD_RESPONSE_DEFAULT
event_refreshing REFRESHING_DEFAULT
freebusy_bundling BUNDLING_DEFAULT
freebusy_messages NOTIFYING_DEFAULT
freebusy_offers FREEBUSY_OFFER_DEFAULT
freebusy_publishing PUBLISHING_DEFAULT
freebusy_sharing SHARING_DEFAULT
incoming INCOMING_DEFAULT
organiser_replacement ORGANISER_REPLACEMENT_DEFAULT
participating PARTICIPATING_DEFAULT

See the configuration guide for more information about the config.txt file.

Text Encoding

The textual encoding employed by all preferences files is UTF-8.

User Preference Settings

  1. Text Encoding
  2. CN
  3. LANG
  4. TZID
  5. acl
  6. add_method_response
  7. event_refreshing
  8. freebusy_bundling
  9. freebusy_messages
  10. freebusy_offers
  11. freebusy_publishing
  12. freebusy_sharing
  13. incoming
  14. organiser_replacement
  15. participating
  16. permitted_times
  17. scheduling_function

Each of the user preferences or settings are stored in a separate file within a dedicated preferences directory for each user, with the filename bearing the name of the setting concerned. See the filesystem guide for more information.

CN

Default
(none)
Alternatives
(see below)

The common name of the user, employed in iCalendar objects and user interfaces.

LANG

Default
en (English)
Alternatives
(any recognised and supported locale)

The language for messages and user interface text.

TZID

Default
system timezone (see /etc/timezone)
Alternatives
(any recognised Olson time zone identifier)

The default time zone/regime for calendars, new events and local times.

acl

Default
(none)
Alternatives
(see below)

Provides an access control list for the access_control_list scheduling function, invoked using the scheduling_functions setting. An access control list consists of a collection of lines of text describing the handling policy for an incoming invitation.

accept

indicates that if no rule matches, the invitation will be accepted (provisionally)

decline

indicates that if no rule matches, the invitation will be declined (provisionally)

reject

accept role identity

indicates that where the given identity exists in the given role in the event, and unless a subsequent rule contradicts this result, the invitation will be accepted (provisionally)

decline role identity

indicates that where the given identity exists in the given role in the event, and unless a subsequent rule contradicts this result, the invitation will be declined (provisionally)

reject role identity

In the above, role is either organiser (or organizer) or attendee; identity is an address or URL.

Note that even if an accepted result is returned by the access_control_list scheduling function, other functions that follow it in the list of functions may overturn this result.

See the resources guide for examples and more information.

add_method_response

Default
refresh
Alternatives
(see below)

Indicate how ADD methods shall be responded to when received by a recipient:

add

apply them to events as received

ignore

ignore attempts to add event occurrences

refresh

respond with a REFRESH message to obtain a proper request with all event details

event_refreshing

Default
never
Alternative
always

Indicate whether messages requesting a refresh of event details shall be handled automatically. If not, such messages will be passed on to the recipient for their mail program to handle.

freebusy_bundling

Default
never
Alternative
always

Indicate whether to bundle free/busy details with other payloads such as event and free/busy objects. The freebusy_sharing setting must be configured for bundling to operate.

freebusy_messages

Default
none
Alternative
notify

Indicate whether recipients are notified about received free/busy payloads.

freebusy_offers

Default
(none)
Alternative
(see below)

Define the period for which free/busy offers are extended by participants supporting this setting when counter-proposals are made during event scheduling.

This setting requires a value indicating a duration as described in the iCalendar format specification:

http://tools.ietf.org/html/rfc5545#section-3.3.6

For example:

PT10M extend scheduling offers for 10 minutes
PT600S extend scheduling offers for 600 seconds (10 minutes)
PT1D extend offers for 1 day

freebusy_publishing

Default
no
Alternative
publish

Indicate whether to publish free/busy details as Web resources. The freebusy_sharing setting must be configured for publishing to operate.

freebusy_sharing

Default
no
Alternative
share

Share free/busy details generally:

incoming

Default
summary-wraps-message
Alternatives
(see below)

Define how incoming event messages are delivered to recipients:

message-only

deliver only the incoming message as it was received

message-then-summary

deliver the message first followed by a summary message

summary-then-message

deliver a summary first followed by the message

summary-only

deliver only a summary of the message

summary-wraps-message

deliver a summary that includes the original message as an attachment

organiser_replacement

Default
attendee
Alternatives
(see below)

Indicate whether the organiser of an event can be replaced and the nature of any replacement:

any

any identity, regardless of whether it is already present or even previously unknown, may become the organiser

attendee

any new organiser must be a previously-recognised attendee

never

forbid the replacement of an event's organiser

participating

Default
participate
Alternative
no

Indicate whether a recipient participates in the calendar system. Note that participation by default occurs because the handler programs will be defined in the mail system for recipients fulfilling certain criteria; other recipients will be handled in other ways. Thus, initial non-participation must be defined by initialising this setting to "no" for all eligible users, if this is the general policy on initial calendar system participation.

permitted_times

Default
(none)
Alternatives
(see below)

Define the time values at which events can be scheduled. In its simplest form, this indicates the resolution of a calendar for a participant supporting this setting, with the given minute values being those allowed for the start and end of an event. This setting requires a value of one of the following forms:

<minute values>
<hour values>:<minute values>
<hour values>:<minute values>:<second values>

Each list of values is a comma-separated collection of permissible values for the unit of time being constrained. Any unspecified list is taken to permit all normally permissible values for that unit of time. For example:

0,15,30,45

every 15 minutes from the start of each hour

10,12,14,16:0,20,40

every 20 minutes from 10:00 until 16:40 inclusive

12::0,30

every 30 seconds from the start of each minute during the period from 12:00:00 until 12:59:30 inclusive

The purpose of this setting is not necessarily to impose availability constraints but instead to impose a "grid" to which event start and end points shall be "locked".

The values are interpreted in the local time of the participant. Thus, a time represented in UTC may have apparently inappropriate hour (and for some zones) minute values that correspond to permitted values in this participant's own time zone.

scheduling_function

Default
schedule_in_freebusy
Alternatives
(see below)

Indicates the scheduling functions used by resources to find an appropriate period for an event, with each function to be applied to a scheduling request appearing on a separate line, optionally accompanied by arguments controlling the behaviour of the function.

The imiptools.handlers.scheduling module contains the built-in scheduling functions which include the following:

access_control_list

use an access control list provided by a file whose name is given as an argument, accepting or declining the invitation according to the indicated rules (described in the resources guide)

check_quota

accept an invitation only if the organiser does not exceed their quota allowance for bookings for the indicated quota group (described in the resources guide)

same_domain_only

accept an invitation only if the organiser employs an address in the same domain as the resource

schedule_across_quota

accept an invitation only if the organiser has not reserved a resource for a conflicting period in any other resource belonging to the indicated quota group (described in the resources guide)

schedule_for_delegate

accept an invitation only if the organiser can reserve the resource according to the common quota schedule, delegating to any other available resource defined as a potential delegate, declining if no resource is available (described in the resources guide)

schedule_in_freebusy

accept an invitation if the event periods are free according to the free/busy records for the resource; decline otherwise

schedule_corrected_in_freebusy

correct periods in an event according to the permitted_times setting (see above), then attempt to schedule the event according to the free/busy records for the resource

schedule_next_available_in_freebusy

correct periods in an event according to the permitted_times setting (see above), if configured, and attempt to schedule the event according to the free/busy records for the resource and for any attendees for whom records are available, seeking the next available free period for each period that conflicts with an existing event

The scheduling mechanism can be extended by implementing additional scheduling functions or by extending the handler framework directly.