Previous     Contents     Index     Next     
iPlanet Calendar Server Administrator's Guide



Chapter 8   Calendar Server Configuration


iPlanet Calendar Server configuration parameters are stored in configuration files, including ics.conf and counter.conf.

This chapter provides the following information:



Editing the ics.conf Configuration File

Calendar Server configuration parameters are stored in the following file:

server-root/cal/bin/config/ics.conf

The ics.conf file is a ASCII text file, with each line defining a parameter and its associated value(s). The parameters are initialized during Calendar Server installation. After installation, you can edit the file using a text editor.



Caution

Modify the settings for parameters in the ics.conf only as described in iPlanet documentation or as directed by an iPlanet customer support representative.




To edit the ics.conf file:

  1. Log in as a user who has administrator rights to the system where the Calendar Server is running.

  2. Change to the server-root/cal/bin/config/ directory where the ics.conf file is located.

  3. Edit parameters in the ics.conf file using a text editor such as vi on Solaris and other UNIX systems or Notepad on Windows NT systems. Conventions for parameters are:

    • All parameters must be in lower case only.

    • A parameter and its associated value(s) must be separated by an equal sign (=), with spaces or tabs allowed before or after the equal sign. For example:

      service.http.idletimeout = "120"

    • A parameter value must be enclosed in double quotation marks ("). If a parameter allows multiple values, the entire value string must be enclosed in double quotation marks. For example:

      calstore.calendar.owner.acl = "@@o^a^rsf^g;@@o^c^wdeic^g"

    • A comment line begins with an exclamation point (!). Comment lines are for informational purposes only and are ignored by the Calendar Server.

      Some parameters are released as comments, beginning with either one or two exclamation points (! or !!). To use this type of parameter, you must remove the exclamation point(s), supply a value (if needed), and then restart the Calendar Server for the parameter to take effect.

      For example, to use !!caldb.dwp.server.[hostname].ip, you must remove the exclamation points (!!), supply a value for hostname, and then restart the Calendar Server.

    • If a parameter appears more than once, the value of the last parameter listed overrides the previous value.

  4. After you make changes to parameters in the ics.conf file, stop and then restart the Calendar Server for the new configuration values to take effect. (If you prefer, you can also stop the Calendar Server before you edit the ics.conf file.)

    For more information, see "Starting and Stopping the Calendar Server".



Configuration Parameters (ics.conf) File

Configuration parameters in the ics.conf file include:


Local Configuration


Table 8-1    Local Configuration Parameters in the ics.conf File 

Parameter

Default Value

Description

local.authldapbasedn  

" "  

Base DN for LDAP authentication. If not specified, local.ugldapbasedn is used.  

local.authldaphost  

"localhost"  

Host for LDAP authentication. If not specified, local.ugldaphost is used.  

local.authldapbindcred  

" "  

Bind credentials (password) for user specified in local.authldapbinddn.  

local.authldapbinddn  

" "  

DN used to bind to LDAP authentication host to search for user's dn. If not specified or " ", anonymous bind.  

local.authldapport  

"389"  

Port for LDAP authentication. If not specified, local.ugldapport is used.  

local.authldappoolsize  

"1"  

Minimum number of LDAP client connections that are maintained for LDAP authentication. If not specified, local.ugldappoolsize is used.  

local.authldapmaxpool  

"1024"  

Maximum number of LDAP client connections that are maintained for LDAP authentication. If not specified, local.ugldapmaxpool is used.  

local.lookupldap.search.minwildcardsize  

"3"  

Specifies the minimum string size for wild-card searches in an attendee lookup search. Zero (0) means always do a wild-card search.  

local.caldb.deadlock.autodetect  

"no"  

Periodically checks if the Berkeley database is in a deadlock state and, if so, instructs the database to reset.  

local.enduseradmincred  

" "  

Bind credentials (password) for LDAP user preferences authentication.  

local.enduseradmindn  

" "  

DN used to bind to LDAP user preferences host. Must be specified. If " " (not specified), anonymous bind is assumed.  

local.hostname  

" "  

Host name of the machine on which the Calendar Server is installed.  

local.installeddir  

" "  

Directory path location where the Calendar Server is installed. The default is server-root/cal.  

local.instancedir  

"."  

Directory path location where programs and data for this instance of the Calendar Server are installed. The default is server-root/cal/bin.  

local.plugindir.path  

" "  

Directory path location where CSAPI plug-ins for this instance of the Calendar Server are installed.  

local.rfc822header.allow8bit  

"n"  

Allow (y) or not allow (n) 8-bit headers in email messages sent by this server.  

local.servergid  

"icsgroup"  

UNIX Group ID (GID) for Calendar Server files, such as counters and logs.  

local.serveruid  

"icsuser"  

UNIX User ID (UID) for Calendar Server files, such as counters and logs.  

local.sitelanguage  

"en"  

Default language for this instance of the Calendar Server.  

local.smtp.defaultdomain  

" "  

Name of the default domain used to lookup an attendee's calendar-id that corresponds to an e-mail address. For example, jsmith resolves to jsmith@sesta.com if the value for this is setting is "sesta.com".  

local.supportedlanguages  

"en"  

User languages supported by this instance of the Calendar Server.  

local.ugldapbasedn  

" "  

Base DN for LDAP user preferences. Must be specified and cannot be blank.  

local.ugldaphost  

"localhost"  

Host name of machine that stores the LDAP user preferences.  

local.ugldapicsextendeduserprefs  

"ceColorSet, ceFontFace, ceFontSizeDelta, ceDateOrder, ceDateSeparator, ceClock, ceDayHead, ceDayTail, ceInterval, ceToolText, ceToolImage, ceDefaultAlarmStart, ceSingleCalendarTZID, ceAllCalendarTZIDs, ceDefaultAlarmEmail,ceNotifyEmail, ceNotifyEnable, ceDefaultView"  

Values for the Calendar Server 5.x LDAP schema extensions.  

local.ugldapport  

"389"  

Port number of the machine that stores LDAP user preferences.  

local.ugldappoolsize  

"1"  

Minimum number of LDAP client connections that are maintained for LDAP user preferences.  

local.ugldapmaxpool  

"1024"  

Maximum number of LDAP client connections that are maintained for LDAP user preferences.  


Calendar Store Configuration


Table 8-2    Calendar Store Configuration Parameters in the ics.conf File 

Parameter

Default Value

Description

calstore.anonymous.calid
 
"anonymous "
 

Calendar ID (calid) used for anonymous logins.  

user.allow.doublebook  

"yes"  

Determines if a user's calendar can have more than one event scheduled for the same time slot.

  • "no" prevents double booking.

  • "yes" allows double booking.

In the current release, the Calendar Server allows double booking of a calendar even if resource.allow.doublebook or user.allow.doublebook is set to "no".

To prevent double booking, run the cscal utility with the -k no option for each calendar.  

calstore.calendar.default.acl  

"@@o^a^r^g;@@o^c^wdeic^g;@^a^fs^g;@^c^^g;@^p^r^g"  

Specifies the default access control permissions used when a user creates a calendar. The format is specified by a semicolon-separated list of access control entry (ACE) argument strings.

For details on the ACE format, see Chapter 4 "Managing Calendar Server Access Control.

To specify Access Control Entries for one or more calendars using the command-line utilities, see "cscal".  

calstore.calendar.owner.acl  

"@@o^a^rsf^g;@@o^c^wdeic^g"  

Specifies the default access control settings for owners of a calendar.

Note: When a user specifies access rights using the Privacy dialog in the Calendar Express user interface, they are applied in reverse order. For example, @@o^a^rsf^g;@@o^c^wdeic^g is applied as @@o^c^wdeic^g;@@o^a^rsf^g.  

calstore.default.timezoneID  

"America/New_York"  

Timezone ID to be used when importing files when:

  • A timezone ID is not supplied

  • A calendar timezone ID is not found

  • A user timezone ID is not found

An invalid value causes the server to use to the GMT (Greenwich Mean Time) timezone.  

calstore.filterprivateevents  

"yes"  

Specifies whether the Calendar Server filters (recognizes) Private and Time and Date Only (confidential) events and tasks. If "no", the Calendar Server treats them the same as Public events and tasks.  

calstore.freebusy.include.defaultcalendar  

"yes"  

Specifies whether a user's default calendar is included in user's free/busy calendar list.  

calstore.freebusy.remove.defaultcalendar  

"no"  

Specifies whether a user's default calendar can be removed from user's free/busy calendar list.  

calstore.group.attendee.maxsize  

"0"  

Maximum number of attendees allowed in an LDAP group when expanding an event. Value of "0" means to expand the group entirely.  

calstore.recurrence.bound  

"60"  

Maximum number of events that can be created by a recurrence expansion.  

calstore.subscribed.include.defaultcalendar  

"yes"  

Specifies whether a user's default calendar is included in the user's subscribed calendar list.  

calstore.subscribed.remove.defaultcalendar  

"no"  

Specifies whether a user's default calendar can be removed from the user's subscribed calendar list.  

calstore.userlookup.maxsize  

"200"  

Maximum number of results returned from LDAP lookup from user search. Value of "0" means no limit.  

calstore.virtualdomain.mode  

"n"  

Specifies whether the Calendar Server is in limited virtual domain mode ("y" or "n").  

calstore.unqualifiedattendee.fmt1.type  

"uid"  

Specifies how the Calendar Server treats strings, such as jdoe or jdoe:tv, when performing a directory lookup for attendees of an event. Values can be:

 

calstore.unqualifiedattendee.fmt2.type  

"mailto"  

Specifies how the Calendar Server treats strings with an at sign (@), such as jdoe@foo.com, when performing a directory lookup for attendees of an event. Values can be:

 

calstore.unqualifiedattendee.fmt3.type  

"cn"  

Specifies how the Calendar Server treats strings with a space, such as john doe, when performing a directory lookup for attendees of an event. Values can be:

 


Calendar Log Information Configuration


Table 8-3    Calendar Log Parameters in the ics.conf File 

Parameter

Default Value

Description

logfile.admin.logname  

"admin.log"  

Name of log file for logging administrative tools.  

logfile.buffersize  

"0"  

Size of log buffers (in bytes).  

logfile.dwp.logname
 
"dwp.log"
 

Name of log file for logging Database Wire Protocol related administrative tools.  

logfile.expirytime  

"604800"  

Number of seconds before log files expire.  

logfile.flushinterval  

"60"  

Number of seconds between flushing buffers to log files.  

logfile.http.logname  

"http.log"  

Name of current log file for the cshttpd service.  

logfile.http.access.logname  

"httpd.access"  

Name of current http access log file.  

logfile.logdir  

"logs"  

Directory location of log files.  

logfile.loglevel  

"Notice"  

Determines the level of detail the server will log. Each log entry is assigned one of these levels (starting with the most severe): CRITICAL, ALERT, ERROR, WARNING, NOTICE, INFORMATION, and DEBUG.

If you set to CRITICAL, the server logs the least amount of detail. If you want the server to log the most amount of detail, specify DEBUG.

For example, if set to WARNING, only CRITICAL, ERROR, and WARNING level log entries are logged.  

logfile.maxlogfiles  

"10"  

Maximum number of log files in log directory.  

logfile.maxlogfilesize  

"2097152"  

Maximum size of each log file (in bytes).  

logfile.maxlogsize  

"20971520"  

Maximum disk space for all log files (in bytes).  

logfile.minfreediskspace  

"5242880"  

Minimum free disk space that must be available for logging (in bytes). When this value is reached, the server attempts to free disk space by expiring old log files. All logging will be paused if no space can be freed up.  

logfile.notify.logname  

"notify.log"  

Name of log file for the csnotifyd service.  

logfile.rollovertime  

"86400"  

Number of seconds before log files are rotated.  


Services Configuration


Table 8-4    Services Configuration Parameters in the ics.conf File 

Parameter

Default Value

Description

service.authcachesize  

"10000"  

Maximum number of authenticated user IDs (UIDs) and passwords that the Calendar Server will maintain.  

service.authcachettl  

"900"  

Number of seconds before a user UID and password are cached.  

resource.allow.doublebook  

"no"  

Determines if a calendar that belongs to a resource (such as a conference room or audio visual equipment) can have more than one event scheduled for the same time slot.

  • "no" prevents double booking.

  • "yes" allows double booking.

 
resource.default.acl
 
"@@o^a^r^g;@@ o^c^wdeic^g;@ ^a^rsf^g"
 

Specifies the default access control permissions used when a resource calendar is created.  

service.admin.alarm
 
"yes"
 

Enable ("yes") or disable ("no") alarm notifications for administration tools.  

service.admin.calmaster.cred
 
" "
 

Password of the user ID specified as the iPlanet Calendar Server administrator. This value is supplied at installation and is required by the installation program.  

service.admin.calmaster.user id
 
"calmaster"
 

User ID of the person designated as the Calendar Server administrator. This value is supplied at installation and is required by the installation program.  

service.admin.calmaster.over rides.accesscontrol
 
"no"
 

Indicates whether the Calendar Server administrator can override access control.  

service.admin.calmaster.wcap .allowgetmodifyuserprefs
 
"no"
 

Indicates whether the Calendar Server administrator can get and set user preferences using WCAP commands.  

service.admin.checkpoint
 
"yes"
 

If "yes", start the csadmind database checkpoint thread.  

service.admin.dbcachesize
 
"8388608"
 

Maximum cache size (in bytes) for Berkeley Database for administration sessions.  

service.admin.deadlock
 
"yes"
 

If "yes", start the csadmind database deadlock detection thread.  

service.admin.diskusage
 
"no"
 

If "yes", start the csadmind low disk space monitor thread.  

service.admin.enable
 
"yes"
 

If "yes", start the csadmind service when starting all services and stop csadmind when stopping all services.  

service.admin.idletimeout
 
"120"
 

Number of seconds before timing out an HTTP connection in csadmind.  

service.admin.ldap.enable
 
"yes"
 

If "yes", enables LDAP for user authentication of the user specified in service.admin.calmaster.userid.  

service.admin.maxsessions
 
"100"
 

Maximum number of administration sessions allowed.  

service.admin.maxthreads
 
"10"
 

Maximum number of running threads per administration session.  

service.admin.port
 
"20080"
 

Port for administration (csadmind) requests for Calendar Server.  

service.admin.port.enable
 
"no"
 

Enable ("yes") or disable ("no") remote administration.

Note Remote administration is planned for a future release, and the admin port is disabled by default.  

service.admin.resourcetimeou t
 
"900"
 

Number of seconds before timing out an administration connection.  

service.admin.serverresponse
 
"no"
 

If "yes", start the csadmind service response thread.  

service.admin.sessiondir.pat h
 
" "
 

Temporary directory for administration session requests.  

service.admin.sessiontimeout
 
"1800"
 

Number of seconds before timing out an HTTP session in csadmind.  

service.admin.sleeptime

 

"2"  

Number of seconds to wait between checking for started, stopped, or ready calendar service.

 

service.admin.starttime
 
"300"
 

Number of seconds to wait for any calendar service to start.  

service.admin.stoptime
 
"300"
 

Number of seconds to wait for any calendar service to stop.  

service.admin.stoptime.next
 
"60"
 

Number of seconds to wait between sending stop commands to any calendar service.  

service.dnsresolveclient
 
"no"
 

If "yes", client IP addresses are checked against DNS if allowed HTTP access.  

service.http.admins
 
"calmaster"
 

Space separated list of user IDs with administration rights to this Calendar Server.  

service.http.allowadminproxy
 
"no"
 

If "yes", allow login via proxy.  

service.http.allowanonymousl ogin
 
"yes"
 

If "yes", allow anonymous (no login) access.  

service.http.calendarhostnam e
 
" "
 

HTTP host for retrieving HTML documents. To enable users to use a fully qualified host name to access calendar data, this value must be the fully qualified host name (including the machine name, DNS domain and suffix) of the machine on which the Calendar Server is running, such as my_ics5@sesta.com.

If not specified, the local HTTP host is used.  

service.http.cookies
 
"yes"
 

Tells the server to whether or to support cookies (yes/no). It must be set to "yes" to enable single sign-on.  

service.http.dbcachesize
 
"8388608"
 

Maximum cache size of Berkeley DB for HTTP sessions.  

service.http.domainallowed
 
" "
 

If specified and not " ", filter to allow access based on TCP domains. For example, "ALL: LOCAL.sesta.com" would allow local HTTP access to anyone in the sesta.com domain. Multiple filters are separated by CR-LF (line feed).  

service.http.domainnotallowe d
 
" "
 

If specified and not " ", filter to not allow access based on TCP domains. For example, "ALL: LOCAL.sesta.com" would deny HTTP access to anyone in the sesta.com domain. Multiple filters must be separated by CR-LF (line-feed).  

service.http.attachdir.path
 
"."
 

Directory location relative to local.queuedir (or an absolute path if specified) where imported files are temporarily stored.  

service.http.ipsecurity
 
"yes"
 

If "yes", all requests that reference an existing session are verified as originating from the same IP address.  

service.http.enable
 
"yes"
 

If "yes", start the cshttpd service when starting all services and stop cshttpd when stopping all services.  

service.http.idletimeout
 
"120"
 

Number of seconds before timing out an HTTP connection.  

service.http.ldap.enable
 
"yes"
 

If "yes", LDAP connections for authentication and user preferences are created and maintained.  

service.http.logaccess
 
"no"
 

If "yes", HTTP connections to server are fully logged.  

service.http.maxsessions
 
"5000"
 

Maximum number of HTTP sessions in cshttpd service.  

service.http.maxthreads
 
"20"
 

Maximum number of threads to service HTTP requests in cshttpd service.  

service.http.numprocesses
 
"1"
 

Maximum number of processes to service HTTP requests.  

service.http.port
 
"80"
 

Port for HTTP requests from Calendar Server users.  

service.http.proxydomainallo wed
 
" "
 

If specified and not " ", filter for allowing proxy login based on TCP domains. Same syntax as service.http.domainallowed.  

service.http.resourcetimeout
 
"900"
 

Number of seconds before timing out an HTTP session.  

service.http.sessiondir.path
 
"http"
 

Temporary directory for HTTP sessions.  

service.http.sessiontimeout
 
"1800"
 

Number of seconds before timing out an HTTP session in cshttpd service.  

service.http.sourceurl
 
" "
 

Directory relative to executable where all URL references to files are stored.  

service.http.uidir.path
 
"html"
 

Directory that contains the default calendar client. If allowing only WCAP access, set to "".  

service.http.renderhtml
 
"no"
 

Enables or disables HTML rendering of the contents of text fields in Calendar Express.  

service.ldapmemcache
 
"no"
 

If "yes", use cache in LDAP SDK.  

service.ldapmemcachettl
 
"30"
 

If service.ldapmemcache is "yes", pass in this value to the LDAP SDK. This is the maximum number of seconds that an item can be cached. If 0, there is no limit to the amount of time that an item can be cached.  

service.ldapmemcachesize
 
"131072"
 

If service.ldapmemcache is "yes", pass in this value to the LDAP SDK. This is the maximum amount of memory in bytes that the cache will consume. If 0, the cache has no size limit.  

service.listenaddr
 
"INADDR_ANY"
 

(UNIX only) Specifies the TCP address that HTTP services will listen on for client requests. "INADDR_ANY" indicates any address.  

service.plaintextloginpause
 
"0"
 

Number of seconds to delay after successfully authenticating a user using plain text passwords.  

service.wcap.anonymous.allow publiccalendarwrite
 
"yes"
 

If "yes", allow anonymous users to write to publicly writable calendars.  

service.wcap.allowcreatecale ndars
 
"yes"
 

If "yes", allow calendars to be created.  

service.wcap.allowdeletecale ndars
 
"yes"
 

If "yes", allow calendars to be deleted.  

service.wcap.allowchangepass word
 
"no"
 

If "yes", allow users to change their passwords via this server.  

service.wcap.allowpublicwrit ablecalendars
 
"yes"
 

If "yes", allow users to have publicly writable calendars.  

service.wcap.allowsetprefs.c n
 
"no"
 

If "yes", allow the set_userprefs.wcap attribute to modify the user preference "cn" (LDAP user's common name).  

service.wcap.allowsetprefs.g ivenname
 
"no"
 

If "yes", allow the set_userprefs.wcap attribute to modify the user preference "givenname" (LDAP user's given name).  

service.wcap.allowsetprefs.m ail
 
"no"
 

If "yes", allow the set_userprefs.wcap attribute to modify the user preference "mail" (user's e-mail address).  

service.wcap.allowsetprefs.p referredlanguage
 
"no"
 

If "yes", allow the set_userprefs.wcap attribute to modify the user preference "preferredlanguage" (LDAP user's preferred language).  

service.wcap.allowsetprefs.s n
 
"no"
 

If "yes", allow the set_userprefs.wcap attribute to modify the user preference "sn" (LDAP user's surname).  

service.wcap.allowsetprefs.n swccalid
 
"no"
 

If "yes", allow the set_userprefs.wcap attribute to modify the user preference "nswccalid", which is the user's default calendar ID  

service.wcap.login.calendar. publicread
 
"no"
 

If "yes", default user calendars are initially set to public read/private write. If no, default user calendars are initially set to private read/private write.  

service.wcap.validateowners
 
"no"
 

If "yes", the server must validate that each owner of a calendar exists in the directory (through LDAP or a CSAPI compatible user directory mechanism).  


Alarm Notification Configuration

Table 8-5 shows the Alarm Notification Server configuration parameters in ics.conf.


Table 8-5    Alarm Notification Configuration Parameters in the ics.conf File 

Parameter

Default Value

Description

alarm.diskstat.msgalarmdescription
 
"percentage calendar partition diskspace available"
 

Description sent with insufficient disk space messages.  

alarm.diskstat.msgalarmstatinterva l
 
"3600"
 

Number of seconds between monitoring disk space.  

alarm.diskstat.msgalarmthreshold
 
"10"
 

Percentage of available disk space that triggers sending a warning message.  

alarm.diskstat.msgalarmthresholddi rection
 
"-1"
 

Whether alarm.diskavail.msgalarmthreshold is above or below percentage. -1 is below and 1 is above.  

alarm.diskstat.msgalarmwarninginte rval
 
"24"
 

Number of hours between sending warning messages about insufficient disk space.  

alarm.diskavail.msgalarmdescriptio n
 
"percenta ge calendar partition diskspace available "
 

Warning text sent when the server encounters insufficient disk space.  

alarm.diskavail.msgalarmstatinterv al
 
"3600"
 

Number of seconds the server waits between each time it checks for available disk space.  

alarm.diskavail.msgalarmthreshold
 
"10"
 

Percentage of available disk space that triggers the server to send a warning message.  

alarm.diskavail.msgalarmthresholdd irection
 
"-1"
 

Whether alarm.diskavail.msgalarmthreshold is above or below the acceptable percentage. -1 is below and 1 is above.  

alarm.diskavail.msgalarmwarningint erval
 
"24"
 

Number of hours between sending warning messages about insufficient disk space sent out.  

alarm.msgalarmnoticehost
 
"localhos t"
 

The host name of the SMTP server used to send server alarms.  

alarm.msgalarmnoticeport
 
"25"
 

The SMTP port used to send server alarms.  

alarm.msgalarmnoticercpt
 
"Postmast er@localh ost"
 

The email address to whom server alarms sent.  

alarm.msgalarmnoticesender
 
"Postmast er@localh ost"
 

The email address used as the sender when the server sends alarms.  

alarm.msgalarmnoticetemplate
 
""
 

The default format used to send email alarms:

"From: %s\nTo: %s\nSubject: ALARM: %s of \"%s\" is %u\n\n%s\n"  

alarm.responsestat.msgalarmdescrip tion
 
"calendar service not respondin g"
 

Description sent with no service response messages.  

alarm.responsestat.msgalarmstatint erval
 
"3600"
 

Number of seconds between monitoring services.  

alarm.responsestat.msgalarmthresho ld
 
"100"
 

Only trigger sending a warning message if no service response.  

alarm.responsestat.msgalarmthresho lddirection
 
"-1"
 

Specifies whether alarm.responsestat.msgalarmthreshold is above or below percentage. -1 is below and 1 is above.  

alarm.responsestat.msgalarmwarning interval
 
"24"
 

Number of hours between sending warning messages about no service response sent out.  


Calendar Store Configuration


Table 8-6    Store Configuration Parameters in the ics.conf File

Parameter

Default Value

Description

store.partition.primary.path  

"."  

Location of primary disk partition where calendar information is stored.  


Calendar Lookup Database Configuration


Table 8-7    Calendar Lookup Database Parameters in the ics.conf File 

Parameter

Default Value

Description

csapi.plugin.calendarlookup
 
"n"
 

Enable ("y") or disable ("n") calendar lookup plug-ins.  

csapi.plugin.calendarlookup.na me
 
"*"
 

Specifies the name of a specific calendar lookup plug-in to load. If this value is an asterisk ("*"), the Calendar Server loads all plug-ins.  

caldb.cld.type
 
"local"
 
Specifies the type of calendar lookup plug-in to use:

  • "local" specifies that all calendars are stored on the local machine where the Calendar Server is running, and no plug-in is loaded.

  • "algorithmic" loads a plug-in that uses a regular expression to determine the physical machine where a specified calendar ID is stored. This expression is specified with the setting:

caldb.cld.server.[hostname].regexpr

  • "directory" loads a plug-in that uses an LDAP directory schema entry to determine the physical machine where a specified calendar ID is stored.

 
caldb.dwp.connthreshold
 
"1"
 

Maximum number of backlogged requests before the server obtains a new network connection.  

caldb.dwp.initconns
 
"2"
 

Initial number of connections for the Database Wire Protocol service client to make to each Database Wire Protocol service host.  

caldb.dwp.initthreads
 
"2"
 

Initial number of threads for handling Database Wire Protocol service requests.  

caldb.dwp.maxcons
 
"1000"
 

Maximum number of connections allowed to a server using the Database Wire Protocol service.  

caldb.dwp.maxthreads
 
"20"
 

Maximum number of threads allowed to a server using the Database Wire Protocol service.  

caldb.dwp.md5
 
"n"
 

Specifies if the server performs MD5 (Message Digest 5) one-way hash checking of all Database Wire Protocol service requests. (One-way hash functions are used to create digital signatures for message authentication.)

  • "n" disables MD5 hash checking.

  • "y" enables MD5 hash checking.

 
caldb.dwp.server.hostname.ip
 
" "
 

Specifies the IP address of the server using the Database Wire Protocol service at the specified machine's hostname.  

caldb.dwp.stacksize
 
"65536"
 

Stack size for Database Wire Protocol service threads.  

csapi.plugin.authentication  

"n"  

If "y", load only the plug-in specified in csapi.plugin.authentication.name or if not specified, load all authentication class plug-ins in alphabetical order. For authentication, use each of these plug-ins in alphabetical order.  

csapi.plugin.authentication.name  

" "  

If csapi.plugin.loadall is "n" and csapi.plugin.authentication is "y", only load this specific plug-in. If not specified or " ", load all authentication class plug-ins.  

service.dwp.maxthreads
 
"1000"
 
Maximum number of concurrently running Database Wire Protocol service threads.

 

service.dwp.numprocesses
 
"1"
 
Maximum number of concurrently running Database Wire Protocol service processes.

 

service.dwp.enable
 
"no"
 
If "yes", start the csdwpd service when starting all services and stop csdwpd when stopping all services

 

service.dwp.idletimeout
 
"86400"
 
Amount of time (in seconds) before closing the Database Wire Protocol service persistent connections that are idle.

 

service.dwp.port
 
"9779"
 

Port number that the Database Wire Protocol service listens to.  

service.dwp.ldap.enable
 
"yes"
 

Enable ("yes") or disable ("no") LDAP for remote user authentication for the Database Wire Protocol service.  


Single Sign-on (SSO) Configuration


Table 8-8    Single Sign-on (SSO) Configuration Parameters in the ics.conf File 

Parameter

Default Value

Description

sso.appid  

"ics50"  

Unique application ID for this Calendar Server installation. Each trusted application must also have a unique application ID. For example: sso.appid="94043"  

sso.appprefix  

"ssogrp1"  

The prefix value to be used for formatting the SSO cookies. The same value needs to be used by all trusted applications, because only SSO cookies with this prefix will be recognized by the Calendar Server.

The application prefix must not end with a hyphen (-), because the Calendar Server appends a hyphen to the value. For example:

sso.appprefix="d98"  

sso.cookiedomain  

".red.iplanet.com"  

Causes the browser to send a cookie only to servers in the domain specified here.

The value must begin with a period (.). For example:

".sesta.com"  

sso.enable  

"1"  

Enables or disables SSO:

  • "1" (default) enables SSO functions.

  • "0" disables SSO functions.

If this setting is missing from ics.conf, the Calendar Server ignores SSO functions.  

sso.singlesignoff  

"true"  

If set to "true", the server removes all SSO cookies for the user that match the value for sso.appprefix when the user logs out. If "false" the server removes only its SSO user cookie.  

sso.userdomain  

" "  

Sets the domain used as part of the user's SSO authentication.  

sso.appid.url = "verifyurl"  

" "  

Specifies the verify URL values for peer SSO hosts. A parameter is required for each trusted peer.

appid is the application ID of a peer SSO host whose SSO cookies are to be trusted. For Calendar Server, the appid is ics50.

"verifyurl" identifes the URL of the trusted peer in the format: "http://host:port/VerifySSO?". Do not omit the question mark (?) after VerifySSO.

host is the URL of the host, and port is the port number for the host.

For example, for the Calendar Server on sesta.com with port number 8883:

sso.ics50.url = "http://sesta.com:8883/VerifySSO?"  


Group Scheduling Configuration


Table 8-9    Group Scheduling Configuration Parameters in the ics.conf File 

Parameter

Default Value

Description

gse.autorefreshreplystatus  

"yes"  

Specifies if the auto refresh feature is enabled or disabled. If auto refresh is enabled, after an attendee replies to an event organizer, that attendee's reply status is automatically propagated to other attendees for that scheduled event.

  • "yes" enables auto refresh.

  • "no" disables auto refresh.

 

gse.belowthresholdtimeout  

"3"  

Specifies (in seconds) how long to wait before the server scans the schedule queue for incoming jobs. If there are more jobs in the queue than the maximum threads allocated, the last thread will always scan the job queue again. Therefore, this setting only takes effect when the number of jobs is below the maximum threads allocated.

Increasing this number reduces the frequency the server scans the job queue and improves overall performance.  

gse.maxthreads  

"10"  

Specifies the maximum number of concurrent threads the server uses to process the schedule queue. Each thread processes one job in the queue.  

gse.retryexpiredinterval  

"86400"  

Specifies (in seconds) the maximum length of time the server will retry to complete a group scheduling job. If the time exceeds the maximum length of time specified, the server treats the job as a retry expired condition and reports the error.

Note that the default of 86400 seconds equals one day.  

gse.retryinterval  

"300"  

Specifies (in seconds) how often the server will retry a previous failing job. The server retries a failing job only when a network error is encountered. The server treats most such errors, however, as fatal errors and does not consider them as retries.  

gse.stacksize  

"65535"  

Specifies the maximum stack size (in bytes) of a group scheduling thread.  


Database Configuration


Table 8-10    Database Configuration Parameters in the ics.conf File 

Parameter

Default Value

Description

caldb.berkeleydb.checkpointinterval  

"60"  

Number of seconds between checkpointing database transactions.  

caldb.berkeleydb.circularlogging  

"yes"  

If "yes" remove database checkpoint files after their transactions are synchronized.  

caldb.berkeleydb.deadlockinterval  

"100"  

Number of milliseconds between checking for database deadlocks that need to be broken.  

caldb.berkeleydb.homedir.path  

"."  

Directory (relative to the location of the program executable files or an absolute path if specified) where database event, task, and alarm files are kept. The default value of "." specifies that these files are stored in the server-root/cal/bin directory.  

caldb.berkeleydb.logfilesizemb  

"10"  

Maximum megabytes for a database checkpoint file.  

caldb.berkeleydb.maxthreads  

"10000"  

Maximum number of threads that database environment must be prepared to accommodate.  

caldb.berkeleydb.mempoolsizemb  

"4"  

Megabytes of shared memory for database environment.  

caldb.calmaster  

" "  

Email for user or alias that is responsible for administering the database.  

caldb.counters  

"yes"  

If "yes", data base statistics (reads, writes, deletes) will be counted.  

caldb.counters.maxinstances  

"100"  

Maximum number of calendars that can have counters. A calendar is enabled for counters using the cscal command line utility.  

caldb.smtpmsgfmtdir  

"en"  

Specifies the directory under server-root/cal/bin/config that contains the localized version of the files used to format email notifications. For example:

"en" specfies that directory location of the English localized version is: server-root/cal/bin/config/en

"fr" specifies the directory location of the French localized version is: server-root/cal/bin/config/fr  

caldb.smtpport  

"25"  

Port for SMTP host.  


Calendar Server API Configuration


Table 8-11    CSAPI Configuration Parameters in the ics.conf File 

Parameter

Default Value

Description

csapi.plugin.authenticati on
 
"n"
 

If ("y"), load only the plug-in specified in csapi.plugin.authentication.name.  

csapi.plugin.accesscontrol  

"n"  

Enable ("y") or disable ("n") Access Control plug-in.  

csapi.plugin.authentication  

"n"  

If "y", load only the plug-in specified in csapi.plugin.authentication.name or if not specified, load all authentication class plug-ins in alphabetical order. For authentication, use each of these plug-ins in alphabetical order.  

csapi.plugin.authentication.name  

" "  

If csapi.plugin.loadall is "n" and csapi.plugin.authentication is "y", only load this specific plug-in. If not specified or " ", load all authentication class plug-ins.  

csapi.plugin.database  

"y"  

If "y", load only the plug-in specified in csapi.plugin.database.name or if not specified, load all database plug-ins in alphabetical order.  

csapi.plugin.database.name  

"cs_caldb_berkeley10"  

If csapi.plugin.loadall is "n" and csapi.plugin.database is "y", load only this plug-in. If not specified or " ", load all database plug-ins in alphabetical order.  

csapi.plugin.datatranslator  

"y"  

If "y", load only the plug-in specified in csapi.plugin.datatranslator.name or if not specified, load all data translator class plug-ins in alphabetical order. For data translation, use each of these plug-ins in alphabetical order.  

csapi.plugin.datatranslator.name  

"cs_datatranslatorcsv10"  

If csapi.plugin.loadall is "n" and csapi.plugin.datatranslator is "y", this parameter is used. If not specified or " ", load all data translator class plug-ins. Otherwise, only load this specific plug-in.  

csapi.plugin.dbtranslator  

"y"  

Enable ("y") or disable ("n") database-to-output format plug-ins.  

csapi.plugin.dbtranslator.name  

"*"  

If the setting csapi.plugin.dbtranslator is "y", then either:

  • load all the database-to-output format plug-ins if this value is "*".

  • load only this specific plug-in if this value is a library name.

If csapi.plugin.dbtranslator is "n", this setting is ignored.  

csapi.plugin.loadall  

"n"  

If "y", load all plug-ins found in the plug-ins directory. For Windows NT systems, these plug-ins have a .dll file name extension. For UNIX systems, these plug-ins have an .so extension.

If "n", only load the specific class of plug-ins flagged by their respective parameters. For example, set csapi.plugin.authentication to yes to load authentication class plug-ins.  

csapi.plugin.userprefs  

"n"  

If "y", load only the plug-in specified in csapi.plugin.userprefs.name or if not specified, load all user preferences class plug-ins in alphabetical order. For user preferences, use each of these plug-ins in alphabetical order.  

csapi.plugin.userprefs.name  

" "  

If csapi.plugin.loadall is "n" and csapi.plugin.userprefs is "y", this parameter is used. If not specified or " ", load all user preferences class plug-ins. Otherwise, only load this specific plug-in.  


Event Notification Server (ENS) Configuration

The Calendar Server, when configured to do so, uses an external generic service called the Event Notification Server (ENS), which accepts reports of server-level events that can be categorized into specific areas of interest and notifies other servers that have registered interest in certain categories of events. The Calendar Server uses ENS to send and receive alarm notifications that include the creation, deletion, or modification of calendar events and tasks as well as general operational warning and error messages.

Table 8-12 shows the Event Notification Server (ENS) configuration parameters in ics.conf.


Table 8-12    Event Notification Server (ENS) Configuration Parameters in the ics.conf File 

Parameter

Default Value

Description

service.ens.enable
 
"yes"
 

If "yes", start the enpd service when starting all services and stop enpd when stopping all services.  

service.ens.host
 
"localhos t"
 

The host name of the machine on which the Event Notification Server is running.  

service.ens.port
 
"7997"
 

The port number of the machine on which the Event Notification Server is running.  

service.ens.library
 
"xenp"
 

The name of the Event Notification Server plug-in.  

service.notify.enable
 
"yes"
 

If "yes", start the csnotifyd service when starting all services and stop csnotifyd when stopping all services.  

service.notify.maxretrytime
 
"-1"
 

How many times csnotifyd will consecutively retry and fail to contact the Event Notification Server.

"-1" causes the alarm thread to retry indefinitely.  

service.notify.retryinterval
 
"3"
 

Number (in seconds) that csnotifyd waits before attempting to re-contact the Event Notification Server after a connection failure.  

service.notify.startupretrytime
 
"0"
 

Total number of seconds the Calendar Server keeps trying to contact the Event Notification Server before it stops. This setting is similar to caldb.serveralarms.maxretrytime except that it applies only when the alarm thread is first starting. Once the alarm thread has successfully started, caldb.serveralarms.maxretrytime is used.

"0" tells the alarm thread to exit immediately if it fails to connnect to the Event Notification Server at startup.  

caldb.berkeleydb.alarmretrytime  

"300"  

Retry time in seconds after a recoverable alarm delivery error.  

caldb.berkeleydb.ensmsg.createcal  

"no"  

If "yes", create an Event Notification Service message when a calendar is created using the following format: enp://ics/createcal?calid=cal
 

caldb.berkeleydb.ensmsg.modifycal  

"no"  

If "yes", create an Event Notification Service message when a calendar is modified using the following format: enp://ics/modifycal?calid=cal
 

caldb.berkeleydb.ensmsg.deletecal  

"no"  

If "yes", create an Event Notification Service message when a calendar is deleted using the following format: enp://ics/deletecal?calid=cal
 

caldb.berkeleydb.ensmsg.createeven t
 
"no"
 
If "yes", create an Event Notification Service message when an event is created?

 

caldb.berkeleydb.ensmsg.deleteeven t
 
"no"
 
If "yes", create an ENS message when an event is deleted?

 

caldb.berkeleydb.ensmsg.modifyeven t
 
"no"
 
If "yes", create an ENS message when an event is modified?

 

caldb.berkeleydb.ensmsg.createtodo
 
"no"
 
If "yes", create an Event Notification Service message when a todo (task) is created using the following format:

enp://ics/createtodo?uid=uid&ri d=rid
 

caldb.berkeleydb.ensmsg.modifytodo
 
"no"
 
If "yes", create an Event Notification Service message when a task is modified using the following format:

enp://ics/modifytodo?uid=uid&ri d=rid
 

caldb.berkeleydb.ensmsg.deletetodo
 
"no"
 
If "yes", create an Event Notification Service message when a task is deleted using the following format:

enp://ics/deletetodo?uid=uid&ri d=rid
 

caldb.berkeleydb.ensmsg.qsize
 
"10000"
 
Initial size of the in-memory Event Notification Server (ENS) message queue. This queue stores all ENS messages other than alarm reminders.

 

caldb.berkeleydb.ensmsg.schedreq
 
"no"
 
If "yes", create an Event Notification Service message when a scheduling request is written to the calendar is deleted using the following format:

enp://ics/schedreq?calid=cal&me thod=method&type={event|todo}&u id=uid&rid=rid
 

caldb.serveralarms  

"yes"  

If "yes", alarm emails will be sent.  

caldb.serveralarms.acktimeout  

"30"  

Specifies the number of seconds the Event Notification Server's alarm thread waits for an acknowledgment from csnotifyd after publishing an alarm notification. If the time-out expires, the alarm thread assumes the alarm notification is no longer processing and publishes the alarm notification again.  

caldb.serveralarms.dispatchtype
 
"ens"
 

Specifies the dispatch type for Calendar Server alarms:

  • "ens" tells the server to use the external Event Notification Server to send and recieve alarms.

  • "smtp" tells the the server to send alarms as standard SMTP messsages and to bypass the Event Notification Server.

 

caldb.serveralarms.initthreads  

"10"  

Initial number of threads for the Event Notification Server.  

caldb.serveralarms.maxretrytime  

"-1"  

How many times the alarm thread will consecutively retry and fail to contact the Event Notification Server.

"-1" causes the alarm thread to retry indefinitely.  

caldb.serveralarms.maxthreads  

"10"  

Maximum number of threads for the Event Notification Server.  

caldb.serveralarms.retryinterval  

"5"  

Number (in seconds) that the alarm thread (in csadmind) waits before attempting to recontact the Event Notification Server.  

caldb.serveralarms.stacksize  

"65536"  

Stack frame size for Event Notification Server threads.  

caldb.serveralarms.startupretrytime  

"0"  

Total number of seconds the Calendar Server keeps trying to contact the Event Notification Server before failing. This setting is similar to the setting caldb.serveralarms.maxretrytime except that it applies only when the alarm thread is first starting. Once the alarm thread has started successfully, caldb.serveralarms.maxretrytime is used.

"0" tells the alarm thread to exit immediately if it fails to connect to the Event Notification Server at startup.  

caldb.smtphost  

"localhost"  

Send alarm emails to this SMTP host.  


User Interface Configuration


Table 8-13    User Interface Configuration Parameters in the ics.conf File

Parameter

Default Value

Description

ui.config.file  

" "  

The Calendar Server can read an optional (xml based) configuration file at startup that can hide parts of the user interface. The Calendar Server allows only one configuration file, and the value of this setting determines the name of the configuration file to use. The Calendar Server looks for the file in the data directory where the user interface xml and xslt files are:

server-root/cal/bin/data/..

The Calendar Server provides the following files that provide customized versions of the user interface:

  • nogroup_config.xml — disables group scheduling

  • ui_config.xml — default user interface

 

ui.allow.anyone  

"yes"  

Allows Calendar Express to show and use the "Everybody" access control list (ACL).  

ui.allow.domain  

"no"  

Allows Calendar Express to show and use the "This Domain" access control list (ACL).  

ui.proxyaddress.url  

" "  

Specifies the proxy server address to prepend in an HTML UI JavaScript file. For example: "https://web_portal.sesta.com/"  

ui.base.url  

" "  

Specifies the base server address. For example: "https://proxyserver/"  

ine.invitation.enable

 

"yes"  

Controls the notification for an invitation to an event: "yes" - Notification is sent; "no" - No notification is sent.  

ine.cancellation.enable  

 

"yes"  

Controls the notification for a cancellation of an event: "yes" - Notification is sent; "no" - No notification is sent.  



Counters Configuration (counter.conf) File



iPlanet Calendar Server counters (statistics) configuration parameters are in the following file:

server-root/cal/bin/config/counter.conf

The counter.conf file is an ASCII text file, with each line defining a counter and its parameters: name, type, size (in bytes), and description. A parameter with spaces must be enclosed in double quotation marks (" "). A comment line must begin with an exclamation point (!). Comment lines are for informational purposes only.

The first part of a counter's name identifies the counter object used with the csstats utility. For more information about the command-line utilities, see Chapter 7 "Calendar Server Command-Line Utilities."



Note Do not modify the counter.conf file unless instructed to do so by customer support staff.



This section describes the Calendar Server counter.conf parameters, including:


Alarm Counters


Table 8-14    Alarm Counters in the counter.conf File 

Name

Type

Size

Description

alarm.high  

GAUGE  

4  

Highest ever recorded value.  

alarm.low  

GAUGE  

4  

Lowest ever recorded value.  

alarm.current  

GAUGE  

4  

Current monitored valued.  

alarm.warningstate  

GAUGE  

4  

Warning state: yes (1) or no (0).  

alarm.countoverthreshold  

COUNTER  

4  

Number of times crossing threshold.  

alarm.countwarningsent  

COUNTER  

4  

Number of warnings sent.  

alarm.timelastset.desc  

TIME  

4  

Last time current value was set.  

alarm.timelastwarning  

TIME  

4  

Last time warning was sent.  

alarm.timereset  

TIME  

4  

Last time reset was performed.  

alarm.timestatechanged.desc  

TIME  

4  

Last time alarm state changed.  


Disk Usage Counters


Table 8-15    Disk Usage Counters in the counter.conf File 

Name

Type

Size

Description

diskusage.availSpace  

GAUGE  

5  

Total space available in the disk partition.  

diskusage.lastStatTime  

TIME  

4  

The last time statistic was taken.

 

diskusage.calPartitionPath  

STRING  

512  

Calendar partition path.  

diskusage.percentAvail  

GAUGE  

4  

Disk partition space available percentage.  

diskusage.totalSpace  

GAUGE  

5  

Total space in the disk partition.  


HTTP Counters


Table 8-16    HTTP (httpstat) Counters in the counter.conf File 

Name

Type

Size

Description

httpstat.avgConnectionTime  

GAUGE  

4  

Average connection response time.  

httpstat.currentStartTime  

TIME  

4  

When the Calendar Server was started.  

httpstat.lastConnectionTime  

TIME  

4  

Last time new client connection was accepted.  

httpstat.maxConnections  

COUNTER  

4  

Maximum number of concurrent connections served.  

httpstat.numConnections  

COUNTER  

4  

Total number of connections served.  

httpstat.numCurrentConnections  

GAUGE  

4  

Current number of active connections.  

httpstat.numFailedConnections  

COUNTER  

4  

Total number of failed connections served.  

httpstat.numGoodLogins.desc  

COUNTER  

4  

Number of successful logins served by the current HTTP server.  

httpstat.numFailedLogins  

COUNTER  

4  

Number of failed logins served by the current HTTP server.  


Group Scheduling Counters


Table 8-17    Group Scheduling Counters in the counter.conf File 

Name

Type

Size

Description

gsestat.lastWakeUpTime  

TIME  

4  

Last time GSE wakes up and process job.  

gsestat.lastJobProcessedTime  

TIME  

4  

Last time GSE processes a job.  

gsestat.numJobsProcessed  

COUNTER  

4  

Total number of jobs GSE processed.  

gsestat.numActiveWorkerThreads  

COUNTER  

4  

Total number of active Worker Threads.  


Authentication Counters


Table 8-18    Authentication (authstat) Counters in the counter.conf File 

Name

Type

Size

Description

authstat.lastLoginTime  

TIME  

4  

Last time a user logged in.  

authstat.numSuccessfulLogins  

COUNTER  

4  

Total number of successful logins served.  

authstat.numFailedLogins  

COUNTER  

4  

Total number of failed logins served.  


WCAP Counters


Table 8-19    WCAP (wcapstat) Counters in the counter.conf File 

Name

Type

Size

Description

wcapstat.numRequests  

COUNTER  

4  

Total number of WCAP requests.  


Database Counters


Table 8-20    Database (dbstat) Counters in the counter.conf File 

Name

Type

Size

Description

dbstat.numReads  

COUNTER  

4  

Total number of database reads.  

dbstat.numWrites  

COUNTER  

4  

Total number of database writes.  

dbstat.numDeletes  

COUNTER  

4  

Total number of database deletes.  

dbstat.lastReadTime  

TIME  

4  

Last time of database read.  

dbstat.lastWriteTime  

TIME  

4  

Last time of database write.  

dbstat.lastDeleteTime  

TIME  

4  

Last time of database delete.  


Server Response Counters


Table 8-21    Server Response Counters in the counter.conf File 

Name

Type

Size

Scale

Description

serverresponse.lastStatTime  

TIME  

4  

 

Last time statistic was taken.  

serverresponse.responseTime  

GAUGE  

4  

2  

Server response time in milliseconds.  


Session Status Counters


Table 8-22    Sessions Status Counters in the counter.conf File 

Name

Type

Size

Scale

Description

sessstat.maxSessions.desc  

COUNTER  

4  

4  

Maximum number of HTTP sessions served.  

sessstat.numCurrentSessions  

GAUGE  

4  

2  

Current number of HTTP sessions.  



Notification Messages



iPlanet Calendar Server sends the types of email messages described in Table 8-23. The format of these messages is controlled by the associated format (.fmt) file listed in the table. Format files are located in specific directories for each local (such as /en for English and /fr for French) in the following directory:

server-root/cal/bin/config

For example, the English version of the task alarm message format is specified in the file:

/opt/SUNWics5/cal/bin/config/en/mail_todoalarm.fmt

This section describes:


Calendar Server Mail Parameters


Table 8-23    iPlanet Calendar Server Email Formats in the ics.conf File 

Message Type

Parameter

Format File (default)

Description

Recipients

Event Publish  

calmail.imipeventpublish.fname  

"mail_eventpublish.fmt"  

Announces an event or a change to an existing event  

Those listed in Notification  

Event Cancel  

calmail.imipeventcancel.fname  

"mail_eventcancel.fmt"  

Announces an event cancellation  

Those listed in Notification  

Reply to Event  

calmail.imipeventreply.fname  

"mail_eventreply.fmt"  

Replies to an event notification.  

Those listed in Notification  

Request Event  

calmail.imipeventrequest.fname  

"mail_eventrequest.fmt"  

Subscribes to an event notification.  

Those listed in Notification  

Event Alarm  

calmail.eventreminder.fname  

"mail_eventreminder.fmt"  

Reminder for an upcoming event  

Those listed in Reminder  

Task Publish  

calmail.imiptodopublish.fname  

"mail_todopublish.fmt"  

Announces a task or a change to an existing task  

Those listed in Notification  

Task Cancel  

calmail.imiptodocancel.fname  

"mail_todocancel.fmt"  

Announces a task cancellation  

Those listed in Notification  

Reply to Task  

calmail.imiptodoreply.fname  

"mail_todoreply.fmt"  

Replies to a task notification  

Those listed in Notification.  

Todo Request  

calmail.imiptodorequest.fname  

"mail_todorequest.fmt"  

Subscribes to a todo notification.  

Those listed in Notification  

Task Alarm  

calmail.todoreminder.fname  

"mail_todoreminder.fmt"  

Reminder for an upcoming task  

Those listed in Reminder  

The Calendar Server generates notification messages by combining a particular event or task with the contents of a format file. The values of data fields within an event or task can be output to the message. The notification message can also include MIME header lines and associated special values. Using special character sequences (format notations), you can include the values of events, tasks, and MIME headers in the message. The lines in the format file are format strings comprised of special character sequences that are replaced with actual values from calendar data fields when the mail message is generated. Special character sequences consist of two characters, the first is the percent sign (%) and the second represents the specific format notation.

The following sections describe special character sequences:


Special Character Sequences for Events


Table 8-24    Special Character Sequences for Event Notifications 

Format Code

Meaning

%0  

Start time in localized format  

%1  

End time in localized format  

%A  

exdates in iCalendar format (semicolon-separated list of ISO8601 date strings listing dates to exclude)  

%a  

rdates in iCalendar format (semicolon-separated list of ISO8601 date strings listing recurrence dates)  

%B  

Start time (also see %Z)  

%b  

Output the start time and end time in iCalendar format. If the start time has the parameter value=date, only the month/day/year portion of the date is output. If end time has the same month/day/year value as the start time, only the start time is generated.  

%C  

Create time  

%c  

Event class  

%d  

Event description. (also see %F)  

%E  

End time (also see %Z)  

%e  

Exception rules in iCalendar format  

%F  

Event description - folded line / iCalendar format (also see %d)  

%G  

The event's geographic location (latitude and longitude)  

%g  

Organizer's email address. (There is no guarantee as to the authenticity of this value.)  

%K  

Organizer email in the form of a mailto:url  

%k  

Alarm count  

%L  

Location  

%l  

Recurrence rules in iCalendar format  

%M  

Modify time  

%N  

New line  

%n  

The current time stamp used with DTSTAMP  

%P  

Priority  

%r  

Recurrence id (blank if this event does not recur)  

%S  

Event sequence number  

%s  

Summary  

%t  

Event status  

%U  

Unique Event Identifier  

%u  

URL to the event  

%Z  

Used in conjunction with the time field code to force the time to be rendered in UTC. (%B displays the start time in local time whereas %ZB displays the start time in UTC time.)  

%%  

Displays the percent (%) character  

% (sub-format code)  

Specifies a subformat for the data identified by code. (For details, see Date Sub-Formatting.)  


Date Sub-Formatting

Date-time values can be formatted in many different ways. Using a sub-format, you can provide additional information to describe how a date-time value should be formatted. If a sub-format is not specified, the server uses a default format to output the date. Using a sub-format field allows you to specify the exact format to be used.

For example, %B specifies that the output string includes the event's begin time. This default format prints out the date, time, the time zone, and everything possible about the date. The sub-format string for date values is a strftime format string (see Special Character Sequences for Dates). If you were only interested in the month and year of the start time, instead of %B, you would use: %(%m %Y)B.


Example

The following example:

The event begins: %B%N

The event ends: %(%b %d, %Y %I:%M %p)E%N

produces output that resembles the following notification:

The event begins Feb 02, 1999 23:30:00 GMT Standard Time

The event ends Feb 03, 1999 02:30 AM


Conditional Printing

Sometimes it is desirable to print a line only under certain conditions. For example, the following lines:

title: %S%N

start: %B%N

end: %E%N

produce output that resembles the following notification:

title: Staff Meeting

start: Feb 04, 1999 09:00:00

end: Feb 04, 1999 10:00:00

There are two conditions, however, where the above example would yield misleading or incorrect results:

  • If the event has no end time

  • If the event is an "all-day" event that starts and ends on the same day

In these situations, it is best not to print the end time at all. By default, only the year, month, and day are printed when a time stamp has the attribute of being all-day. Furthermore, if an event start time has the all-day attribute and the event ends on the same day as it starts, a special conditional flag is set. Use the ? modifier to print conditional values only when the special conditional flag is not set.

For example, if you change the lines in the above example to:

title: %S%N

start: %B%N

end: %?E%N

the last line will not be printed for all-day events for which the start day and end day are the same. It produces the following output for typical all-day events (such as birthdays or anniversaries):

title: Staff Meeting

start: Feb 04, 1999

The ? flag can be combined with other modifiers. For example:

The event ends: %?(%b %d, %Y %I:%M %p)E%N


Special Character Sequences for Task Notification


Table 8-25    Special Character Sequences for Task Notifications 

Format Code

Meaning

%A  

exdates in iCalendar format (semicolon-separated list of ISO8601 date strings listing dates to exclude)  

%a  

rdates in iCalendar format (semicolon-separated list of ISO8601 date strings listing recurrence dates)  

%B  

start time (also see %Z)  

%C  

create time  

%c  

task class  

%D  

due date/time.  

%d  

task description. (also see %F)  

%E  

due date/time in IMIP format  

%e  

exception rules in iCalendar format  

%F  

task description - folded line / iCalendar format (also see %d)  

%G  

this task's geographic location, the latitude and longitude.  

%g  

organizer's email address (cannot guarantee the authenticity of this value)  

%K  

organizer's email in the form of a mailto:URL  

%k  

alarm count  

%L  

the location  

%l  

recurrence rules in iCalendar format  

%M  

modify time  

%N  

a new line  

%n  

"now" (the current time stamp and used with DTSTAMP)  

%P  

priority  

%r  

the recurrence id (blank if this task does not recur)  

%S  

is the task's Sequence Number  

%s  

summary  

%t  

the status  

%U  

the UID  

%u  

URL to the task  

%Z  

used in conjunction with time field code to force the time to be rendered in UTC (%B displays the start time in local time whereas %ZB displays the start time in UTC time)  

%%  

displays the % character  

% (sub-format code)  

specify a sub-format for the data identified by code (for details, see Date Sub-Formatting)  


Special Character Sequences for Dates



Note The special date format codes appear in this section only for convenience. The Calendar Server does not re-write any of the strftime codes, but simply uses the operating system implementation.




Table 8-26    Special Character Sequences for Dates 

Format Code

Meaning

%a  

Abbreviated weekday name  

%A  

Full weekday name  

%b  

Abbreviated month name  

%B  

Full month name  

%c  

Date and time representation appropriate for locale  

%d  

Day of month as decimal number (01 - 31)  

%H  

Hour in 24-hour format (00 - 23)  

%I  

Hour in 12-hour format (01 - 12)  

%j  

Day of year as decimal number (001 - 366)  

%m  

Month as decimal number (01 - 12)  

%M  

Minute as decimal number (00 - 59)  

%p  

Current locale's A.M./P.M. indicator for 12-hour clock  

%S  

Second as decimal number (00 - 59)  

%U  

Week of year as decimal number, with Sunday as first day of week (00 - 53)  

%w  

Weekday as decimal number (0 - 6; Sunday is 0)  

%W  

Week of year as decimal number, with Monday as first day of week (00 - 53)  

%x  

Date representation for current locale  

%X  

Time representation for current locale  

%y  

Year without century, as decimal number (00 - 99)  

%Y  

Year with century, as decimal number  

%Z  

Time-zone name or abbreviation; no characters if time zone is unknown  

%%  

Percent sign  


Simple Event Reminder Example

The following example shows the default event reminder message format:

1   EVENT REMINDER

2   ~~MIME-Version: 1.0%N

3   ~~Content-Type: text/plain; charset=%s%N

4   ~~Content-Transfer-Encoding: %x%N%N

5           Summary: %s%N

6             Start: %(%a, %d %b %Y %I:%M %p)B%N

7              End: (%a, %d %b %Y %I:%M %p)E%N

8          Location: %L%N%N

9    Description: %N%d%N

  1. Line 1 is the message subject.

  2. Line 2 begins with ~~ which indicates that it is a MIME wrapper line. That is, the replacement of special character sequences are those associated with an internal MIME object rather than an event or task. The special sequence %N is a line feed. The subject line does not need the special new line sequence, while all other lines do.

  3. Line 3 is also a MIME header line. It contains the special character sequence %s which will be replaced by the character set associated with the event or task being mailed.

  4. Line 4 is the last MIME line, %x is the content transfer encoding string needed for this message.

  5. Line 5 lists the event summary and calls out the event summary with %s.

  6. Line 6 lists the event start time. It makes use of a sub-format string on the special character sequence %B. For details, see Date Sub-Formatting.

  7. Line 7 lists the event end time.

  8. Line 8 lists the location of the event.

  9. Line 9 lists the description of the event.

The following sample resembles the notification message generated by the above example:

From: jsmith@sesta.com (James Smith)

Date: Wed, 15 Nov 1999 19:13:49

To: jsmith@sesta.com

Subject: EVENT REMINDER

MIME-Version: 1.0

Content-Type: text/plain; charset=us-ascii

Content-Transfer-Encoding: 7bit

   Summary: smtp_rig event 1

         Start: Tues, 16 Nov 1999 02:00 PM

          End: Tues, 16 Nov 1999 03:00 PM

    Location: Green Conference Room

   Description:

This is the description for a randomly generated event.


Complex Event Reminder Example

The following example shows a more complex multipart message. It has a human-readable text part and an IMIP PUBLISH part.

EVENT PUBLICATION

~~MIME-Version: 1.0%N
~~Content-Type: multipart/mixed; boundary="%b"%N%N

This is a multi-part message in MIME format.%N
~~--%b%N
~~Content-Type: text/plain; charset=%s%N
~~Content-Transfer-Encoding: %x%N%N
       Summary: %s%N
         Start: %(%a, %d %b %Y %I:%M %p)B%N
          End: %(%a, %d %b %Y %I:%M %p)E%N
    Location: %L%N%N
   Description: %N%d%N%N
~~--%b%N
~~Content-Type: text/calendar; method=%m; component=%c; charset=%s%N
~~Content-Transfer-Encoding: %x%N%N
BEGIN:VCALENDAR%N
PRODID:-//iPlanet/Calendar Hosting Server//EN%N
METHOD:PUBLISH%N
VERSION:2.0%N
BEGIN:VEVENT%N
ORGANIZER:%K%N
DTSTAMP:%Zn%N
DTSTART:%ZB%N
DTEND:%ZE%N
SUMMARY:%s%N
UID:%U%N
%R
%A
%a
%e
%l
SEQUENCE:%S%N
LOCATION:%L%N
GEO:%G%N
%F
STATUS:%t%N
END:VEVENT%N
END:VCALENDAR%N
~~--%b--


Previous     Contents     Index     Next     
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

Last Updated January 22, 2002