Sun Java logo     上一个      目录      索引      下一个     

Sun logo
Sun Java System Calendar Server 管理指南 

附录 E
Calendar Server 配置参数

Sun Java™ System Calendar Server 配置参数存储在配置文件 ics.confcounter.conf 中。

本章提供了以下信息:


编辑 ics.conf 配置文件

Calendar Server 配置参数存储在以下文件中:

cal_svr_base/etc/opt/SUNWics5/config/ics.conf

ics.conf 文件是一个 ASCII 文本文件,其中的每一行定义一个参数以及该参数的相关值。所有参数都在安装 Calendar Server 过程中进行初始化。安装后,可以使用文本编辑器编辑该文件。


警告

要修改 ics.conf 文件中的参数设置,必须按照 Sun 文档中介绍的方法或在用户支持代表的指导下进行。

例如:没有为 Calendar Server 启用远程管理。请勿更改 service.admin.port 参数,因为该参数已被设置为 Calendar Server 所需的值。否则,csadmind 进程可能无法正常运行。


要编辑 ics.conf 文件,请执行以下操作:

  1. 以系统管理员用户身份登录正在运行 Calendar Server 的系统。
  2. 转到 ics.conf 文件所在的 cal_svr_base/etc/opt/SUNWics5/config 目录。
  3. 使用文本编辑器(例如 Solaris 操作系统上的 vi)编辑 ics.conf 文件中的参数。以下为参数惯例:
    • 所有参数都只能用小写表示。
    • 必须用等号 (=) 分隔参数及其相关值,但等号前后可以有空格或制表符。例如:

      service.http.idletimeout = "120"

    • 每个参数值都必须括在双引号 (" ") 中。如果一个参数允许多个值,则整个值字符串都必须括在双引号中。例如:

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

    • 每个注释行都以感叹号 (!) 开头。注释行仅用于提示性目的,运行时将被 Calendar Server 忽略。

      有些参数作为注释发布,它们以一个或两个感叹号(! 或 !!)开头。要使用这种类型的参数,必须删除其前的感叹号并为其提供一个值(如果需要),然后重新启动 Calendar Server 以使此参数生效。

      例如,要使用 !!caldb.dwp.server.[hostname].ip,必须删除感叹号 (!!),为 hostname 提供一个值,然后重新启动 Calendar Server。

    • 如果某个参数不在 ics.conf 文件中,则将该参数及其相关值添加到该文件中。
    • 如果一个参数出现多次,则最后列出的那个参数值将覆盖前面的值。
  4. 更改 ics.conf 文件中的参数后,需要停止并重新启动 Calendar Server 才能使新配置值生效。(如果需要,也可以在编辑 ics.conf 文件之前停止 Calendar Server。)
  5. 有关详细信息,请参阅启动和停止 Calendar Server


配置参数文件 (ics.conf)

ics.conf 文件中的配置参数包括:

本地配置

下表显示了本地配置参数以及每个参数的默认值和说明。

表 E-1 ics.conf 文件中的本地配置参数 

参数

默认值

说明

local.autoprovision

"yes"

启用 ("yes") 或禁用 ("no") Calendar Server 的自动置备用户功能。

local.authldapbasedn

" "

LDAP 验证的基本 DN。如果不指定,则使用 local.ugldapbasedn。

local.authldaphost

"localhost"

LDAP 验证的主机。如果不指定,则使用 local.ugldaphost。

local.authldapbindcred

" "

在 local.authldapbinddn 中指定的用户的绑定证书(密码)。

local.authldapbinddn

" "

用来绑定 LDAP 验证主机以搜索用户 DN 的 DN。如果不指定或为 " ",则进行匿名绑定。

local.authldapport

"389"

LDAP 验证的端口。如果不指定,则使用 local.ugldapport。

local.authldappoolsize

"1"

为 LDAP 验证维护的最小 LDAP 客户端连接数目。如果不指定,则使用 local.ugldappoolsize。

local.authldapmaxpool

"1024"

为 LDAP 验证维护的最大 LDAP 客户端连接数目。如果不指定,则使用 local.ugldapmaxpool。

local.lookupldap.search.minwildcardsize

"3"

指定在参与者查找搜索中使用通配符搜索的最小字符串大小。零 (0) 表示总是进行通配符搜索。

local.caldb.deadlock.autodetect

"no"

定期检查 Berkeley 数据库是否处于死锁状态,如果是,则指示该数据库重置。

local.enduseradmincred

" "

LDAP 用户首选项验证的绑定证书(密码)。

local.enduseradmindn

" "

用来绑定 LDAP 用户首选项主机的 DN。必须指定。如果为 " "(不指定),则假定为匿名绑定。

local.hostname

" "

已经安装 Calendar Server 的计算机的主机名。

local.installeddir

" "

Calendar Server 的安装目录路径位置。默认值为 cal_svr_base/opt/SUNWics5/cal。

local.instancedir

"."

此 Calendar Server 实例的程序和数据的安装目录路径位置。默认值为 cal_svr_base/opt/SUNWics5/cal/sbin。

local.plugindir.path

" "

此 Calendar Server 实例的 CSAPI 插件的安装目录路径位置。

local.rfc822header.allow8bit

"n"

允许 (y) 或不允许 (n) 在此服务器发送的电子邮件中使用 8 位头。

local.servergid

"icsgroup"

Calendar Server 文件(例如计数器和日志)的组 ID (GID)。

local.serveruid

"icsuser"

Calendar Server 文件(例如计数器和日志)的用户 ID (UID)。

local.sitelanguage

"en"

此 Calendar Server 实例的默认语言。

local.smtp.defaultdomain

" "

用来查找与某个电子邮件地址相对应的参与者日历 ID 的默认域名。例如,如果此设置的值为 "sesta.com",则 jsmith 被解析为 jsmith@sesta.com。

local.supportedlanguages

"en"

此 Calendar Server 实例支持的用户语言。

local.ugldapbasedn

" "

LDAP 用户首选项的基本 DN。必须指定且不能为空。

local.ugldaphost

"localhost"

存储 LDAP 用户首选项的计算机的主机名。

local.instance.lockdir.path

cal_svr_base/opt/SUNWics5/cal/lib/lock

指定存储此服务器实例的锁定文件的位置。

local.instance.pidfile.path

cal_svr_base/etc/opt/SUNWics5/config

指定存储此服务器实例的 PID 文件的位置。

local.instance.counter.path

cal_svr_base/opt/SUNWics5/cal/lib/counter

指定存储此服务器实例的计数器文件的位置。

local.instance.use.tmpfs

"false"

如果设置为 "true",则根据 service.http.sessiondir.path 和 service.admin.sessiondir.path 的值覆盖会话数据库基于内存的文件系统 (tmpfs)。

local.ugldapicsextendeduserprefs

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

Calendar Server LDAP 模式扩展的值。

local.ugldapport

"389"

存储 LDAP 用户首选项的计算机的端口号。

local.ugldappoolsize

"1"

为 LDAP 用户首选项维护的最小 LDAP 客户端连接数目。

local.ugldapmaxpool

"1024"

为 LDAP 用户首选项维护的最大 LDAP 客户端连接数目。

local.domain.language

"en"

域的语言。

日历存储配置

下表显示了日历存储配置参数以及每个参数的默认值和说明。

表 E-2 ics.conf 文件中的日历存储配置参数 

参数

默认值

说明

calstore.anonymous.calid

"anonymous"

用于匿名登录的日历 ID (calid)。

user.allow.doublebook

"yes"

确定创建日历时是否允许为用户日历的同一时段预定多个事件:

  • "no" 禁止双重预定。
  • "yes" 允许双重预定。

此参数仅在创建用户日历时使用。创建用户日历后,Calendar Server 将检查日历特性 (ics50calprops.db) 以决定是否允许双重预定。

要更改用户日历的日历特性以允许或禁止双重预定,请使用带 -k 选项的 cscal。

calstore.calendar.default.acl

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

指定用户创建日历时使用的默认访问控制权限。其格式由一个以分号分隔的访问控制条目 (ACE) 变量字符串列表指定。

有关 ACE 格式的详细信息,请参阅日历访问控制

要使用命令行实用程序指定一个或多个日历的访问控制条目,请参阅 cscal

calstore.calendar.owner.acl

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

指定日历属主的默认访问控制设置。

注意:当用户使用 Calendar Express 用户界面上的“隐私”对话框指定访问权限时,它们以相反顺序应用。例如,@@o^a^rsf^g;@@o^c^wdeic^g 应用为 @@o^c^wdeic^g;@@o^a^rsf^g。

calstore.calendar.create.lowercase

"no"

指定在创建新日历或使用 LDAP CLD 插件查找日历时,Calendar Server 是否应将日历 ID (cald) 转换为小写。

calstore.default.timezoneID

"America/
New_York"

在以下情况下导入文件时使用的时区 ID:

  • 未提供时区 ID
  • 未找到日历时区 ID
  • 未找到用户时区 ID

如果指定的值无效,服务器将使用 GMT(格林威治标准时间)时区。

calstore.filterprivateevents

"yes"

指定 Calendar Server 是否过滤(识别)“私人”和“仅时间与日期”(保密)事件和任务。如果指定为 "no",Calendar Server 会将它们与“公用”事件和任务一样处理。

calstore.freebusy.include.defaultcalendar

"yes"

指定是否在用户的空闲/繁忙日历列表中包括用户的默认日历。

calstore.freebusy.remove.defaultcalendar

"no"

指定是否可以从用户的空闲/繁忙日历列表中删除用户的默认日历。

calstore.group.attendee.maxsize

"0"

展开事件时,一个 LDAP 组中允许的最大参与者数目。如果设置为 "0",则表示完全展开组。

calstore.recurrence.bound

"60"

周期性扩展可以创建的最大事件数目。

calstore.subscribed.include.defaultcalendar

"yes"

指定是否在用户的预定日历列表中包括用户的默认日历。

calstore.subscribed.remove.defaultcalendar

"no"

指定是否可以从用户的预定日历列表中删除用户的默认日历。

calstore.userlookup.maxsize

"200"

从用户搜索的 LDAP 查找中返回的最大结果数目。如果设置为 "0",则表示没有限制。

calstore.virtualdomain.mode

"n"

指定 Calendar Server 是否处于受限的虚拟域模式下 ("y" 或 "n")。

calstore.unqualifiedattendee.fmt1.type

"uid"

指定在执行事件参与者的目录查找时,Calendar Server 如何处理字符串,例如 jdoe 或 jdoe:tv。有效值包括:

calstore.unqualifiedattendee.fmt2.type

"mailto"

指定在执行事件参与者的目录查找时,Calendar Server 如何处理带 @ 符号的字符串,例如 jdoe@foo.com。有效值包括:

calstore.unqualifiedattendee.fmt3.type

"cn"

指定在执行事件参与者的目录查找时,Calendar Server 如何处理带空格的字符串,例如 john doe。有效值包括:

store.partition.primary.path

"."

存储日历信息的主磁盘分区的位置。

日历日志信息配置

下表显示了日历日志配置参数以及每个参数的默认值和说明。

表 E-3 ics.conf 文件中的日历日志配置参数 

参数

默认值

说明

logfile.admin.logname

"admin.log"

日历管理工具的日志文件的名称。

logfile.buffersize

"0"

日志缓冲区的大小(以字节为单位)。

logfile.dwp.logname

"dwp.log"

与日志数据库有线协议相关的管理工具的日志文件的名称。

logfile.expirytime

"604800"

日志文件过期前的秒数。

logfile.flushinterval

"60"

刷新缓冲区至日志文件的间隔秒数。

logfile.http.logname

"http.log"

cshttpd 服务的当前日志文件的名称。

logfile.http.access.logname

"httpd.access"

当前 HTTP 访问日志文件的名称。

logfile.logdir

"logs"

日志文件的目录位置。

logfile.loglevel

"Notice"

决定服务器记录细节的级别。每个日志条目指定以下级别之一(从最严重的级别开始):CRITICAL、ALERT、ERROR、WARNING、NOTICE、INFORMATION 和 DEBUG。

如果设置为 CRITICAL,则 Calendar Server 记录的细节最少。如果希望服务器记录最多的细节,请指定 DEBUG。例如,如果设置为 WARNING,则只记录 CRITICAL、ERROR 和 WARNING 级别的日志条目。

logfile.maxlogfiles

"10"

日志目录中的日志文件的最大数目。

logfile.maxlogfilesize

"2097152"

每个日志文件的最大大小(以字节为单位)。

logfile.maxlogsize

"20971520"

所有日志文件的最大磁盘空间(以字节为单位)。

logfile.minfreediskspace

"5242880"

必须为日志预留的最小可用磁盘空间(以字节为单位)。达到此值后,Calendar Server 将通过使旧日志文件过期来释放磁盘空间。如果无法释放空间,则停止记录。

logfile.notify.logname

"notify.log"

csnotifyd 服务的日志文件名。

logfile.rollovertime

"86400"

旋转日志文件前的秒数。

服务配置

下表显示了服务配置参数以及每个参数的默认值和说明。

表 E-4 ics.conf 文件中的服务配置参数 

参数

默认值

说明

service.authcachesize

"10000"

Calendar Server 维护的验证用户 ID (UID) 和密码的最大数目。

service.authcachettl

"900"

缓存用户 UID 和密码之前的秒数。

resource.allow.doublebook

"no"

确定在创建日历时,是否可以为资源(如会议室或音频视频设备)日历的同一时段预定多个事件:

  • 值为 "no" 表示禁止双重预定。
  • 值为 "yes" 表示允许双重预定。

此参数仅在创建资源日历时使用。

创建资源日历后,Calendar Server 将检查日历特性 (ics50calprops.db) 以决定是否允许双重预定。

要更改资源日历的日历特性以允许或禁止双重预定,请使用带 -k 选项的 csresource。

resource.default.acl

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

指定创建资源日历时使用的默认访问控制权限。

service.admin.alarm

"yes"

启用 ("yes") 或禁用 ("no") 管理工具的警报通知。

service.admin.calmaster.cred

" "

指定作为 Calendar Server 管理员的用户 ID 的密码。必须在安装过程中为安装程序提供此值。

service.admin.calmaster.userid

"calmaster"

指定作为 Calendar Server 管理员的用户的用户 ID。必须在安装过程中为安装程序提供此值。

service.admin.calmaster.overrides.accesscontrol

"no"

指定 Calendar Server 管理员是否可以覆盖访问控制。

service.admin.calmaster.wcap.allowgetmodifyuserprefs

"no"

指定 Calendar Server 管理员是否可以使用 WCAP 命令获得并设定用户首选项。

service.admin.checkpoint

"yes"

如果设置为 "yes",则启动 csadmind 数据库检查点线程。

service.admin.dbcachesize

"8388608"

Berkeley 数据库用于管理会话的最大缓存大小(以字节为单位)。

service.admin.deadlock

"yes"

如果设置为 "yes",则启动 csadmind 数据库死锁检测线程。

service.admin.diskusage

"no"

如果设置为 "yes",则启动 csadmind 低磁盘空间监视线程。

service.admin.enable

"yes"

如果设置为 "yes",则在启动所有服务时启动 csadmind 服务,并在停止所有服务时停止 csadmind。

service.admin.idletimeout

"120"

csadmind 中的 HTTP 连接超时前的秒数。

service.admin.ldap.enable

"yes"

如果设置为 "yes",则为 service.admin.calmaster.userid 中指定的用户启用用户验证 LDAP。

service.admin.maxsessions

"100"

允许的管理会话的最大数目。

service.admin.maxthreads

"10"

每个管理会话正在运行的线程的最大数目。

service.admin.numprocesses

 

允许的最大并行管理进程数目。

service.admin.port

**警告**

不可用

请勿自行设置此参数。此参数由系统设置。您无法在 Calendar Server 中进行远程管理。如果更改了此端口号,则可能无法启动 csadmind

service.admin.resourcetimeout

"900"

管理连接超时前的秒数。

service.admin.serverresponse

"no"

如果设置为 "yes",则启动 csadmind 服务响应线程。

service.admin.sessiondir.path

" "

管理会话请求的临时目录。

service.admin.sessiontimeout

"1800"

csadmind 中的 HTTP 会话超时前的秒数。

service.admin.sleeptime

"2"

两次检查已启动、已停止或已就绪的日历服务中间等待的秒数。

service.admin.starttime

"300"

启动日历服务前等待的秒数。

service.admin.stoptime

"300"

停止日历服务前等待的秒数。

service.admin.stoptime.next

"60"

两次向任意日历服务发送停止命令中间等待的秒数。

service.dcroot

"o=internet"

目录中 DC 树的根后缀。这是托管(虚拟)域模式支持所必需的。请参阅 移植到托管域环境

service.domainname

" "

本次安装的域名。

service.dnsresolveclient

"no"

如果设置为 "yes",则在允许 HTTP 访问时根据 DNS 检查客户端 IP 地址。

service.http.admins

"calmaster"

对此 Calendar Server 具有管理权限的用户 ID 列表,ID 之间用空格分隔。

service.http.allowadminproxy

"no"

如果设置为 "yes",则允许通过代理登录。

service.http.allowanonymouslogin

"yes"

如果设置为 "yes",则允许匿名(无登录名)访问。

service.http.calendarhostname

" "

用于检索 HTML 文档的 HTTP 主机。要允许用户使用全限定主机名访问日历数据,此值必须为正在运行 Calendar Server 的计算机的全权限定主机名(包括计算机名、DNS 域和后缀),例如 mycal@sesta.com。

如果不指定,则使用本地 HTTP 主机。

service.http.cookies

"yes"

通知服务器是否支持 Cookie (yes/no)。要启用单点登录,必须设置为 "yes"。

service.http.dbcachesize

"8388608"

Berkeley 数据库用于 HTTP 会话的最大缓存大小。

service.http.domainallowed

" "

如果指定,且不为 " ",则过滤以允许基于 TCP 域的访问。例如 "ALL:LOCAL.sesta.com" 将允许 sesta.com 域中的任何人进行本地 HTTP 访问。过滤器之间用 CR-LF(换行)分隔。

service.http.domainnotallowed

" "

如果指定,且不为 " ",则过滤以禁止基于 TCP 域的访问。例如 "ALL:LOCAL.sesta.com" 将拒绝 sesta.com 域中的任何人进行 HTTP 访问。过滤器之间必须用 CR-LF(换行)分隔。

service.http.attachdir.path

"."

临时存储导入文件的目录位置,与 local.queuedir(或指定的绝对路径)相对。

service.http.ipsecurity

"yes"

如果设置为 "yes",则引用现存会话的所有请求都被认为来自同一个 IP 地址。

service.http.enable

"yes"

如果设置为 "yes",则在启动所有服务时启动 cshttpd 服务,并在停止所有服务时停止 cshttpd。

service.http.idletimeout

"120"

HTTP 连接超时前的秒数。

service.http.ldap.enable

"yes"

如果设置为 "yes",则创建并维护验证和用户首选项的 LDAP 连接。

service.http.logaccess

"no"

如果设置为 "yes",则完全记录服务器的 HTTP 连接。

service.http.maxsessions

"5000"

cshttpd 服务中 HTTP 会话的最大数目。

service.http.maxthreads

"20"

cshttpd 服务中对服务 HTTP 请求的最大线程数。

service.http.numprocesses

"1"

在一台服务器上允许并行运行 HTTP 服务 (cshttpd) 进程的最大数目。

有关具有多个 CPU 的服务器的详细信息,请参阅在多个 CPU 中使用负载平衡

service.http.port

"80"

来自 Calendar Server 用户的 HTTP 请求的端口。

service.http.proxydomainallowed

" "

如果指定,且不为 " ",则过滤以允许基于 TCP 域的代理登录。它与 service.http.domainallowed 具有相同的语法。

service.http.resourcetimeout

"900"

HTTP 会话超时前的秒数。

service.http.sessiondir.path

"http"

HTTP 会话的临时目录。

service.http.sessiontimeout

"1800"

cshttpd 服务中的 HTTP 会话超时前的秒数。

service.http.sourceurl

" "

用于存储文件的所有 URL 引用的目录,与可执行文件相对。

service.http.tmpdir

"/var/opt/SUNWics5/tmp"

用于存储文件的所有 URL 引用的目录,与可执行文件相对。

service.http.uidir.path

"html"

包含默认日历客户端的目录。如果仅允许 WCAP 访问,则请设置为 ""。

service.http.renderhtml

"no"

启用或禁用在 Calendar Express 事件的“事件标题”和“说明”字段中渲染 HTML 和 JavaScript。

渲染不适用于事件的其他文本字段或任务的所有文本字段。

service.ldapmemcache

"no"

如果设置为 "yes",则使用 LDAP SDK 中的缓存。

service.ldapmemcachettl

"30"

如果 service.ldapmemcache 为 "yes",则将此值传递给 LDAP SDK。这是一个条目所允许的最大缓存秒数。如果设置为 0,则条目的缓存时间没有限制。

service.ldapmemcachesize

"131072"

如果 service.ldapmemcache 为 "yes",则将此值传递给 LDAP SDK。这是缓存将消耗的最大内存量(以字节为单位)。如果设置为 0,则缓存没有大小限制。

service.http.listenaddr

"INADDR_ANY"

在 Solaris 操作系统上,指定 HTTP 服务用于侦听客户端请求的 TCP 地址。"INADDR_ANY" 表示任意地址。

service.plaintextloginpause

"0"

成功使用纯文本密码验证用户后所延迟的秒数。

service.wcap.anonymous.allowpubliccalendarwrite

"yes"

如果设置为 "yes",则允许匿名用户写入可写入的公共日历。

service.wcap.format

"text/calendar"

指定当前仅应用于空闲/繁忙的默认命令输出格式。

service.wcap.freebusybegin

"30"

指定 get_freebusy 与当前时间的默认偏移(以天数为单位)的开始范围。

service.wcap.freebusyend

"30"

指定 get_freebusy 与当前时间的默认偏移(以天数为单位)的结束范围。

service.wcap.allowcreatecalendars

"yes"

如果设置为 "yes",则允许创建日历。

service.wcap.allowdeletecalendars

"yes"

如果设置为 "yes",则允许删除日历。

service.wcap.allowchangepassword

"no"

如果设置为 "yes",则允许用户通过此服务器更改密码。

service.wcap.allowpublicwritablecalendars

"yes"

如果设置为 "yes",则允许用户拥有可写入的公共日历。

service.wcap.allowsetprefs.cn

"no"

如果设置为 "yes",则允许使用 set_userprefs.wcap 属性修改用户首选项中的“cn”(LDAP 用户的通用名称)。

service.wcap.allowsetprefs.givenname

"no"

如果设置为 "yes",则允许使用 set_userprefs.wcap 属性修改用户首选项中的“givenname”(LDAP 用户的名)。

service.wcap.allowsetprefs.icsCalendar

"no"

如果设置为 "yes",则允许使用 set_userprefs.wcap 属性修改用户首选项中的“icsCalendar”(用户的默认日历标识符)。

service.wcap.allowsetprefs.mail

"no"

如果设置为 "yes",则允许使用 set_userprefs.wcap 属性修改用户首选项中的“mail”(用户的电子邮件地址)。

service.wcap.allowsetprefs.preferredlanguage

"no"

如果设置为 "yes",则允许使用 set_userprefs.wcap 属性修改用户首选项中的“preferredlanguage”(LDAP 用户的首选语言)。

service.wcap.allowsetprefs.sn

"no"

如果设置为 "yes",则允许使用 set_userprefs.wcap 属性修改用户首选项中的“sn”(LDAP 用户的姓)。

service.wcap.allowsetprefs.nswccalid

"no"

如果设置为 "yes",则允许使用 set_userprefs.wcap 属性修改用户首选项中的“nswccalid”(用户的默认日历 ID)。

service.wcap.login.calendar.publicread

"no"

如果设置为 "yes",则默认用户日历初始设置为公用读/专用写。如果设置为 "no",则默认用户日历初始设置为专用读/专用写。

service.wcap.userprefs.ldapproxyauth

"no"

如果设置为 "yes",则启用 get_userprefs.wcap 命令的 LDAP 代理验证。如果设置为 "no",则执行匿名的 LDAP 搜索。

service.wcap.validateowners

"no"

如果设置为 "yes",服务器必须验证以确保日历的每个属主都存在于目录中(通过 LDAP 或 CSAPI 兼容用户目录机制)。

service.wcap.version

"3.0"

WCAP 版本。

 

SSL 配置

表 E-5 显示了 ics.conf SSL 配置参数以及每个参数的默认值和说明。大多数的 SSL 参数使用默认值即可,但需要将其中两个参数从系统默认值更改为 SSL 值,如下所示:

表 E-5 显示了 ics.conf 参数及其默认设置。验证 ics.conf 参数具有正确的值。

表 E-5 SSL 配置参数 

参数

默认值

说明

encryption.rsa.nssslactivation

"on"

启用 SSL 的 RSA 算法加密族服务。

encryption.rsa.nsssltoken

"internal"

指定 RSA 算法加密族标记的位置。

encryption.rsa.nssslpersonalityssl

"SampleSSLServerCert"

指定 RSA 算法加密族的证书名称。

service.http.tmpdir

ì/var/opt/SUNWis5/tmp

指定临时路径。

service.http.uidir.path

ìhtml

指定找到 UI 文件的目录。

service.http.ssl.cachedir

"."

指定 SSL 缓存的物理路径位置。

service.http.ssl.cachesize

"10000"

指定 SSL 缓存数据库的最大大小。

service.http.ssl.usessl

"no"

要启用 SSL,将其设置为:"yes"

对于 SSL 配置,请将此值更改为 "yes"。

指定 cshttpd 进程是否应该使用 SSL 子系统。

service.http.ssl.port.enable

"no"

要启用 SSL,将其设置为:"yes"

对于 SSL 配置,请将此值更改为 "yes"。

指定 http 是否侦听 http 端口,从而使其成为 SSL 端口。

注意:这并没有阻止 http 进程侦听此相同端口。

service.http.ssl.port

"443"

为接收 Calendar Server 用户的 HTTPS 请求的 cshttpd 进程指定 SSL 端口号。

service.http.ssl.securelogin

"yes"

指定是否对登录加密。

service.http.ssl.securesession

"yes"

指定是否对整个会话加密。

service.http.ssl.certdb.path

"alias"

指定 SSL 证书数据库的物理路径位置。

service.http.ssl.certdb.password

"password"

指定 SSL 证书数据库的访问密码。

service.http.ssl.sourceurl

"https://localhost:443"

指定原始源 URL 的 SSL 主机名和端口号。

service.http.ssl.ssl2.ciphers

""

指定 SSL2 的加密算法。

service.http.ssl.ssl2.sessiontimeout

"0"

指定 SSL2 的会话超时时间。

service.http.ssl.ssl3.ciphers

"rsa_rc4_40_md5,
rsa_rc2_40_md5,
rsa_des_sha,
rsa_rc4_128_md5
,rsa_3des_sha"

指定支持的或有效的 SSL 加密算法的列表。

service.http.ssl.ssl3.sessiontimeout

"0"

指定 SSL 会话的超时值。

托管域配置

下表显示了托管(虚拟)域配置参数以及每个参数的默认值和说明。

表 E-6 托管域支持的配置参数 

参数

默认值

说明

service.virtualdomain.support

"n"

启用 ("y") 或禁用 ("n") 对托管(虚拟)域的支持。

local.schemaversion

"1"

指定 LDAP 模式的版本:

  • "1" = Sun LDAP Schema 1。请参阅 service.dcroot。
  • "2"= Sun LDAP Schema 2。请参阅 service.dcroot。

service.dcroot

" "

如果 local.schemaversion = "1",则指定 LDAP 目录中 DC 树的根后缀。例如:"o=internet"

service.schema2root

" "

如果 local.schemaversion = 2,则指定包含所有域的根后缀。例如:"o=sesta.com"

service.defaultdomain

" "

指定此 Calendar Server 实例的默认域。用于在登录过程中没有提供域名的情况。例如:sesta.com。

service.loginseparator

"@+"

指定 Calendar Server 解析 "userid[login-separator]domain" 时用于 login-separator 的分隔符字符串。Calendar Server 将依次尝试每一个分隔符。

service.siteadmin.userid

" "

指定域管理员的用户 ID。

 

警报通知配置

下表显示了警报通知服务器配置参数以及每个参数的默认值和说明。

表 E-7 ics.conf 文件中的警报通知配置参数 

参数

默认值

说明

alarm.diskstat.msgalarmdescription

"percentage calendar partition diskspace available"

随“磁盘空间不足”消息一起发送的说明。

alarm.diskstat.msgalarmstatinterval

"3600"

监视磁盘空间的时间间隔(以秒为单位)。

alarm.diskstat.msgalarmthreshold

"10"

发送警告消息时可用磁盘空间占总磁盘空间的百分比。

alarm.diskstat.msgalarmthresholddirection

"-1"

alarm.diskavail.msgalarmthreshold 是高于还是低于百分比。-1 表示低于,1 表示高于。

alarm.diskstat.msgalarmwarninginterval

"24"

发送“磁盘空间不足”警告消息的时间间隔(以小时为单位)。

alarm.diskavail.msgalarmdescription

"percentage calendar partition diskspace available"

当服务器遇到磁盘空间不足时发送的警告文本。

alarm.diskavail.msgalarmstatinterval

"3600"

服务器每次检查可用磁盘空间之间等待的秒数。

alarm.diskavail.msgalarmthreshold

"10"

触发服务器发送警告消息时可用磁盘空间占总磁盘空间的百分比。

alarm.diskavail.msgalarmthresholddirection

"-1"

alarm.diskavail.msgalarmthreshold 是高于还是低于可接受的百分比。-1 表示低于,1 表示高于。

alarm.diskavail.msgalarmwarninginterval

"24"

发送“磁盘空间不足”警告消息的时间间隔(以小时为单位)。

alarm.msgalarmnoticehost

"localhost"

用来发送服务器警报的 SMTP 服务器的主机名。

alarm.msgalarmnoticeport

"25"

用来发送服务器警报的 SMTP 端口。

alarm.msgalarmnoticercpt

"Postmaster@localhost"

服务器警报收件人的电子邮件地址。

alarm.msgalarmnoticesender

"Postmaster@localhost"

服务器警报发件人的电子邮件地址。

alarm.msgalarmnoticetemplate

""

电子邮件警报的默认格式:

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

alarm.responsestat.msgalarmdescription

"calendar service not responding"

随“无服务响应”消息一起发送的说明。

alarm.responsestat.msgalarmstatinterval

"3600"

监视服务的时间间隔(以秒为单位)。

alarm.responsestat.msgalarmthreshold

"100"

如果无服务响应,则只发送警告消息。

alarm.responsestat.msgalarmthresholddirection

"-1"

指定 alarm.responsestat.msgalarmthreshold 是否高于或低于百分比。-1 表示低于,1 表示高于。

alarm.responsestat.msgalarmwarninginterval

"24"

发送“无服务响应”警告消息的时间间隔(以小时为单位)。

日历查找数据库配置

下表显示了日历查找数据库 (CLD) 参数以及每个参数的默认值和说明。

表 E-8 ics.conf 文件中日历查找数据库 (CLD) 参数 

参数

默认值

说明

csapi.plugin.calendarlookup

"n"

启用 ("y") 或禁用 ("n") 日历查找插件。

csapi.plugin.calendarlookup.name

"*"

指定要装入的特定日历查找插件的名称。如果此值为星号 ("*"),Calendar Server 将装入所有插件。

caldb.cld.type

"local"

指定要使用的 CLD 插件的类型:

“local”指定将所有日历存储在运行 Calendar Server 的本地服务器上,并且不装入任何插件。

"directory" 指定 LDAP CLD 插件,该插件使用日历属主的 icsDWPHost LDAP 属性来决定存储指定日历的服务器。

caldb.dwp.server.default= "server-name"

" "

如果 LDAP 服务器数据库中的用户或资源日历条目没有 icsDWPHost 属性,则指定 Calendar Server 使用的全限定默认 DWP 服务器名。

如果通过 Calendar Express 或使用 WCAP 命令登录 Calendar Server 的用户没有 icsDWPHost 属性,Calendar Server 将使用此参数自动置备此属性。

如果用户已经有一个 icsDWPHost 属性,则不使用 caldb.dwp.server.default。

此名称必须能够被域名服务 (DNS) 解析成有效的 IP 地址。

caldb.cld.cache.enable

"yes"

启用 ("yes") 或禁用 ("no") 日历查找数据库 (CLD) 缓存选项。要获得 LDAP CLD 插件的最佳性能,请将其设置为 "yes"。

caldb.cld.cache.logfilesizemb

"10"

以兆字节为单位指定 CLD 缓存的检查点文件的最大大小。

caldb.cld.cache.mempoolsizemb

"4"

以兆字节为单位指定 CLD 缓存选项的共享大小。

caldb.cld.cache.maxthread

"1000"

指定 CLD 缓存选项的最大数据库线程数。

caldb.cld.cache.homedir.path

"."

指定 CLD 缓存选项的数据库事件、任务和警报文件的位置。默认值 "." 指定将这些文件存储在 cal_svr_base/var/opt/SUNWics5/csdb/cld_cache 目录中。

caldb.cld.cache.checkpointinterval

"60"

指定 CLD 缓存选项的检查点之间的时间间隔(以秒为单位)。

caldb.cld.cache.circularlogging

"yes"

指定为 CLD 缓存选项同步检查点文件后是否将它们删除。

caldb.dwp.server.host-name.ip = "host-name"

" "

指定存储日历数据库的服务器的主机名。该服务器必须正在运行 DWP 服务 (csdwpd)。此名称必须能够被域名服务 (DNS) 解析成有效的 IP 地址。此参数由 LDAP CLD 插件使用。

注意host-name 在参数的每个部分中都必须保持一致,并且是全限定名称。例如:

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

caldb.dwp.connthreshold

"1"

服务器建立新的网络连接前待处理请求的最大数目。

caldb.dwp.initconns

"2"

数据库有线协议服务客户端与每个数据库有线协议服务主机之间的初始连接数目。

caldb.dwp.initthreads

"2"

用于处理数据库有线协议服务请求的初始线程数。

caldb.dwp.maxcons

"1000"

允许使用数据库有线协议服务的最大服务器连接数目。

caldb.dwp.maxthreads

"20"

允许使用数据库有线协议服务的最大服务器线程数目。

caldb.dwp.md5

"n"

指定服务器是否对所有数据库有线协议服务请求执行 MD5(消息摘要 5)单向散列检查。(单向散列功能用于为消息验证生成数字签名。)

  • 值为 "n" 表示禁用 MD5 散列检查。
  • 值为 "y" 表示启用 MD5 散列检查。

caldb.dwp.server.hostname.ip

" "

为指定计算机主机名上使用数据库有线协议 (DWP) 服务的服务器指定 IP 地址。

caldb.dwp.server.hostname.port

"9779"

为指定计算机主机名上使用数据库有线协议 (DWP) 服务的服务器指定端口号。

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

" "

在前端服务器上,指定用于对到后端服务器的 DWP 连接进行验证的用户 ID。其中的 back-end-server 是服务器的名称。

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

" "

在前端服务器上,指定用来对到后端服务器的 DWP 连接进行验证的密码。其中的 back-end-server 是服务器的名称。

caldb.dwp.stacksize

"65536"

数据库有线协议服务线程的堆栈大小。

caldb.cld.directory.ldapbasedn

 

当在日历定位机制中使用 LDAP 插件时用于验证的基本 DN。

caldb.cld.directory.ldaphost

 

当在日历定位机制中使用 LDAP 插件时要访问的 LDAP 服务器的主机名。

caldb.cld.directory.ldapbindcred

 

当在日历定位机制中使用 LDAP 插件时,在 local.authldapbinddn 中指定的用户的绑定证书(密码)。

caldb.cld.directory.ldapbinddn

 

当在日历定位机制中使用 LDAP 插件时,用于绑定验证以搜索用户 DN 的 DN。

caldb.cld.directory.ldapport

"389"

当在日历定位机制中使用 LDAP 插件时,要访问的 LDAP 服务器的端口号。

csapi.plugin.authentication

"n"

如果设置为 "y",则只装入 csapi.plugin.authentication.name 中指定的插件;如果不指定,则按字母顺序装入所有验证类插件。验证时,将按字母顺序依次使用每个插件。

csapi.plugin.authentication.name

" "

如果 csapi.plugin.loadall 的值为 "n" 或 csapi.plugin.authentication 的值为 "y",则只装入特定插件。如果不指定或为 " ",则装入所有验证类插件。

logfile.dwp.buffersize

"0"

数据库有线协议服务日志缓冲区的大小(以字节为单位)。

logfile.dwp.expirytime

"604800"

数据库有线协议服务日志文件过期前的秒数。

logfile.dwp.flushinterval

"60"

对数据库有线协议服务日志文件进行缓冲区刷新之间的间隔秒数。

logfile.dwp.logdir

"logs"

数据库有线协议服务日志文件的目录位置。

logfile.dwp.loglevel

"Notice"

决定服务器记录数据库有线协议服务细节的级别。每个数据库有线协议日志条目被指定以下级别之一(从最严重的级别开始):Critical、Error、Warning、Notice、Information 和 Debug。如果将此首选项设置为 Critical,服务器将记录最少的细节。如果希望服务器记录最多的细节,请指定 Debug。例如,如果指定 Warning,将只记录 Critical、Error 和 Warning 级别的日志条目。

logfile.dwp.maxlogfiles

"10"

日志目录中数据库有线协议相关日志文件的最大数目。

logfile.dwp.maxlogfilesize

"2097152"

每个数据库有线协议日志文件的最大大小(以字节为单位)。

logfile.dwp.maxlogsize

"20971520"

所有数据库有线协议日志文件的最大磁盘空间(以字节为单位)。

logfile.dwp.minfreediskspace

"5242880"

记录数据库有线协议服务活动所必需的最小可用磁盘空间(以字节为单位)。达到此值后,服务器将通过使旧日志文件过期来释放磁盘空间。如果没有可以释放的空间,所有记录操作都将暂停。

logfile.dwp.rollovertime

"86400"

数据库有线协议服务日志文件旋转前的秒数。

service.dwp.admin.userid

" "

在后端服务器上,指定用来验证 DWP 连接的用户 ID。此参数为可选参数。如果后端服务器不指定用户 ID,则不执行验证。

service.dwp.admin.cred

" "

在后端服务上,指定用来对 DWP 连接进行验证的密码。此参数为可选参数。如果后端服务器不指定密码,则不执行验证。

service.dwp.calendarhostname

"localhost"

运行数据库有线协议服务的计算机的主机名。

service.dwp.maxthreads

"1000"

并行运行的数据库有线协议服务线程的最大数目。

service.dwp.numprocesses

"1"

一台服务器上允许并行运行数据库有线协议 (DWP) 服务 (csdwpd) 进程的最大数目。

有关具有多个 CPU 的服务器的详细信息,请参阅在多个 CPU 中使用负载平衡

service.dwp.enable

"no"

如果设置为 "yes",则在启动所有服务时启动 csdwpd 服务,并在停止所有服务时停止 csdwpd。

service.dwp.idletimeout

"86400"

关闭空闲数据库有线协议服务持久性连接之前的秒数。

service.dwp.port

"59779"

数据库有线协议服务侦听的端口号。此值为 LDAP CLD 插件的默认端口。

service.dwp.ldap.enable

"yes"

启用 ("yes") 或禁用 ("no") 数据库有线协议服务 (csdwpd) 的远程用户验证的 LDAP。

service.calendarsearch.ldap

"yes"

指定 Calendar Server 是先搜索 LDAP 目录,然后搜索日历数据库 ("yes") 还是只搜索日历数据库 ("no")。

单点登录 (SSO) 配置

 

通过 Identity Server 配置 SSO

下表显示了使用 Identity Server 时的 SSO 配置参数以及每个参数的默认值和说明。

表 E-9 ics.conf 文件中的 SSO 配置参数(通过 Identity Server) 

参数

默认值

说明

local.calendar.sso.singlesignoff

"yes"

启用 ("yes") 或禁用 ("no") Calendar Server 的 SSO。

local.calendar.sso.amcookiename

ìiPlanetDirectoryPro_

指定 Identity Server SSO Cookie 的名称。

local.calendar.sso.amnamingurl

http://IdentityServer:port/amserver/namingservice

指定 Identity Server SSO 命名服务的 URL

local.calendar.sso.amloglevel

3

指定 Identity Server SSO 的日志级别。取值范围从 1(静默)到 5(详细)。

local.calendar.sso.logname

ìam_sso.log_

指定 Identity Server SSO API 日志文件名。

 

通过通信服务器信任环技术配置 SSO

下表显示了使用通信服务器信任环技术时的 SSO 配置参数以及每个参数的默认值和说明。

表 E-10 ics.conf 文件中使用通信服务器信任环技术的 SSO 配置参数  

参数

默认值

说明

sso.appid

"ics50"

用于此 Calendar Server 安装的唯一应用程序 ID。每个信任的应用程序也必须有一个唯一的应用程序 ID。例如:sso.appid="ics50"

sso.appprefix

"ssogrp1"

用于格式化 SSO Cookie 的前缀值。所有信任的应用程序必须使用相同的值,因为 Calendar Server 只能识别带有此前缀的 SSO Cookie。

应用程序前缀不能以连字符 (-) 结束,因为 Calendar Server 会在值后面添加一个连字符。例如:

sso.appprefix="ssogrp1"

sso.appid.url

 

为 sso.appid 指定的值的验证 URL。例如:sso.ics50.url="http://siroe.com:80/default.html"

sso.nnn.ip

sso.appid.ip

为 sso.appid 指定的值的 IP 地址。例如:sso.ics50.ip="123.12.456.123"

sso.cookiedomain

"."

指定浏览器只将 Cookie 发送到指定域中的服务器。

值必须以句点 (.) 开始。例如:

".sesta.com"

sso.enable

"1"

启用或禁用 SSO:

  • 设置为 "1"(默认值)则启用 SSO 功能。
  • 设置为 "0" 则禁用 SSO 功能。

如果 ics.conf 文件中不存在此参数,Calendar Server 将忽略 SSO 功能。

sso.singlesignoff

"true"

如果设置为 "true",当与 sso.appprefix 的值匹配的用户注销时,服务器将删除该用户的所有 SSO Cookie。如果设置为 "false",服务器将只删除其 SSO 用户 Cookie。

sso.userdomain

" "

设置用作用户 SSO 验证一部分的域。

sso.appid.url = "verifyurl"

" "

指定对等 SSO 主机的验证 URL 值。每个信任的对等 SSO 主机都需要一个参数。

appid 是包含可信 SSO Cookie 的对等 SSO 主机的应用程序 ID。对于 Calendar Server,appid 为 ics50。

“verifyurl”标识可信对等 SSO 主机的 URL,格式如下:http://host:port/VerifySSO?。VerifySSO 后面的问号 (?) 不能省略。

“host”表示主机的 URL,“port”表示主机的端口号。

例如,对于 URL 为 sesta.com,端口号为 8883 的 Calendar Server,则为:

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

组计划引擎 (GSE) 配置

下表显示了组计划引擎 (GSE) 配置参数以及每个参数的默认值和说明。

表 E-11 ics.conf 文件中的组计划引擎 (GSE) 配置参数 

参数

默认值

说明

gse.autorefreshreplystatus

"yes"

指定是否启用或禁用自动刷新功能。如果启用自动刷新功能,当某个参与者回复事件组织者后,该参与者的回复状态信息将自动传递给该计划事件的其他参与者。

  • 设置为 "yes" 将启用自动刷新。
  • 设置为 "no" 则禁用自动刷新。

gse.belowthresholdtimeout

"3"

指定服务器扫描计划队列中的传入作业之前等待的秒数。如果队列中的作业数目大于分配的最大线程数,最后一个线程始终会重新扫描作业队列。因此,此设置仅在作业数目少于分配的最大线程数时才有效。

增加该值可以减少服务器扫描作业队列的频率,改进总体性能。

gse.maxthreads

"10"

指定服务器处理计划队列时使用的最大并行线程数。每个线程处理队列中的一个作业。

gse.retryexpiredinterval

"86400"

指定服务器重新尝试完成组计划作业所需的最长时间(以秒为单位)。如果所用时间超过指定的最长时间,服务器将此作业按重试过期的情况处理,并报告此错误。

请注意,默认值为 86400 秒,即一天。

gse.retryinterval

"300"

指定服务重试以前失败的作业的频率(以秒为单位)。仅当出现网络错误时,服务器才会重试失败的作业。但服务器会将大多数网络错误作为致命错误而不是作为重试处理。

gse.stacksize

"65535"

指定组计划线程的最大堆栈大小(以字节为单位)。

数据库配置

下表显示了数据库配置参数以及每个参数的默认值和说明。

表 E-12 ics.conf 文件中的数据库配置参数 

参数

默认值

说明

caldb.berkeleydb.checkpointinterval

"60"

指定检查点数据库事务的时间间隔(以秒为单位)。

caldb.berkeleydb.circularlogging

"yes"

如果设置为 "yes",则在同步数据库检查点文件的事务后删除该文件。

caldb.berkeleydb.deadlockinterval

"100"

检查需要中断的数据库死锁的时间间隔(以毫秒为单位)。

caldb.berkeleydb.homedir.path

"."

存储数据库事件、任务和警报文件的目录(相对于可执行程序文件或指定的绝对路径)。默认值为 ".",它指定:

cal_svr_base/var/opt/SUNWics5/csdb

caldb.berkeleydb.logfilesizemb

"10"

数据库检查点文件的最大字节数(以兆字节为单位)。

caldb.berkeleydb.maxthreads

"10000"

数据库环境必须准备容纳的最大线程数。

caldb.berkeleydb.mempoolsizemb

"4"

数据库环境的共享内存(以兆字节为单位)。

caldb.calmaster

" "

用于管理数据库的用户或别名的电子邮件。

caldb.counters

"yes"

如果设置为 "yes",将计算数据库统计信息(读取、写入和删除)。

caldb.counters.maxinstances

"100"

可以拥有计数器的最大日历数目。可使用 cscal 命令行实用程序启用日历的计数器。

caldb.smtpmsgfmtdir

"en"

指定 cal_svr_base/etc/opt/SUNWics5/config 下包含用来格式化电子邮件通知的本地化版本文件的目录。

例如,"en" 指定英文本地化版本的目录,而 "fr" 指定法文本地化版本的目录。

caldb.smtpport

"25"

SMTP 主机的端口。

用于 ENS 消息的日历数据库参数

表 E-13 介绍了参数、默认值和说明。如果需要除默认值以外的值,必须将此参数添加到 ics.conf 文件中。

表 E-13 用于 ENS 消息的日历数据库参数 

参数

默认值

说明

caldb.serveralarms.url 

"enp:///ics/alarm"

指定 ENS 消息的 URL。

caldb.serveralarms.contenttype

""

指定消息数据的内容类型。有效值为 "text/xml "或 "text/calendar"。

caldb.berkeleydb.ensmsg.createcal

"no"

创建日历时创建 ENS 消息。

caldb.berkeleydb.ensmsg.createcal.url

"enp:///ics/calendarcreate"

指定 ENS 消息的 URL。

caldb.berkeleydb.ensmsg.createcal.contenttype

"text/xml"

指定消息数据的内容类型:"text/xml"(默认值)或 "text/calendar"。

caldb.berkeleydb.ensmsg.deletecal

"no"

删除日历时创建 ENS 消息。

caldb.berkeleydb.ensmsg.deletecal.url

"enp:///ics/calendardelete"

指定 ENS 消息的 URL。

caldb.berkeleydb.ensmsg.deletecal.contenttype

"text/xml"

指定消息数据的内容类型:"text/xml"(默认值)或 "text/calendar"。

caldb.berkeleydb.ensmsg.modifycal

"no"

修改日历时创建 ENS 消息。

caldb.berkeleydb.ensmsg.modifycal.url

"enp:///ics/calendarmodify"

ENS 消息的 URL。

caldb.berleleydb.ensmsg.modifycal.contenttype

"text/xml"

指定消息数据的内容类型:"text/xml"(默认值)或 "text/calendar"。

caldb.berkeleydb.ensmsg.createevent

"no"

创建事件时创建 ENS 消息。

caldb.berkeleydb.ensmsg.createevent.url

"enp:///ics/caleventcreate"

指定 ENS 消息的 URL。

caldb.berleleydb.ensmsg.createevent.contenttype

"text/xml"

指定消息数据的内容类型:"text/xml"(默认值)或 "text/calendar"。

caldb.berkeleydb.ensmsg.modifyevent

"no"

修改事件时创建 ENS 消息。

caldb.berkeleydb.ensmsg.modifyevent.url

"enp:///ics/caleventmodify"

指定 ENS 消息的 URL。

caldb.berleleydb.ensmsg.modifyevent.contenttype

"text/xml"

指定消息数据的内容类型:"text/xml"(默认值)或 "text/calendar"。

caldb.berkeleydb.ensmsg.deleteevent

"no"

删除事件时创建 ENS 消息。

caldb.berkeleydb.ensmsg.deleteevent.url

"enp:///ics/caleventdelete"

指定 ENS 消息的 URL。

caldb.berkeleydb.ensmsg.deleteevent.contenttype

"text/xml"

指定消息数据的内容类型:"text/xml"(默认值)或 "text/calendar"。

caldb.berkeleydb.ensmsg.createtodo

"no"

创建待办事件时创建 ENS 消息。

caldb.berkeleydb.ensmsg.createtodo.url

"enp:///ics/caltodocreate"

指定 ENS 消息的 URL。

caldb.berleleydb.ensmsg.createtodo.contenttype

"text/xml"

指定消息数据的内容类型:"text/xml"(默认值)或 "text/calendar"。

caldb.berkeleydb.ensmsg.modifytodo

"no"

修改待办事件时创建 ENS 消息。

caldb.berkeleydb.ensmsg.modifytodo.url

"enp:///ics/caltodomodify"

指定 ENS 消息的 URL。

caldb.berleleydb.ensmsg.modifytodo.contenttype

"text/xml"

指定消息数据的内容类型:"text/xml"(默认值)或 "text/calendar"。

caldb.berkeleydb.ensmsg.deletetodo

"no"

删除待办事件时创建 ENS 消息。

caldb.berkeleydb.ensmsg.deletetodo.url

"enp:///ics/caltododelete"

指定 ENS 消息的 URL。

caldb.berkeleydb.ensmsg.deletetodo.contenttype

"text/xml"

指定消息数据的内容类型:"text/xml"(默认值)或 "text/calendar"。

Calendar Server API 配置

表 E-14 显示了 Calendar Server API (CSAPI) 配置参数以及每个参数的默认值和说明。

表 E-14 ics.conf 文件中的 CSAPI 配置参数 

参数

默认值

说明

csapi.plugin.authentication

"n"

如果设置为 "y",则只装入在 csapi.plugin.authentication.name 中指定的插件。

csapi.plugin.accesscontrol

"n"

启用 ("y") 或禁用 ("n") 访问控制插件。

csapi.plugin.authentication

"n"

如果设置为 "y",则只装入在 csapi.plugin.authentication.name 中指定的插件;如果不指定,则按字母顺序装入所有验证类插件。验证时,将按字母顺序依次使用每个插件。

csapi.plugin.authentication.name

" "

如果 csapi.plugin.loadall 的值为 "n" 或 csapi.plugin.authentication 的值为 "y",则只装入特定插件。如果不指定或为 " ",则装入所有验证类插件。

csapi.plugin.database

"y"

如果设置为 "y",则只装入在 csapi.plugin.database.name 中指定的插件;如果不指定,则按字母顺序装入所有数据库插件。

csapi.plugin.database.name

"cs_caldb_berkeley10"

如果 csapi.plugin.loadall 的值为 "n" 且 csapi.plugin.database 的值为 "y",则只装入此插件。如果不指定或为 " ",则按字母顺序装入所有数据库插件。

csapi.plugin.datatranslator

"y"

如果设置为 "y",则只装入在 csapi.plugin.datatranslator.name 中指定的插件;如果不指定,则按字母顺序装入所有数据转换器插件。转换数据时,将按字母顺序依次使用每个插件。

csapi.plugin.datatranslator.name

"cs_datatranslatorcsv10"

如果 csapi.plugin.loadall 的值为 "n" 且 csapi.plugin.datatranslator 的值为 "y",则使用此参数。如果不指定或为 " ",则装入所有数据转换器类插件。否则,只装入此特定插件。

csapi.plugin.dbtranslator

"y"

启用 ("y") 或禁用 ("n") 数据库输出格式插件。

csapi.plugin.dbtranslator.name

"*"

如果将 csapi.plugin.dbtranslator 设置为 "y",则:

如果此值为 "*",则装入所有数据库输出格式插件。

如果此值为库名,则只装入此特定插件。

如果 csapi.plugin.dbtranslator 的值为 "n",则忽略此设置。

csapi.plugin.loadall

"n"

如果设置为 "y",则装入插件目录中的所有插件。对于 Solaris 操作系统,这些插件都有一个 .so 扩展名。

如果设置为 "n",则只装入由相应参数标记的特定类插件。例如,如果将 csapi.plugin.authentication 设置为 "yes",则装入验证类插件。

csapi.plugin.userprefs

"n"

如果设置为 "y",则只装入在 csapi.plugin.userprefs.name 中指定的插件;如果不指定,则按字母顺序装入所有用户首选项类插件。对于用户首选项,将按字母顺序依次使用每个插件。

csapi.plugin.userprefs.name

" "

如果 csapi.plugin.loadall 的值为 "n" 且 csapi.plugin.userprefs 的值为 "y",则使用此参数。如果不指定或为 " ",则装入所有用户首选项类插件。否则,只装入此特定插件。

事件通知服务 (ENS) 配置

可将 Calendar Server 配置为使用外部通用服务,即事件通知服务 (ENS),该服务接受服务器级别的事件(可按特定的兴趣区域归类)报告,然后通知其他已注册的对某些事件感兴趣的服务器。Calendar Server 使用 ENS 发送和接收警报通知,包括日历事件和任务的创建、删除或修改以及常规操作警告和错误消息。

表 E-15 显示了 ics.conf 文件中的事件通知服务 (ENS) 配置参数以及每个参数的默认值和说明。

表 E-15 ics.conf 文件中的事件通知服务 (ENS) 配置参数 

参数

默认值

说明

service.ens.enable

"yes"

如果设置为 "yes",则在启动所有服务时启动 enpd 服务,并在停止所有服务时停止 enpd。

service.ens.host

"localhost"

运行事件通知服务的计算机的主机名。

service.ens.port

"57997"

运行事件通知服务的计算机的端口号。

service.ens.library

"xenp"

事件通知服务插件的名称。

service.notify.enable

"yes"

如果设置为 "yes",则在启动所有服务时启动 csnotifyd 服务,并在停止所有服务时停止 csnotifyd。

service.notify.maxretrytime

"-1"

联系事件通知服务失败时 csnotifyd 连续重试的次数。

“-1”表示让警报线程无限期地重试。

service.notify.retryinterval

"3"

连接失败后 csnotifyd 尝试重新联系事件通知服务之前等待的秒数。

service.notify.startupretrytime

"0"

Calendar Server 在停止之前尝试联系事件通知服务的总秒数。此设置类似于 caldb.serveralarms.maxretrytime 的设置,不同之处在于它仅应用于第一次启动警报线程时。成功启动警报线程后,将使用 caldb.serveralarms.maxretrytime。

若设置为 "0",则指示警报线程如果在启动时无法连接事件通知服务,则立即退出。

ens.startlistener

"0"

可接受的值为:

caldb.berkeleydb.alarmretrytime

"300"

出现可恢复的警报发送错误后重试的时间(以秒为单位)。

caldb.berkeleydb.ensmsg.createcal

"no"

如果设置为 "yes",则在创建日历时使用以下格式创建事件通知服务消息:

enp://ics/createcal?calid=cal

caldb.berkeleydb.ensmsg.modifycal

"no"

如果设置为 "yes",则在修改日历时使用以下格式创建事件通知服务消息:

enp://ics/modifycal?calid=cal

caldb.berkeleydb.ensmsg.deletecal

"no"

如果设置为 "yes",则在删除日历时使用以下格式创建事件通知服务消息:

enp://ics/deletecal?calid=cal

caldb.berkeleydb.ensmsg.advancedtopics

"no"

指定如何发布修改事件通知:

  • "yes" — 通过发布到以下不同的主题来区别回复、刷新或修改事务的修改事件通知:caldb.berkeleydb.ensmsg.replyevent、caldb.berkeleydb.ensmsg.refreshevent 或 caldb.berkeleydb.ensmsg.modifyevent
  • "no" — 将修改事件通知发布到 caldb.berkeleydb.ensmsg.modifyevent 主题,不管该事务是回复、刷新还是修改。

caldb.berkeleydb.ensmsg.createevent

"no"

如果设置为 "yes",则在创建事件时创建事件通知服务消息。

caldb.berkeleydb.ensmsg.deleteevent

"no"

如果设置为 "yes",则在删除事件时创建 ENS 消息。

caldb.berkeleydb.ensmsg.modifyevent

"no"

如果设置为 "yes",则在修改事件时创建 ENS 消息。

caldb.berkeleydb.ensmsg.refreshevent

"no"

指定 Calendar Server 是否在刷新事件时创建 ENS 消息("yes" 或 "no")。

caldb.berkeleydb.ensmsg.refreshevent.contenttype

"text/xml"

指定刷新事件的消息数据的内容类型。有效值为 "text/xml" 或 "text/calendar"。

caldb.berkeleydb.ensmsg.refreshevent.url

"enp:///ics/caleventrefresh"

指定刷新事件的 ENS 消息的 URL。

caldb.berkeleydb.ensmsg.replyevent

"no"

指定 Calendar Server 是否为回复事件创建 ENS 消息("yes" 或 "no")。

caldb.berkeleydb.ensmsg.replyevent.contenttype

"text/xml"

指定回复事件的消息数据的内容类型。有效值为 "text/xml" 或 "text/calendar"。

caldb.berkeleydb.ensmsg.replyevent.url

"enp:///ics/caleventreply"

指定回复事件的 ENS 消息的 URL。

caldb.berkeleydb.ensmsg.createtodo

"no"

如果设置为 "yes",则在创建待办事件(任务)时使用以下格式创建事件通知服务消息:

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

caldb.berkeleydb.ensmsg.modifytodo

"no"

如果设置为 "yes",则在修改任务时使用以下格式创建事件通知服务消息:

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

caldb.berkeleydb.ensmsg.deletetodo

"no"

如果设置为 "yes",则在删除任务时使用以下格式创建事件通知服务消息:

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

caldb.berkeleydb.ensmsg.qsize

"10000"

内存内的事件通知服务 (ENS) 消息队列的初始大小。此队列存储除警报提醒通知以外的所有 ENS 消息。

caldb.berkeleydb.ensmsg.schedreq

"no"

如果设置为 "yes",则在删除写入日历的计划请求时使用以下格式创建事件通知服务消息:

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

caldb.serveralarms

"yes"

如果设置为 "yes",则发送警报电子邮件。

caldb.serveralarms.acktimeout

"30"

指定在发布警报通知后事件通知服务器的警报线程等待 csnotifyd 确认的秒数。如果超时,警报线程将假定不再处理警报通知并再次发布警报通知。

caldb.serveralarms.dispatchtype

"ens"

指定 Calendar Server 警报的分发类型:

  • “ens”让服务器使用外部事件通知服务发送和接收警报。
  • “smtp”让服务器将警报作为标准 SMTP 消息发送,并绕过事件通知服务。

caldb.serveralarms.initthreads

"10"

事件通知服务的初始线程数。

caldb.serveralarms.maxretrytime

"-1"

联系事件通知服务失败时警报线程连续重试的次数。

“-1”表示让警报线程无限期地重试。

caldb.serveralarms.maxthreads

"10"

事件通知服务的最大线程数。

caldb.serveralarms.retryinterval

"5"

警报线程(在 csadmind 中)在尝试重新联系事件通知服务之前等待的秒数。

caldb.serveralarms.stacksize

"65536"

事件通知服务线程的堆栈帧大小。

caldb.serveralarms.startupretrytime

"0"

Calendar Server 在失败之前尝试联系事件通知服务的总秒数。此设置类似于 caldb.serveralarms.maxretrytime 的设置,不同之处在于它仅应用于第一次启动警报线程时。成功启动警报线程后,将使用 caldb.serveralarms.maxretrytime。

若设置为 "0",则指示警报线程如果在启动时无法连接事件通知服务,则立即退出。

caldb.smtphost

"localhost"

将警报电子邮件发送到此 SMTP 主机。

用户界面 (UI) 配置

下表显示了用户界面 (UI) 配置参数以及每个参数的默认值和说明。

表 E-16 ics.conf 文件中的用户界面配置参数 

参数

默认值

说明

ui.config 文件

" "

Calendar Server 可以在启动时读取可选的(基于 xml)、可以隐藏部分用户界面的配置文件。Calendar Server 只允许有一个配置文件,此设置的值确定要使用的文件的名称。Calendar Server 在其中查找用户界面 xml 和 xslt 文件的数据目录是:

cal_svr_base/opt/SUNWics5/cal/data

Calendar Server 提供了以下文件,这些文件提供用户界面的自定义版本:

  • nogroup_config.xml ó 禁用组计划
  • ui_config.xml ó 默认用户界面

ui.allow.anyone

"yes"

允许 Calendar Express 显示并使用“Everybody”(每人)访问控制列表 (ACL)。

ui.allow.domain

"no"

允许 Calendar Express 显示并使用“This Domain”(此域)访问控制列表 (ACL)。

ui.proxyaddress.url

" "

指定要放在 HTML UI JavaScript 文件前面的代理服务器的地址。例如:"https://web_portal.sesta.com/"

ui.base.url

" "

指定基本服务器地址。例如:"https://proxyserver"

ine.invitation.enable

"yes"

控制事件邀请通知:

"yes" — 发送通知。

"no" — 不发送通知。

ine.cancellation.enable  

"yes"

控制取消事件的通知:

"yes" — 发送通知。

"no" — 不发送通知。

ui.eventdialog.inform.enable

"no"

指定在用户创建或编辑事件时,Calendar Express 是否显示“通知事件”选项。

ui.toolbar.repainting.enable

"yes"

启用 ("yes") 或禁用 ("no") Calendar Express 工具栏的重画(或刷新)。

设置为 "no" 可改进性能,因为不必为工具栏执行 XML 和 XSLT 转换。如果设置为 "no",在任何视图上单击“刷新”,用户都将返回 Calendar Express 的默认视图。

如果启用了浏览器高速缓存选项(下一个参数),将不使用工具栏重画选项。

browser.cache.enable

"no"

启用 ("yes") 或禁用 ("no") 浏览器高速缓存选项。有关详细信息,请参阅使用“刷新视图”选项

render.xslonclient.enable

"yes"

启用 ("yes") 或禁用 ("no") 通过将 XSLT 处理下载到最终用户的浏览器来进行客户端渲染。有关详细信息,请参阅客户端浏览器中的 XSL 渲染

 


csmonitor 实用程序配置

下表显示了 csmonitor 实用程序配置参数以及每个参数的默认值和说明。

表 E-17 ics.conf 文件中的 csmonitor 实用程序配置参数 

参数

默认值

说明

service.monitor.continuous

"0"

指定 csmonitor 是否应持续循环:

"0" — 不持续循环。

"1" — 持续循环。

此选项需要更多的系统资源,但在调试模式中非常有用。

service.monitor.loopsdelay

"60"

指定两次监视循环之间的延迟秒数。

service.monitor.emailaddress.from

指定 csmonitor 从中发送消息的电子邮件地址。

service.monitor.emailaddress.to

指定 csmonitor 向其发送消息的电子邮件地址。

service.monitor.csdb.logthreshold

"90"

以总磁盘空间百分比的形式指定一个阈值,该值代表被视为正常的最大磁盘空间占用率。如果日历数据库(csdb 目录)所在磁盘的占用率超过该值,csmonitor 将发送警告电子邮件消息。

logfile.monitor.logname

"csmonitor.log"

指定 csmonitor 日志文件的名称。

logfile.monitor.maxlogfilesize

"2097152"

指定日志文件的最大大小。如果日志文件超过此值,csmonitor 将日志另存为 csmonitor.log.timestamp,然后重置日志。

service.monitor.dbglevel

"0"

指定调试级别。值越高,csmonitor 发送的消息就越精确,越详细。

 


计数器配置文件 (counter.conf)

Calendar Server 计数器(统计信息)配置参数存储在以下文件中:

cal_svr_base/etc/opt/SUNWics5/config/counter.conf

counter.conf 文件是一个 ASCII 文本文件,其中的每一行定义一个计数器以及该计数器的参数:名称、类型、大小(以字节为单位)和说明。带空格的参数必须括在双引号 (" ") 中。每个注释行都以感叹号 (!) 开头。注释行仅用于提示性目的。

计数器名称的第一部分标识与 csstats 实用程序一起使用的计数器对象。有关命令行实用程序的详细信息,请参阅附录 D“Calendar Server 命令行实用程序参考”


注意

如果没有客户支持工作人员的指导,请勿修改 counter.conf 文件。


本节介绍 Calendar Server counter.conf 参数,包括以下内容:

警报计数器

下表显示了每个警报计数器的名称、类型、大小和说明。

表 E-18 counter.conf 文件中的警报计数器 

名称

类型

大小

说明

alarm.high

计量器

4

过去记录的最高值。

alarm.low

计量器

4

过去记录的最低值。

alarm.current

计量器

4

当前监视的值。

alarm.warningstate

计量器

4

警告状态:是 (1) 或否 (0)。

alarm.countoverthreshold

计数器

4

超出阈值的次数。

alarm.countwarningsent

计数器

4

已发送警告的次数。

alarm.timelastset.desc

时间

4

上次设置当前值的时间。

alarm.timelastwarning

时间

4

上次发送警告的时间。

alarm.timereset

时间

4

上次执行重置的时间。

alarm.timestatechanged.desc

时间

4

上次更改警告状态的时间。

磁盘使用计数器

下表显示了每个磁盘使用计数器的名称、类型、大小和说明。

表 E-19 counter.conf 文件中的磁盘使用计数器 

名称

类型

大小

说明

diskusage.availSpace

计量器

5

磁盘分区中总的可用空间。

diskusage.lastStatTime

时间

4

上次记录统计信息的时间。

diskusage.calPartitionPath

字符串

512

日历分区路径。

diskusage.percentAvail

计量器

4

磁盘分区可用空间的百分比。

diskusage.totalSpace

计量器

5

磁盘分区的总空间。

HTTP 计数器

下表显示了每个 HTTP 计数器的名称、类型、大小和说明。

表 E-20 counter.conf 文件中的 HTTP (httpstat) 计数器 

名称

类型

大小

说明

httpstat.avgConnectionTime

计量器

4

平均连接响应次数。

httpstat.currentStartTime

时间

4

启动 Calendar Server 的时间。

httpstat.lastConnectionTime

时间

4

上次接受新客户端连接的时间。

httpstat.maxConnections

计数器

4

提供并行连接的最大数目。

httpstat.maxSessions

计数器

4

提供的 WCAP 会话的最大数目。

httpstat.numConnections

计数器

4

提供的连接总数目。

httpstat.numCurrentConnections

计量器

4

当前活动连接的数目。

httpstat.numCurrentSessions

计量器

4

WCAP 会话的当前数目。

httpstat.numFailedConnections

计数器

4

提供的失败连接的总数目。

httpstat.numGoodLogins.desc

计数器

4

当前 HTTP 服务器提供的成功登录的数目。

httpstat.numFailedLogins

计数器

4

当前 HTTP 服务器提供的失败登录的数目。

组计划计数器

下表显示了每个组计划引擎 (GSE) 计数器的名称、类型、大小和说明。

表 E-21 counter.conf 文件中的组计划引擎 (GSE) 计数器 

名称

类型

大小

说明

gsestat.lastWakeUpTime

时间

4

上次 GSE 唤醒并处理作业的时间。

gsestat.lastJobProcessedTime

时间

4

上次 GSE 处理作业的时间。

gsestat.numJobsProcessed

计数器

4

GSE 已处理的作业总数目。

gsestat.numActiveWorkerThreads

计数器

4

活动工作线程的总数目。

验证计数器

下表显示了每个验证计数器的名称、类型、大小和说明。

表 E-22 counter.conf 文件中的验证 (authstat) 计数器 

名称

类型

大小

说明

authstat.lastLoginTime

时间

4

上次用户登录的时间。

authstat.numSuccessfulLogins

计数器

4

提供的成功登录的总数目。

authstat.numFailedLogins

计数器

4

提供的失败登录的总数目。

WCAP 计数器

下表显示了每个 WCAP 计数器的名称、类型、大小和说明。

表 E-23 counter.conf 文件中的 WCAP (wcapstat) 计数器 

名称

类型

大小

说明

wcapstat.numRequests

计数器

4

WCAP 请求的总数目。

数据库计数器

下表显示了每个数据库计数器的名称、类型、大小和说明。

表 E-24 counter.conf 文件中的数据库 (dbstat) 计数器 

名称

类型

大小

说明

dbstat.numReads

计数器

4

读取数据库的总次数。

dbstat.numWrites

计数器

4

写入数据库的总次数。

dbstat.numDeletes

计数器

4

删除数据库的总次数。

dbstat.lastReadTime

时间

4

上次读取数据库的时间。

dbstat.lastWriteTime

时间

4

上次写入数据库的时间。

dbstat.lastDeleteTime

时间

4

上次删除数据库的时间。

服务器响应计数器

下表显示了每个服务器响应计数器的名称、类型、大小和说明。

表 E-25 counter.conf 文件中的服务器响应计数器 

名称

类型

大小

刻度

说明

serverresponse.lastStatTime

时间

4

 

上次记录统计信息的时间。

serverresponse.responseTime

计量器

4

2

服务器的响应时间(以毫秒为单位)。

会话状态计数器

下表显示了每个会话状态计数器的名称、类型、大小和说明。

表 E-26 counter.conf 文件中的会话状态计数器 

名称

类型

大小

刻度

说明

sessstat.maxSessions.desc

计数器

4

4

提供的 HTTP 会话的最大数目。

sessstat.numCurrentSessions

计量器

4

2

HTTP 会话的当前数目。


通知消息

表 E-27 介绍了 Calendar Server 发送的电子邮件类型。这些消息的格式由表中所列出的关联格式文件 (.fmt) 决定。这些格式文件位于每个语言环境的特定目录中(如英文为 /en,法文为 /fr),如下所示:

cal_svr_base/etc/opt/SUNWics5/config

例如,任务警报消息格式的英文版在下面的文件中指定:

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

本节包括以下内容:

Calendar Server 邮件参数

下表显示了每个 Calendar Server 邮件参数的消息类型、参数名称、默认格式文件说明以及收件人。

表 E-27 ics.conf 文件中的 Calendar Server 电子邮件格式 

消息类型

参数

格式文件(默认)

说明

收件人

发布事件

calmail.imipeventpublish.fname

"mail_eventpublish.fmt"

宣布事件或对现有事件的更改

在通知中列出的收件人

取消事件

calmail.imipeventcancel.fname

"mail_eventcancel.fmt"

宣布取消事件

在通知中列出的收件人

回复事件

calmail.imipeventreply.fname

mail_eventreply.fmt

回复事件通知。

在通知中列出的收件人

请求事件

calmail.imipeventrequest.fname

"mail_eventrequest.fmt"

订阅事件通知。

在通知中列出的收件人

事件警报

calmail.eventreminder.fname

"mail_eventreminder.fmt"

即将举行的事件的提醒通知

在提醒通知中列出的收件人

发布任务

calmail.imiptodopublish.fname

"mail_todopublish.fmt"

宣布任务或对现有任务的更改

在通知中列出的收件人

取消任务

calmail.imiptodocancel.fname

"mail_todocancel.fmt"

宣布取消任务

在通知中列出的收件人

回复任务

calmail.imiptodoreply.fname

"mail_todoreply.fmt"

回复任务通知

在通知中列出的收件人

待办事件请求

calmail.imiptodorequest.fname

"mail_todorequest.fmt"

订阅待办事件通知。

在通知中列出的收件人

任务警报

calmail.todoreminder.fname

"mail_todoreminder.fmt"

即将举行的任务的提醒通知

在提醒通知中列出的收件人

Calendar Server 通过将特定事件或任务与格式文件的内容合并起来生成通知消息。可以将事件或任务中的数据字段值输出到消息中。通知消息中也可以包括 MIME 标头行以及关联的特殊值。使用特殊字符序列(格式表示法),可以在消息中包括事件、任务和 MIME 标头的值。格式文件中的行都是由特殊字符序列组成的格式字符串,其中的字符序列会在生成邮件消息时替换为日历数据字段的实际值。特殊字符序列由两个字符组成,第一个字符是百分号 (%),第二个字符代表特定的格式表示法。

以下各节介绍特殊字符序列:

事件的特殊字符序列

下表显示了事件通知的特殊字符序列的格式代码和含义。

表 E-28 事件通知的特殊字符序列 

格式代码

含义

%0

本地化格式的开始时间

%1

本地化格式的结束时间

%A

iCalendar 格式中的 exdates(以分号分隔的 ISO8601 日期字符串列表,列出要排除的日期)

%a

iCalendar 格式中的 rdates(以分号分隔的 ISO8601 日期字符串列表,列出周期性日期)

%B

开始时间(请参阅 %Z)

%b

以 iCalendar 格式输出开始时间和结束时间。如果开始时间的参数 value=date,则只输出日期的 month/day/year 部分。如果结束时间和开始时间的 month/day/year 值相同,则仅生成开始时间。

%C

创建时间

%c

事件类

%d

事件说明(请参阅 %F)

%E

结束时间(请参阅 %Z)

%e

iCalendar 格式中的例外规则

%F

事件说明 — 换行/iCalendar 格式(请参阅 %d)

%G

事件的地理位置(包括维度和经度)

%g

组织者的电子邮件地址。(不能保证此值的真实性。)

%K

以 mailto:url 形式表示的组织者的电子邮件

%k

警报计数

%L

位置

%l

iCalendar 格式中的周期规则

%M

修改时间

%N

新行

%n

与 DTSTAMP 一起使用的当前时间戳

%P

优先级

%r

周期 ID(如果此事件没有重复发生,则为空)

%S

事件序列号

%s

摘要

%t

事件状态

%U

唯一事件标识符

%u

事件的 URL

%Z

与时间字段代码一起使用,强制以 UTC 时间格式显示时间。(%B 以当地时间显示开始时间,而 %ZB 以 UTC 时间显示开始时间。)

%%

显示百分号 (%)

%(子格式代码)

指定由代码标识的数据的子格式。(有关详细信息,请参阅日期的子格式。)

日期的子格式

可以多种不同的方法格式化日期时间值。使用子格式可以提供附加信息,以说明如何格式化日期时间值。如果不指定子格式,服务器将使用默认格式输出日期。使用子格式字段可以指定要使用的精确格式。

例如,%B 指定在输出字符串中包括事件的开始时间。此默认格式将打印日期、时间、时区以及有关该日期的其他可能的信息。日期值的子格式字符串是 strftime 格式的字符串(请参阅日期的特殊字符序列)。如果只需要了解开始时间的年和月,请不要使用 %B,而应使用:%(%m %Y)B

示例

以下示例:

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

生成与以下通知类似的输出:

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

 

条件打印

有时候,只有在某些情况才需要打印某一行。例如,以下行:

title:%S%N
start:%B%N
end:%E%N

生成与以下通知类似的输出:

title:Staff Meeting
start:Feb 04, 1999 09:00:00
end:Feb 04, 1999 10:00:00

但如果以下两个条件成立,以上示例将生成易误解或不正确的结果:

在这些情况下,最好不要打印结束时间。默认情况下,如果时间戳的属性为 all-day,则只打印年、月和日。此外,如果事件的开始时间有一个 all-day 属性,且事件的结束日期和开始日期为同一天,则会设置一个特殊的条件标记。只应在没有设置特殊条件标记时使用 ? 修饰符打印条件值。

例如,如果将上述示例中的行更改为:

title:%S%N
start:%B%N
end:%?E%N

则不会打印“全天”事件的最后一行,因为这种事件的开始日期与结束日期相同。为典型的“全天”事件(如生日或周年纪念日)生成的输出如下:

title:Staff Meeting
start:Feb 04, 1999

? 标记可与其他修饰符结合使用。例如:

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

任务通知的特殊字符序列

下表显示了任务通知的特殊字符序列的格式代码和含义。

表 E-29 任务通知的特殊字符序列 

格式代码

含义

%A

iCalendar 格式中的 exdates(以分号分隔的 ISO8601 日期字符串列表,列出要排除的日期)

%a

iCalendar 格式中的 rdates(以分号分隔的 ISO8601 日期字符串列表,列出周期性日期)

%B

开始时间(请参阅 %Z)

%C

创建时间

%c

任务类

%D

到期日期/时间

%d

任务说明(请参阅 %F)

%E

IMIP 格式的到期日期/时间

%e

iCalendar 格式中的例外规则

%F

任务说明 — 换行/iCalendar 格式(请参阅 %d)

%G

此任务的地理位置(包括维度和经度)

%g

组织者的电子邮件地址(不能保证此值的真实性)

%K

以 mailto:URL 形式表示的组织者的电子邮件

%k

警报计数

%L

位置

%l

iCalendar 格式中的周期规则

%M

修改时间

%N

新行

%n

now(当前时间戳,与 DTSTAMP 一起使用)

%P

优先级

%r

周期 ID(如果此任务没有重复发生,则为空)

%S

是任务的序列号

%s

摘要

%t

状态

%U

UID

%u

任务的 URL

%Z

与时间字段代码一起使用,强制以 UTC 时间格式显示时间(%B 以当地时间显示开始时间,而 %ZB 以 UTC 时间显示开始时间)

%%

显示 % 字符

%(子格式代码)

指定由代码标识的数据的子格式(有关详细信息,请参阅日期的子格式

日期的特殊字符序列

下表显示了日期的特殊字符序列的格式代码和含义。


注意

仅为方便起见,才在本节列出特殊的日期格式代码。Calendar Server 不会重新编写任何 strftime 代码,只是使用这些代码的操作系统实现。


表 E-30 日期的特殊字符序列 

格式代码

含义

%a

缩写的工作日名称

%A

完整的工作日名称

%b

缩写的月份名称

%B

完整的月份名称

%c

语言环境特定的日期和时间表示

%d

以十进制数表示的月份中的日期 (01 - 31)

%H

以 24 小时格式表示的小时 (00 - 23)

%I

以 12 小时格式表示的小时 (01 - 12)

%j

以十进制数表示的一年中的日期 (001 - 366)

%m

以十进制表示的月份 (01 - 12)

%M

以十进制数表示的分钟 (01 - 59)

%p

以 12 小时格式表示的当前语言环境的 A.M./P.M. 指示器

%S

以十进制数表示的秒 (00 - 59)

%U

以十进制数表示的一年中的周,其中星期日作为一周的第一天 (00 - 53)

%w

以十进制数表示的工作日(0 - 6,星期日为 0)

%W

以十进制数表示的一年中的周,其中星期一作为一周的第一天 (00 - 53)

%x

当前语言环境的日期表示

%X

当前语言环境的时间表示

%y

以十进制数表示的不带世纪的年份 (00 - 99)

%Y

以十进制数表示的带世纪的年份

%Z

时区名称或缩写,如果时区未知,则无字符

%%

百分号

简单的事件提醒通知示例

以下示例显示了默认事件提醒通知消息的格式:

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

本示例中每一行的说明如下:

下面的样例与以上示例生成的通知消息类似:

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.

 

复杂的事件提醒通知示例

以下示例显示了更复杂的、由多部分组成的消息。此示例包括一个文本部分和一个 IMIP PUBLISH 部分。

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



上一个      目录      索引      下一个     


版权所有 2004 Sun Microsystems, Inc.。保留所有权利。