Sun Java System Calendar Server 6 2005Q4 Administration Guide

Appendix E Calendar Server Configuration Parameters

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:

/etc/opt/SUNWics5/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 – Caution –

Modify the settings for parameters in the ics.conf file only as described in Sun documentation or as directed by a customer support representative.

For example: Remote administration is not enabled for Calendar Server. Do not change the service.admin.portparameter, because it is already set to its required value by Calendar Server. Otherwise, the csadmind process might not run properly.


ProcedureTo edit the ics.conf file:

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

  2. Change to the /etc/opt/SUNWics5/config directory where the ics.conf file is located.

  3. Edit parameters in the ics.conf file using a text editor such as vi. 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 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 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 Calendar Server.

      • If a parameter is not in the ics.conf file, add the parameter and its associated value to the file.

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

      • All options must start at the beginning of a line.

  4. After you make changes to parameters in the ics.conf file, stop and then restart Calendar Server for the new configuration values to take effect.

    If you prefer, you can also stop Calendar Server before you edit the ics.conf file. For more information, see Starting and Stopping Calendar Server.

Configuration Parameters (ics.conf) File

Configuration parameters in the ics.conf file include:

Local Configuration

The following table shows the Local configuration parameters with each parameter’s default value and description.

Table E–1 Local Configuration Parameters in the ics.conf File

Parameter  

Default Value  

Description  

local.autoprovision

"yes" 

Enables ("yes") or disables ("no") auto provisioning of Calendar Server users. 

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 wildcard searches in an attendee lookup search. Zero (0) means always do a wildcard 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.domain.language

"en" 

Language for the domain. 

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 Calendar Server is installed. 

local.installeddir

"cal_svr_base/SUNWics5/cal"

Directory path location where Calendar Server is installed. 

local.instancedir

"cal_svr_base/SUNWics5/cal"

Directory path location where programs and data for this instance of Calendar Server are installed. 

local.instance.lockdir.path

"cal_svr_base/SUNWics5/cal/lib/lock"

Specifies the location where lock files for this server instance are stored. 

local.instance.pidfile.path

"/etc/opt/SUNWics5/
config"

Specifies the location where PID files for this server instance are stored. 

local.instance.counter.path

"cal_svr_base/SUNWics5/cal/lib/counter"

Specifies the location where counter files for this server instance are stored. 

local.plugindir.path

" "

Directory path location where CSAPI plug-ins for this instance of 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"

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

local.serveruid

"icsuser"

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

local.sitelanguage

"en"

Default language for this instance of Calendar Server. 

local.smtp.defaultdomain

" "

Name of the default domain used to lookup an attendee’s calendarID that corresponds to an email 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 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,

ceExcludeSatSun,

ceGroupInviteAll"

Values for the options in the icsExtendedUserPrefs attribute.

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. 

local.user.authfilter

“uid=%u’”

Filter to use for user lookup. 

Calendar Store Configuration

The following table shows the Calendar Store Configuration parameters with each parameter’s default value and description.

Table E–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 calendar can have more than one event scheduled for the same time slot when the calendar is created: 

  • "no" prevents double booking.

  • "yes" allows double booking.

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 Calendar 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. 

calstore.calendar.create.

lowercase

"no"

Specifies whether Calendar Server should convert a calendar ID (calid) to lowercase when creating a new calendar or when looking up a calendar using the LDAP CLD plug-in.

calstore.default.timezoneID

"America/
New_York"

Time zone ID to be used when: 

  • A time zone ID is not supplied

  • A calendar time zone ID is not found

  • A user time zone ID is not found

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

calstore.filterprivateevents

"yes"

Specifies whether Calendar Server filters (recognizes) Private and Time and Date Only (confidential) events and tasks. If "no", 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.unqualifiedattendee.

fmt1.type

"uid"

Specifies how Calendar Server treats strings, such as jdoe or jdoe:tv, when performing a directory lookup for attendees of an event. Allowable values are: uid, cn, gid, res, mailto, cap.

calstore.unqualifiedattendee.

fmt2.type

"mailto"

Specifies how Calendar Server treats strings with an at sign (@), such as jdoe@sesta.com, when performing a directory lookup for attendees of an event. Allowable values are: uid, cn, gid, res, mailto, cap.

calstore.unqualifiedattendee.

fmt3.type

"cn"

Specifies how Calendar Server treats strings with a space, such as john doe, when performing a directory lookup for attendees of an event. Allowable values are: uid, cn, gid, res, cap.

store.partition.primary.path

"."

Location of primary disk partition where calendar information is stored. 

Calendar Log Information Configuration

The following table shows the calendar log configuration parameters with each parameter’s default value and description.

Table E–3 Calendar Log Configuration 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: CRITICAL, ALERT, ERROR, WARNING, NOTICE, INFORMATION, and DEBUG.

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 (in bytes) that must be available for logging. 

logfile.notify.logname

"notify.log"

Name of log file for the csnotifyd service.

logfile.rollovertime

"86400"

Number of seconds before log files are rotated. 

Administrator Configuration Parameters

The following table lists the ics.conf parameters that pertain to administrators.

Table E–4 Configuration Parameters for Administrators

Parameter  

Default Value  

Description 

service.admin.calmaster.

cred

" "

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

service.admin.calmaster.

userid

"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.

overrides.accesscontrol

"no"

Indicates whether the Calendar Server administrator can override access control. 

service.admin.calmaster
.wcap.allowgetmodify
userprefs

"no"

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

service.admin.ldap.enable

"yes" 

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

Services Configuration

The following table shows the various services configuration parameters with each parameter’s default value and description.

Table E–5 Services Configuration Parameters in the ics.conf File

Parameter 

Default Value  

Description 

service.admin.alarm

"yes"

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

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.maxsessions

"100"

Maximum number of administration sessions allowed. 

service.admin.maxthreads

"10"

Maximum number of running threads per administration session. 

service.admin.numprocesses

N/A 

Maximum number of a concurrent administration processes allowed. 

service.admin.port 

**CAUTION** 

N/A 

Set by the system. Do not change. 

service.admin.resourcetimeout

"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.path

" "

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.dcroot

"o=internet"

Root suffix of the DC tree in the directory. 

service.dnsresolveclient

"no"

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

service.plaintextloginpause

"0"

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

service.http.admins

"calmaster"

Space separated list of user ID's with administration rights to this Calendar Server. 

service.http.allowadminproxy

"no"

If "yes", allow login via proxy. 

service.http.allowanonymouslogin

"yes"

If "yes", allow anonymous (no authentication) access. This is a special type of login that is allowed only specified, restricted access (usually read only access to public calendars). 

service.http.calendarhostname

"" (Null)

HTTP host for retrieving HTML documents. 

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

"" (Null)

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.domainnotallowed

"" (Null)

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.listenaddr

"INADDR_ANY"

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

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 concurrently running HTTP service (cshttpd) processes that should run on a server.

For a server that has multiple CPU's, see Using Load Balancing Across Multiple CPU's

service.http.port

"80"

Port for HTTP requests from Calendar Server users. 

service.http.proxydomainallowed

""

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.tmpdir 

 

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

The default is: "/var/opt/SUNWics5/tmp"

service.http.uidir.path

"html"

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

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.wcap.anonymous

.allowpubliccalendarwrite 

"yes"

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

service.wcap.format

"text/calendar"

Specifies the default output format for commands currently applied only for freebusy. 

service.wcap.freebusybegin

"30"

Specifies the default offset from the current time in days for get_freebusy for beginning of the range. 

service.wcap.freebusyend

"30"

Specifies the default offset from the current time in days for get_freebusy for end of the range. 

service.wcap.freebusy.redirecturl 

““ 

For migration purposes, when migration is only partially done and calendars are split between the originating database and the Calendar Server target database. The URL of the originating database to look in if a calendar is not found in the Calendar Server database. 

service.wcap.allowcreatecalendars

"yes"

If "yes", allow calendars to be created. 

service.wcap.allowdeletecalendars

"yes"

If "yes", allow calendars to be deleted. 

service.wcap.allowchangepassword

"no"

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

service.wcap.

allowpublicwritablecalendars 

"yes"

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

service.wcap.allowsetprefs.cn

"no"

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

service.wcap.allowsetprefs.givenname

"no"

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

service.wcap.allowsetprefs.icsCalendar

"no"

If "yes", allow the set_userprefs.wcap attribute to modify the user preference “icsCalendar" (a user's default calendar identifier). 

service.wcap.allowsetprefs.mail

"no"

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

service.wcap.allowsetprefs

.preferredlanguage 

"no"

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

service.wcap.allowsetprefs.sn

"no"

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

service.wcap.allowsetprefs.nswccalid

"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.userprefs.ldapproxyauth

"no"

If "yes", enables LDAP proxy authorization for get_userprefs.wcap command. If "no", anonymous LDAP search is performed. 

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). 

service.wcap.version

"3.0"

WCAP version. 

SSL Configuration

The following table shows the ics.conf SSL Configuration parameters with each parameter’s default value and description. While most of the SSL parameters take the default values, two of the parameters require you to change the value from the system default to the SSL value, as follows:

The table that follow shows the ics.conf parameters and their default settings. Verify that your ics.conf parameters have the appropriate values:

Table E–6 Configuration Parameters for SSL

Parameter  

Default Value  

Description  

encryption.rsa.nssslactivation

"on" 

Enables the RSA Cypher Encryption Family Services for SSL. 

encryption.rsa.nsssltoken

"internal" 

Specifies the location of the RSA Cypher Encryption Family token. 

encryption.rsa.nssslpersonalityssl

"SampleSSLServerCert" 

Specifies the certificate name for the RSA Cypher Encryption Family. 

service.http.tmpdir 

"/var/opt/SUNWis5/
tmp"

Specifies a temp directory. 

service.http.uidir.path 

“html” 

Specifies directory where the UI files are found. 

service.http.ssl.cachedir

"." 

Specifies the physical path location for the SSL cache. 

service.http.ssl.cachesize

"10000" 

Specifies the maximum size of the SSL cache database. 

service.http.ssl.usessl

"no" 

For SSL configuration, change this value to “yes”. 

Specifies whether the cshttpd process should use the SSL subsystem.

service.http.ssl.port.enable

"no" 

For SSL configuration, change this value to “yes”. 


Note –

This does not disable the HTTP process from listening to its port. There is no way to actually disable HTTP, but you can assign it to another port that is non-functional.

Do not set service.http.enable=”no”. That would disable the HTTPS process also.


service.http.ssl.port

"443" 

Specifies the SSL port number where the cshttpd process listens for HTTPS requests from Calendar Server users.

Do not set this to the same default port used by HTTP ("80").

service.http.ssl.securesession

"yes" 

Specifies whether to encrypt the entire session. 

service.http.ssl.certdb.path

"alias" 

Specifies the physical path location of the SSL Certificate Database. 

service.http.ssl.certdb.password

"password"

Specifies the SSL Certificate Database access password. 

service.http.ssl.sourceurl

"https://localhost:443"

Specifies the SSL host name and port number for the originating source URL. 

service.http.ssl.ssl2.ciphers

"" 

Specifies ciphers for SSL2. 

service.http.ssl.ssl2.sessiontimeout

"0" 

Specifies the session timeout for SSL2. 

service.http.ssl.ssl3.ciphers

"rsa_rc4_40_md5,
rsa_rc2_40_md5,
rsa_des_sha,
rsa_rc4_128_md5,
rsa_3des_sha"

Specifies a list of supported or valid SSL ciphers. 

service.http.ssl.ssl3.

sessiontimeout 

"0"

Specifies the timeout value for the SSL session. 

Hosted Domain Configuration

The following table shows the hosted (virtual) domain configuration parameters with each parameter’s default value and description.

Table E–7 Configuration Parameters for Hosted Domain Support

Parameter  

Default Value  

Description  

service.virtualdomain.

support

"n"

Enables ("y") or disables ("n") support for hosted (virtual) domains.

local.schemaversion

"1"

Specifies the version of the LDAP schema: 

  • "1" Sun LDAP Schema 1. See also service.dcroot

  • "2" Sun LDAP Schema 2. See also service.schema2root

service.dcroot

" "

Specifies the root suffix of the DC tree in the LDAP directory, if local.schemaversion="1". For example: "o=internet"

service.schema2root

" "

Specifies the root suffix underneath which all domains are found, if local.schemaversion="2". For example: "o=sesta.com"

service.defaultdomain

" "

Specifies the default domain for this instance of Calendar Server. Used when a domain name is not supplied during a login. For example: "sesta.com".

service.loginseparator

"@+"

Specifies a string of separators used for the login-separator when Calendar Server parses userid[login-separator]domain. Calendar Server tries each separator in turn.

service.siteadmin.userid

" "

Specifies the user ID of the domain administrator. 

service.siteadmin.cred

" "

Specifies the password of the domain administrator. 

Alarm Notification Parameters

The following table shows the alarm notification server configuration parameters with each parameter’s default value and description.

Table E–8 Alarm Notification Configuration Parameters in the ics.conf File

Parameter  

Default Value  

Description 

alarm.diskstat.msgalarmdescription

"percentage calendar partition disk space available"

Description sent with insufficient disk space messages. 

alarm.diskstat.msgalarmstatinterval

"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.msgalarmthresholddirection

"-1"

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

alarm.diskstat.

msgalarmwarninginterval

"24"

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

alarm.msgalarmnoticehost

"localhost"

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

"Postmaster
@localhost"

The email address to whom server alarms sent. 

alarm.msgalarmnoticesender

"Postmaster
@localhost"

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 n\n%s\n"

alarm.responsestat.

msgalarmdescription

"calendar service not responding"

Description sent with no service response messages. 

alarm.responsestat.

msgalarmstatinterval

"3600"

Number of seconds between monitoring services. 

alarm.responsestat.

msgalarmthreshold

"100"

Only trigger sending a warning message if no service response. 

alarm.responsestat.

msgalarmthresholddirection

"-1"

Specifies whether alarm.responsestat.

msgalarmthreshold is the percentage above or below the threshold.

A value of -1 is below, and a value of 1 is above.

alarm.responsestat.

msgalarmwarninginterval

"24"

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

Calendar Lookup Database Configuration

The following table shows the Calendar Lookup Database (CLD) parameters with each parameter’s default value and description.

Table E–9 Calendar Lookup Database (CLD) 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.name

"*"

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

caldb.cld.type

"local"

Specifies the type of CLD plug-in to use: 

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

"directory" specifies the LDAP CLD plug-in, which uses a calendar owner’s icsDWPHost LDAP attribute to determine the server where a specified calendar is stored.

caldb.dwp.server.default

" "

Specifies the fully qualified default DWP server name used by Calendar Server if a user or resource calendar entry in the LDAP server database does not have an icsDWPHost attribute. 

If a user who logs into Calendar Server through Communications Express, or using WCAP commands, does not have an icsDWPHost attribute, Calendar Server uses this parameter to auto-provision the attribute.

If a user already has an icsDWPHost attribute, caldb.dwp.server.default is not used.

This name must be resolvable by your Domain Name Service (DNS) into a valid IP address. 

caldb.cld.cache.enable

"yes"

Enables ("yes") or disables ("no") the Calendar Lookup Database (CLD) cache option. For optimum performance for the LDAP CLD plug-in, set to "yes".

caldb.cld.cache.logfilesizemb

"10"

Specifies the maximum size in megabytes of the checkpoint file. 

caldb.cld.cache.mempoolsizemb

"4"

Specifies the size in megabytes of shared memory. 

caldb.cld.cache.maxthread

"1000"

Specifies the maximum number of database threads. 

caldb.cld.cache.homedir.path

"."

Specifies the location of database event, task, and alarm files for the CLD cache option. The default value of "." specifies that these files are stored in the /var/opt/SUNWics5/csdb/cld_cache directory.

caldb.cld.cache.checkpointinterval

"60"

Specifies the number of seconds between checkpoints. 

caldb.cld.cache.circularlogging

"yes"

Specifies whether to remove the checkpoint files after they are synchronized for the CLD cache option. 

caldb.dwp.server.host-name.ip

" "

Specifies the host name of a server that is storing a calendar database. The server must be running the DWP (csdwpd) service. This name must be resolvable by your Domain Name Service (DNS) into a valid IP address. This parameter is used by the LDAP CLD plug-in. 

Note: In each part of the parameter, host-name must be identical and fully qualified. For example:

caldb.dwp.server.sesta.com.ip="sesta.com"

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 (DWP) service at the specified machine’s hostname. 

caldb.dwp.server.hostname.port

"9779"

Specifies the port number of the server using the Database Wire Protocol (DWP) service at the specified machine’s hostname. 

caldb.dwp.server.back-end-server.admin

" "

On a front-end server, specifies the user ID that is used for authentication for a DWP connection to a back-end server, where back-end-server is the name of the server. 

caldb.dwp.server.back-end-server.cred

" "

On a front-end server, specifies the password that is used for authentication for a DWP connection to a back-end server, where back-end-server is the name of the server.

caldb.dwp.stacksize

"65536"

Stack size for Database Wire Protocol service threads. 

caldb.cld.directory.ldapbasedn

 

Base DN to authenticate against if LDAP plug-in is used for the calendar locate mechanism. 

caldb.cld.directory.ldaphost

 

Host name of the LDAP server to access if an LDAP plug-in is used for the calendar locate mechanism. 

caldb.cld.directory.ldapbindcred

 

Bind credentials (password) for the user specified in the setting local.authldapbinddn if an LDAP plug-in is used for the calendar locate mechanism.

caldb.cld.directory.ldapbinddn

 

DN used to bind to for authentication to search for user's DN if an LDAP plug-in is used for the calendar locate mechanism. 

caldb.cld.directory.ldapport

"389" 

Port number of the LDAP server to access if an LDAP plug-in is used for the calendar locate mechanism. 

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 blank (" "), load all authentication class plug-ins. 

logfile.dwp.buffersize

"0" 

Size of Database Wire Protocol service log buffers (in bytes). 

logfile.dwp.expirytime

"604800" 

Number of seconds before the Database Wire Protocol service log files expire. 

logfile.dwp.flushinterval

"60" 

Number of seconds between flushing buffers to the Database Wire Protocol service log files. 

logfile.dwp.logdir

"logs" 

Directory location of the Database Wire Protocol service log files. 

logfile.dwp.loglevel

"Notice" 

Determines the level of detail the server will log for the Database Wire Protocol service. Each Database Wire Protocol log entry is assigned one of the following levels (starting with the most severe): Critical, Error, Warning, Notice, Information, and Debug. If you set this preference to Critical, the server will log the least amount of detail. If you want the server to log the most amount of detail, specify Debug. For example, if you specify Warning, only Critical, Error, and Warning level log entries are logged. 

logfile.dwp.maxlogfiles

"10" 

Maximum number of Database Wire Protocol related log files in log directory. 

logfile.dwp.maxlogfilesize

"2097152" 

Maximum size of each Database Wire Protocol log file (in bytes). 

logfile.dwp.maxlogsize

"20971520" 

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

logfile.dwp.minfreediskspace

"5242880" 

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

logfile.dwp.rollovertime

"86400" 

Number of seconds before Database Wire Protocol service log files are rotated. 

service.dwp.admin.userid

" " 

On a back-end server, specifies the user ID that is used to authenticate a DWP connection. This parameter is optional. If a back-end server does not specify a user ID, no authentication is performed. 

service.dwp.admin.cred

" " 

On a back-end server, specifies the password that is used to authenticate a DWP connection. This parameter is optional. If a back-end server does not specify a password, no authentication is performed. 

service.dwp.calendarhostname

"localhost" 

The hostname of the machine on which the Database Wire Protocol service is running. 

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 (DWP) service (csdwpd) processes that should run on a server.

For a server that has multiple CPUs, see Using Load Balancing Across Multiple CPU's

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

"59779" 

Port number that the Database Wire Protocol service listens to. This value is the default port for the LDAP CLD plug-in. 

service.dwp.ldap.enable

"yes" 

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

service.calendarsearch.ldap 

"yes" 

Specifies whether Calendar Server searches the LDAP directory and then the calendar database ("yes") or only the calendar database ("no"). 

LDAP Data Cache Configuration Parameters

The following table describes the configuration parameters in the ics.conf file for the LDAP data cache.

Table E–10 LDAP Data Cache Configuration Parameters

Parameter  

Description 

local.ldap.cache.enable

Enables (“yes”) or disables (“no”) the LDAP data cache. The default is “no”.

local.ldap.cache.checkpointinterval

Specifies the number of seconds for the checkpoint thread to sleep. The default time is “60” seconds.

local.ldap.cache.circularlogging

Specifies whether or not to remove the old cache files. The default is “yes”.

local.ldap.cache.homedir.path

Specifies the physical location of LDAP data cache database. The default is /var/opt/SUNWics5/csdb/ldap_cache.

local.ldap.cache.logfilesizemb

Specifies the maximum size in megabytes of the checkpoint file. The default is “10” megabytes.

local.ldap.cache.maxthreads

Specifies the maximum number of threads for the LDAP data cache database. The default is “1000”.

local.ldap.cache.mempoolsizemb

Specifies the number of megabytes of shared memory. The default is “4” megabytes.

local.ldap.cache.entryttl

Specifies the time to live (TTL) in seconds for an LDAP data cache entry. The default is “3600” seconds (1 hour).

local.ldap.cache.stat.enable

Specifies whether or not to log access to the LDAP data cache and to print statistics in the log file. The default is “no”.

Note This parameter applies only to debug mode. 

local.ldap.cache.stat.interval

Specifies the interval in seconds when each statistics report is written to the log file. The default is “1800” seconds (30 minutes).

local.ldap.cache.cleanup.interval

Specifies the interval in seconds between each database cleanup. The default is “1800” seconds (30 minutes).

Resource Calendar Configuration Parameters

To configure resource calendars, use the parameters found in The following table:

Table E–11 Configuration Parameters for Resource Calendars

Parameter  

Default Value  

Description  

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 when the calendar is created: 

  • "no" prevents double booking.

  • "yes" allows double booking.

    This parameter is used only when a resource calendar is created.

    After a resource calendar is created, Calendar Server checks the calendar properties (ics50calprops.db) to determine if double booking is allowed.

    If you need to change the calendar properties for a resource calendar to allow or disallow double booking, use csresource with the -k option.

resource.default.acl

 

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

The default is: "@@o^a^r^g;@@o^c^wdeic^g;@^a^rsf^g"

Single Sign-on (SSO) Configuration

Configuring SSO Through Access Manager

The following table shows the SSO configuration parameters with each parameter’s default value and description when you are using Access Manager.

Table E–12 SSO Configuration Parameters in the ics.conf File (Through Access Manager)

Parameter  

Default  

Description  

local.calendar.sso.singlesignoff 

”yes” 

Enables (”yes”) or disables (”no”) SSO for Calendar Server. 

local.calendar.sso.amcookiename 

“iPlanetDirectoryPro” 

Specifies the name of the Access Manager SSO cookie. 

local.calendar.sso.amnamingurl 

”http://AccessManager:port
/amserver/namingservice”

Specifies the URL of the Access Manager SSO naming service.

local.calendar.sso.amloglevel 

”3” 

Specifies the log level for Access Manager SSO. Range is from 1 (quiet) to 5 (verbose). 

local.calendar.sso.logname 

“am_sso.log” 

Specifies the name of the Access Manager SSO API log file. 

Configuring SSO Through Communications Servers Trusted Circle Technology

The following table shows the SSO configuration parameters with each parameter’s default value and description when the Communications Servers trusted circle technology.

Table E–13 SSO Configuration Parameters in the ics.conf File Using Communications Servers Trusted Circle Technology

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="ics50"

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 Calendar Server. 

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

sso.appprefix="ssogrp1"

sso.appid.url

 

Verification URL for the value specified for sso.appid. For example:

"sso.ics50.url="http://siroe.com:80/
default.html"

sso.nnn.ip

sso.appid.ip

IP address of the value specified for sso.appid. For example: sso.ics50.ip=

"123.12.456.123"

sso.cookiedomain

"."

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

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 parameter is missing from ics.conf, 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 identifies 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 Calendar Server on sesta.com with port number 8883:

sso.ics50.url=

"http://sesta.com:8883/VerifySSO?"

Group Scheduling Engine (GSE) Configuration

The following table shows the Group Scheduling Engine (GSE) configuration parameters with each parameter’s default value and description.

Table E–14 Group Scheduling Engine (GSE) 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

The following table lists the ics.conf parameters used to configure database handling, and gives each parameter’s default value and description.

Table E–15 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. Do not set this to “no” unless you have enabled automatic backups.

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 stored. The default is “.”, which specifies: 

/var/opt/SUNWics5/csdb

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 /etc/opt/SUNWics5/config that contains the localized version of the files used to format email notifications.

For example, "en" specifies the directory for the English localized version, and "fr" specifies the directory for the French localized version. 

caldb.smtpport

"25"

Port for SMTP host. 

Automatic Backups of the Calendar Database

The following table lists the parameters used by the automatic backup process (csstored), gives the default value where available, and describes the ics.conf parameter.

Table E–16 ics.conf Parameters Used by the Automatic Backup Process

Parameter  

Default Value  

Description  

logfile.store.logname

defaultstore.log

Name of the log file. 

logfile.logdir

"."

Path to the log directory. 

caldb.berkeleydb.homedir.path

none 

Path to live database. 

caldb.berkeleydb.archive.path

none 

Path to the archive backup. 

caldb.berkeleydb.hotbackup.path

none 

Path to the hot backup. 

caldb.berkeleydb.archive.enable

"yes"

Enable/disable automatic archive backups. 

caldb.berkeleydb.hotbackup.enable

"yes"

Enable/disable automatic hot backups. 

caldb.berkeleydb.hotbackup.mindays

"3"

Minimum number of hot backup copies kept on disk. 

caldb.berkeleydb.hotbackup.

maxdays

"7"

Maximum number of hot backup copies kept on disk. 

caldb.berkeleydb.hotbackup.

threshold

"70"

Percentage of used disk space that triggers purging of old hot backup copies. 

caldb.berkeleydb.archive.mindays

"3"

Minimum number of archive backup copies kept on disk. 

caldb.berkeleydb.archive.maxdays

"7"

Maximum number of archive backup copies kept on disk. 

caldb.berkeleydb.archive.threshold

"70"

Percentage of used disk space that triggers purging of old archive backup copies. 

caldb.berkeleydb.circularlogging

"yes"

Enables/disables management of the number of, and disk space occupied by, backup copies. 

caldb.berkeleydb.archive.interval

"120"

Time in seconds between opening of new transaction logs. 

alarm.msgalarmnoticercpt

"root@

localhost"

Email address of the administrator to notify when necessary. 

service.store.enable 

(not included in ics.conf file)

"yes"

Enables csstored to be started by start-cal. Must be added to the ics.conf file, set to "no", if you want to disable csstored from being started by start-cal.

Calendar Database Parameters for ENS Messages

The following table describes the parameter, default value, and description for each of the parameters used to configure the calendar database. If you require a value other than the default, you must set it in the ics.conf file.

Table E–17 Calendar Database Parameters for ENS Messages

Parameter  

Default Value  

Description  

caldb.serveralarms.url

"enp:///ics/alarm"

Specifies the URL for the ENS message. 

caldb.serveralarms.contenttype

""

Specifies the content type of the alarm data. Value can be "text/xml" or "text/calendar".

caldb.berkeleydb.ensmsg.createcal

"no"

Creates an ENS message when a calendar is created. 

caldb.berkeleydb.ensmsg.createcal.url

"enp:///ics/calendarcreate"

Specifies the URL for the ENS message. 

caldb.berkeleydb.ensmsg.createcal.contenttype

"text/xml"

Specifies the content type of the message data: "text/xml" (default) or "text/calendar".

caldb.berkeleydb.ensmsg.deletecal

"no"

Creates an ENS message when a calendar is deleted. 

caldb.berkeleydb.ensmsg.deletecal.url

"enp:///ics/calendardelete"

Specifies the URL for the ENS message. 

caldb.berkeleydb.ensmsg.deletecal.contenttype

"text/xml"

Specifies the content type of the message data: "text/xml" (default) or "text/calendar".

caldb.berkeleydb.ensmsg.modifycal

"no"

Creates an ENS message when a calendar is modified. 

caldb.berkeleydb.ensmsg.modifycal.url

"enp:///ics/calendarmodify"

URL for the ENS message. 

caldb.berleleydb.ensmsg.modifycal.contenttype

"text/xml"

Specifies the content type of the message data: "text/xml" (default) or "text/calendar".

caldb.berkeleydb.ensmsg.createevent

"no"

Creates an ENS message when an event is created. 

caldb.berkeleydb.ensmsg.createevent.url

"enp:///ics/caleventcreate"

Specifies the URL for the ENS message. 

caldb.berleleydb.ensmsg.createevent.contenttype

"text/xml"

Specifies the content type of the message data: "text/xml" (default) or "text/calendar".

caldb.berkeleydb.ensmsg.modifyevent

"no"

Creates an ENS message when an event is modified. 

caldb.berkeleydb.ensmsg.modifyevent.url

"enp:///ics/caleventmodify"

Specifies the URL for the ENS message. 

caldb.berleleydb.ensmsg.modifyevent.contenttype

"text/xml"

Specifies the content type of the message data: "text/xml" (default) or "text/calendar".

caldb.berkeleydb.ensmsg.deleteevent

"no"

Creates an ENS message when an event is deleted. 

caldb.berkeleydb.ensmsg.deleteevent.url

"enp:///ics/caleventdelete"

Specifies the URL for the ENS message. 

caldb.berkeleydb.ensmsg.deleteevent.contenttype

"text/xml"

Specifies the content type of the message data: "text/xml" (default) or"text/calendar".

caldb.berkeleydb.ensmsg.createtodo

"no"

Creates an ENS message when a todo is created. 

caldb.berkeleydb.ensmsg.createtodo.url

"enp:///ics/caltodocreate"

Specifies the URL for the ENS message. 

caldb.berleleydb.ensmsg.createtodo.contenttype

"text/xml"

Specifies the content type of the message data: "text/xml" (default) or "text/calendar".

caldb.berkeleydb.ensmsg.modifytodo

"no"

Creates an ENS message when a todo is modified. 

caldb.berkeleydb.ensmsg.modifytodo.url

"enp:///ics/caltodomodify"

Specifies the URL for the ENS message. 

caldb.berleleydb.ensmsg.modifytodo.contenttype

"text/xml"

Specifies the content type of the message data: "text/xml" (default) or "text/calendar".

caldb.berkeleydb.ensmsg.deletetodo

"no"

Creates an ENS message when a todo is deleted. 

caldb.berkeleydb.ensmsg.deletetodo.url

"enp:///ics/caltododelete"

Specifies the URL for the ENS message. 

caldb.berkeleydb.ensmsg.deletetodo.contenttype

"text/xml"

Specifies the content type of the message data: "text/xml" (default) or "text/calendar".

Event Notification Server (ENS) Configuration

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. 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.

The following table shows the Event Notification Server (ENS) configuration parameters in ics.conf. with each parameter’s default value and description.

Table E–18 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

"localhost"

The host name of the machine on which ENS is running. 

service.ens.port

"57997"

The port number of the machine on which ENS is running. 

service.ens.library

"xenp"

The name of ENS 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 ENS. 

A value of "-1" causes the alarm thread to retry indefinitely.

service.notify.retryinterval

"3"

Number (in seconds) that csnotifyd waits before attempting to recontact ENS after a connection failure.

service.notify.startupretrytime

"0"

Total number of seconds Calendar Server keeps trying to contact ENS 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.

A value of "0" tells the alarm thread to exit immediately if it fails to connect to ENS at startup.

ens.startlistener

"0"

Acceptable values: 

  • "1"

  • "0"

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.advancedtopics

"no"

Specifies how modify event notifications are published: 

  • If "yes", the system differentiates between reply, refresh, or modify transactions by publishing to the respective topic:

    caldb.berkeleydb.ensmsg.replyevent

    caldb.berkeleydb.ensmsg.refreshevent

    caldb.berkeleydb.ensmsg.modifyevent

  • If "no", the system publishes all three types (reply, refresh, modify) to the following topic:

    caldb.berkeleydb.ensmsg.modifyevent

caldb.berkeleydb.ensmsg.createevent

"no"

If "yes", create an ENS message when an event is created.

caldb.berkeleydb.ensmsg.deleteevent

"no"

If "yes", create an ENS message when an event is deleted.

caldb.berkeleydb.ensmsg.modifyevent

"no"

If "yes", create an ENS message when an event is modified.

caldb.berkeleydb.ensmsg.refreshevent

"no"

Specifies whether Calendar Server should create an ENS message when an event is refreshed. 

caldb.berkeleydb.ensmsg.refreshevent.contenttype

"text/xml"

Specifies the content type of the message data for the refresh of an event. Values can be "text/xml" or "text/calendar".

caldb.berkeleydb.ensmsg.refreshevent.url

"enp:///ics/caleventrefresh"

Specifies the URL for ENS message for the refresh of an event. 

caldb.berkeleydb.ensmsg.replyevent

"no"

Specifies whether Calendar Server should create an ENS message for a reply to an event. 

caldb.berkeleydb.ensmsg.replyevent.contenttype

"text/xml"

Specifies the content type of the message data for a reply to an event. Values can be "text/xml" or "text/calendar".

caldb.berkeleydb.ensmsg.replyevent.url

"enp:///ics
/caleventreply"

Specifies the URL for the ENS message for a reply to an event. 

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&rid=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&rid=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&rid=rid

caldb.berkeleydb.ensmsg.qsize

"10000"

Initial size of the in-memory 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
&method=method&type={event|todo}
&uid=uid&rid=rid

caldb.serveralarms

"yes"

If "yes", alarm emails will be sent. 

caldb.serveralarms.acktimeout

"30"

Specifies the number of seconds ENS’s alarm thread waits for an acknowledgment from csnotifyd after publishing an alarm notification. If the timeout 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: 

  • If "ens", the server uses the external ENS to send and receive alarms.

  • If "smtp", the server sends alarms as standard SMTP messages and to bypass ENS.

caldb.serveralarms.initthreads

"10"

Initial number of server alarm threads. 

caldb.serveralarms.maxretrytime

"-1"

How many times the alarm thread will consecutively retry and fail to contact ENS. 

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

caldb.serveralarms.maxthreads

"10"

Maximum number of server alarm threads. 

caldb.serveralarms.retryinterval

"5"

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

caldb.serveralarms.stacksize

"65536"

Stack frame size for server alarm threads. 

caldb.serveralarms.startupretrytime

"0"

Total number of seconds Calendar Server keeps trying to contact ENS 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. 

If "0", the alarm thread exits immediately if it fails to connect to ENS at startup.

caldb.smtphost

"localhost"

Send alarm emails to this SMTP host. 

Calendar Server API Configuration

The following table shows the Calendar Server API (CSAPI) configuration parameters with each parameter’s default value and description.

Table E–19 CSAPI Configuration Parameters in the ics.conf File

Parameter  

Default Value  

Description  

csapi.plugin.authentication

"n"

If the value is "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 the value is "y", load only the plug-in specified in csapi.plugin.authentication.name.

If the value is "n", 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 blank (" "), load all authentication class plug-ins.

csapi.plugin.database

"y"

If "y", load only the plug-in specified in csapi.plugin.database.name.

If "n", 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 blank (" "), 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_data
translatorcsv10"

If csapi.plugin.loadall is "n" and csapi.plugin.datatranslator is "y", load this specific plug-in.

If blank (" "), or not specified, load all data translator class plug-ins.

csapi.plugin.dbtranslator

"y"

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

csapi.plugin.dbtranslator.name

"*"

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

  • If "*", load all the database-to-output format plug-ins.

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

 

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. (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 "y" 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 blank (" "), load all user preferences class plug-ins. Otherwise, only load this specific plug-in.

csmonitor Utility Configuration

The following table shows the csmonitor utility configuration parameters with each parameter’s default value and description.

Table E–20 csmonitor Utility Configuration Parameters in the ics.conf File

Parameter  

Default Value  

Description  

service.monitor.continuous

"0" 

Specifies whether csmonitor should loop continuously: 

"0"–Do not loop continuously. 

"1"–Loop continuously. 

This option requires more system resources, but it can useful in debug mode. 

service.monitor.loopsdelay

"60" 

Specifies the delay in seconds between two monitoring loops. 

service.monitor.emailaddress.from

none 

Specifies the email address csmonitor sends messages from. 

service.monitor.emailaddress.to

none 

Specifies the email address csmonitor should send messages to. 

service.monitor.csdb.logthreshold 

"90" 

Specifies a threshold value in percent of the total disk space for the maximum disk occupation considered to be normal. If the disk occupation where the calendar database (csdb directory) resides exceeds this value, csmonitor sends a warning email message.

logfile.monitor.logname

"csmonitor.log" 

Specifies the csmonitor log file name. 

logfile.monitor.maxlogfilesize

"2097152" 

Specifies the maximum log file size. If the log file exceeds this size, csmonitor saves the log as csmonitor.log.timestamp and resets the log.

service.monitor.dbglevel

"0" 

Specifies the debug level. The higher this value, csmonitor sends more precise and verbose messages. 

Counters Configuration (counter.conf) File

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

/etc/opt/SUNWics5/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 Appendix D, Calendar Server Command-Line Utilities Reference.


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

The following table shows each alarm counter’s name, type, size, and description.

Table E–21 Alarm Counters in the counter.conf File

Name  

Type 

Size  

Description 

alarm.high

GAUGE 

Highest ever recorded value. 

alarm.low

GAUGE 

Lowest ever recorded value. 

alarm.current

GAUGE 

Current monitored valued. 

alarm.warningstate

GAUGE 

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

alarm.countoverthreshold

COUNTER 

Number of times crossing threshold. 

alarm.countwarningsent

COUNTER 

Number of warnings sent. 

alarm.timelastset.desc

TIME 

Last time current value was set. 

alarm.timelastwarning

TIME 

Last time warning was sent. 

alarm.timereset

TIME 

Last time reset was performed. 

alarm.timestatechanged.desc

TIME 

Last time alarm state changed. 

Disk Usage Counters

The following table shows each disk usage counter’s name, type, size, and description.

Table E–22 Disk Usage Counters in the counter.conf File

Name  

Type 

Size  

Description  

diskusage.availSpace

GAUGE 

Total space available in the disk partition. 

diskusage.lastStatTime

TIME 

The last time statistic was taken. 

diskusage.calPartitionPath

STRING 

512 

Calendar partition path. 

diskusage.percentAvail

GAUGE 

Disk partition space available percentage. 

diskusage.totalSpace

GAUGE 

Total space in the disk partition. 

HTTP Counters

The following table shows each HTTP counter’s name, type, size, and description.

Table E–23 HTTP (httpstat) Counters in the counter.conf File

Name  

Type  

Size  

Description  

httpstat.avgConnectionTime

GAUGE 

Average connection response time. 

httpstat.currentStartTime

TIME 

When Calendar Server was started. 

httpstat.lastConnectionTime

TIME 

Last time new client connection was accepted. 

httpstat.maxConnections

COUNTER 

Maximum number of concurrent connections served. 

httpstat.maxSessions

COUNTER 

Maximum number of WCAP sessions served. 

httpstat.numConnections

COUNTER 

Total number of connections served. 

httpstat.numCurrentConnections

GAUGE 

Current number of active connections. 

httpstat.numCurrentSessions

GAUGE 

Current number of WCAP sessions. 

httpstat.numFailedConnections

COUNTER 

Total number of failed connections served. 

httpstat.numGoodLogins.desc

COUNTER 

Number of successful logins served by the current HTTP server. 

httpstat.numFailedLogins

COUNTER 

Number of failed logins served by the current HTTP server. 

Group Scheduling Counters

The following table shows each Group Scheduling Engine (GSE) counter’s name, type, size, and description.

Table E–24 Group Scheduling Engine (GSE) Counters in the counter.conf File

Name 

Type  

Size 

Description  

gsestat.lastWakeUpTime

TIME 

Last time GSE wakes up and process job. 

gsestat.lastJobProcessedTime

TIME 

Last time GSE processes a job. 

gsestat.numJobsProcessed

COUNTER 

Total number of jobs GSE processed. 

gsestat.numActiveWorkerThreads

COUNTER 

Total number of active Worker Threads. 

Authentication Counters

The following table shows each Authentication counter’s name, type, size, and description.

Table E–25 Authentication (authstat) Counters in the counter.conf File

Name  

Type  

Size 

Description  

authstat.lastLoginTime

TIME 

Last time a user logged in. 

authstat.numSuccessfulLogins

COUNTER 

Total number of successful logins served. 

authstat.numFailedLogins

COUNTER 

Total number of failed logins served. 

WCAP Counters

The following table shows each WCAP counter’s name, type, size, and description.

Table E–26 WCAP (wcapstat) Counters in the counter.conf File

Name  

Type  

Size 

Description  

wcapstat.numRequests

COUNTER 

Total number of WCAP requests. 

Database Counters

The following table shows each Database counter’s name, type, size, and description.

Table E–27 Database (dbstat) Counters in the counter.conf File

Name  

Type  

Size  

Description 

dbstat.numReads

COUNTER 

Total number of database reads. 

dbstat.numWrites

COUNTER 

Total number of database writes. 

dbstat.numDeletes

COUNTER 

Total number of database deletes. 

dbstat.lastReadTime

TIME 

Last time of database read. 

dbstat.lastWriteTime

TIME 

Last time of database write. 

dbstat.lastDeleteTime

TIME 

Last time of database delete. 

Server Response Counters

The following table shows each Server Response counter’s name, type, size, and description.

Table E–28 Server Response Counters in the counter.conf File

Name  

Type  

Size  

Scale 

Description 

serverresponse.lastStatTime

TIME 

 

Last time statistic was taken. 

serverresponse.responseTime

GAUGE 

Server response time in milliseconds. 

Session Status Counters

The following table shows each Session Status counter’s name, type, size, and description.

Table E–29 Sessions Status Counters in the counter.conf File

Name  

Type  

Size  

Scale  

Description 

sessstat.maxSessions.desc

COUNTER 

Maximum number of HTTP sessions served. 

sessstat.numCurrentSessions

GAUGE 

Current number of HTTP sessions. 

Notification Messages

Calendar Server sends the types of email messages described in Calendar Server Mail Parameters. 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 locale (such as /en for English and /fr for French) in the following directory:

/etc/opt/SUNWics5/config

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

/etc/opt/SUNWics5/config/en/mail_todoalarm.fmt

This section describes:

Calendar Server Mail Parameters

The following table shows the message type, parameter name, default format file description, and recipient for each Calendar Server Mail parameter.

Table E–30 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 

Recurring Event Notification 

calmail.imipeventnotificationrecur.fname

“mail_eventnotificationrecur.fmt” 

Notifies of a recurring event 

Those listed in Notification 

Event Cancel Notification 

calmail.imipeventcancelnotification.fname

“mail_eventcancel notification.fmt” 

Notifies of a cancelled event 

Those listed in Notification 

Recurring Event Cancel Notification 

calmail.imipeventcancelnotificationrecur.fname

“mail_eventcancelnotificationrecur.fmt” 

Notifies of a cancelled recurring event 

Those listed in Notification 

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 

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

The following table shows the format code and meaning for Special Character Sequences for Event Notifications.

Table E–31 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 ISO 8601 date strings listing dates to exclude) 

%a 

rdates in iCalendar format (semicolon-separated list of ISO 8601 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 

%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 sub-format 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:

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 Notifications

The following table shows the format code and meaning for Special Character Sequences for Task Notifications.

Table E–32 Special Character Sequences for Task Notifications

Format Code  

Meaning  

%A

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

%a

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

%B

start time (also see %Z)

%C

create time 

%c

task class 

%D

due date and time. 

%d

task description. (also see %F)

%E

due date and 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

%Z

used in conjunction with time field code to force the time to be rendered in UTC (%Bdisplays 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

The following table shows the format code and meaning for Special Character Sequences for dates.


Note –

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


Table E–33 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

         

The description of each line in this example is:

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. This example has a 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--