Sun ONE logo     上一章     目录     索引     下一章     
Sun ONE Calendar Server 管理员指南



第 8 章   Calendar Server 配置


Sun™ ONE Calendar Server 配置参数存储在配置文件中,包括 ics.confcounter.conf

本章提供以下信息:


编辑 ics.conf 配置文件

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

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

ics.conf 文件是一个 ASCII 文本文件,其中的每一行都已定义一个参数及其关联值。安装 Calendar Server 时会初始化这些参数。安装后,可以使用文本编辑器编辑文件。



警告

您只能按 Sun ONE 文档的说明或者在客户支持代表的指导下修改 ics.conf 中的参数设置。




编辑 ics.conf 文件:

  1. 请使用具有管理员权限的用户登录到运行 Calendar Server 的系统。

  2. 定位到 ics.conf 文件所在的 server-root/cal/bin/config/ 目录。

  3. 使用 Solaris 和其他 UNIX 系统上的 vi,或者 Windows NT 系统上的记事本编辑 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。

    • 如果参数出现不止一次,则最后一次列出的参数值将覆盖前一个值。

  4. 在更改 ics.conf 文件中的参数后,请停止并重新启动 Calendar Server 使新配置值生效。(如果愿意,您也可以在编辑 ics.conf 文件之前停止 Calendar Server。)

    有关更多信息,请参见“启动和停止 Calendar Server”


配置参数 (ics.conf) 文件

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

本地配置

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


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

参数

默认值

说明

local.authldapbasedn  

" "  

LDAP 身份验证的基准 DN 如果未指定,则使用 local.ugldapbasedn  

local.authldaphost  

"localhost"  

LDAP 身份验证主机。如果未指定,则使用 local.ugldaphost  

local.authldapbindcred  

" "  

local.authldapbinddn 中指定的用户绑定凭据(口令)。  

local.authldapbinddn  

" "  

DN,它用于绑定到 LDAP 身份验证主机以搜索用户的 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 的目录路径位置。默认值是 server-root/cal  

local.instancedir  

"."  

安装该 Calendar Server 实例的程序和数据的目录路径位置。默认值是 server-root/cal/bin  

local.plugindir.path  

" "  

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

local.rfc822header.allow8bit  

"n"  

允许 (y) 或不允许 (n) 该服务器发送 8 位头的电子邮件。  

local.servergid  

"icsgroup"  

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

local.serveruid  

"icsuser"  

Calendar Server 文件(如计数器和日志文件)的 UNIX 用户 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  

server-root/cal/bin/lock  

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

local.instance.pidfile.path  

server-root/cal/bin/config  

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

local.instance.counter.path  

server-root/cal/bin/counter  

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

local.instance.use.tmpfs  

"false"  

如果为“true”,则根据 service.http.sessiondir.pathservice.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 5.x LDAP 架构扩展值。  

local.ugldapport  

"389"  

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

local.ugldappoolsize  

"1"  

为存储 LDAP 用户首选项所维护的最少 LDAP 客户端连接数。  

local.ugldapmaxpool  

"1024"  

为存储 LDAP 用户首选项所维护的最多 LDAP 客户端连接数。  

日历存储配置

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


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

参数

默认值

说明

calstore.anonymous.calid
 
"anonymous"
 

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

user.allow.doublebook  

"yes"  

确定用户的日历在同一时段内是否可以安排多个事件。

  • "no" 禁止双重预约。

  • "yes" 允许双重预约。

在当前版本中,即使 resource.allow.doublebookuser.allow.doublebook 设置成 "no",Calendar Server 也允许在日历上进行双重预约。

要禁止双重预约,请对每一个日历使用 -k no 选项运行 cscal 公用程序。  

calstore.calendar.default.acl  

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

指定用户创建日历时所使用的默认访问控制权限。您可通过使用分号分隔访问控制项 (ACE) 参数字符串列表来指定格式。

有关 ACE 格式的详细信息,请参见第 4 章 “管理 Calendar Server 访问控制”

若要使用命令行公用程序指定一个或多个日历的访问控制项,请参见“cscal”  

calstore.calendar.owner.acl  

"@@o^a^rsf^ g;@@o^c^wde ic^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 (calid) 转换成小写。  

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 如何处理字符串,例如 jdoejdoe:tv。其值可为:

 

calstore.unqualifiedattendee.fmt2.type  

"mailto"  

在目录中查找事件的参与者时,指定 Calendar Server 如何处理含“at”符 (@) 的字符串,例如 jdoe@foo.com。其值可为:

 

calstore.unqualifiedattendee.fmt3.type  

"cn"  

在目录中查找事件的参与者时,指定 Calendar Server 如何处理含有空格的字符串,例如 john doe。其值可为:

 

store.partition.primary.path  

"."  

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

日历日志信息配置

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


表 8-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、ERRORWARNINGNOTICEINFORMATION 以及 DEBUG

如果设置成 CRITICAL,则 Calendar Server 只会记录最少的详细信息。如果希望服务器记录最多的详细信息,请指定 DEBUG。例如,如果设置成 WARNING,则只会记录 CRITICALERROR WARNING 级别的日志项。  

logfile.maxlogfiles  

"10"  

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

logfile.maxlogfilesize  

"2097152"  

每一个日志文件的最大大小(以字节计)。  

logfile.maxlogsize  

"20971520"  

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

logfile.minfreediskspace  

"5242880"  

日志记录所需的最少磁盘空间(以字节为单位)。达到该值后,Calendar Server 将尝试让日志文件失效来释放磁盘空间。如果没有可以释放的空间,将暂停日志记录。  

logfile.notify.logname  

"notify.log"  

csnotifyd 服务的日志文件名。  

logfile.rollovertime  

"86400"  

日志文件循环前的秒数。  

服务配置

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


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

参数

默认值

说明

service.authcachesize  

"10000"  

由 Calendar Server 所维护,且经过身份验证的最多用户 ID (UID) 和口令数。  

service.authcachettl  

"900"  

用户 UID 和口令缓存前的秒数。  

resource.allow.doublebook  

"no"  

确定属于资源(如会议室或视听设备)的日历在同一时段内是否可以安排多个事件。

  • "no" 禁止双重预约。

  • "yes" 允许双重预约。

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

Calendar Server 管理 (csadmind) 请求端口。  

service.admin.port.enable
 
"no"
 

启用 ("yes") 或禁用 ("no") 远程管理。

备注:远程管理功能计划将于未来的版本实现,默认情况下禁用 admin 端口。  

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

如果是 "yes",则会将客户端 IP 地址 与 DNS作比对,确定是否允许 HTTP 访问。  

service.http.admins
 
"calmaster"
 

以空格分隔的用户 ID 列表,这些用户拥有 Calendar Server 的管理权限。  

service.http.allowadminproxy
 
"no"
 

如果是 "yes",则允许通过代理登录。  

service.http.allowanonymouslogin
 
"yes"
 

如果是 "yes",则允许匿名(不登录)访问。  

service.http.calendarhostname
 
" "
 

用于检索 HTML 文档的 HTTP 主机。要使用户能够使用完全限定主机名访问日历数据,该值必须是运行 Calendar Server 的完全限定主机名(包括机器名、DNS 域和后缀),例如 my_ics5@sesta.com

若未指定,则会使用本地 HTTP 主机。  

service.http.cookies
 
"yes"
 

告知服务器是否支持 Cookie (yes/no)。必须设置成 "yes" 以启用单次登录。  

service.http.dbcachesize
 
"8388608"
 

针对 HTTP 会话,Berkeley DB 的最大缓存大小。  

service.http.domainallowed
 
" "
 

若已指定而且不是 " ",则过滤器将允许基于 TCP 域的访问。例如,"ALL:LOCAL.sesta.com" 允许本地 HTTP 访问 sesta.com 域中的任何人。多个过滤器由 CR-LF(换行符)分隔。  

service.http.domainnotallowed
 
" "
 

若已指定而且不是 " ",则过滤器将不允许基于 TCP 域的访问。例如,"ALL:LOCAL.sesta.com" 禁止 HTTP 访问 sesta.com 域中的任何人。多个过滤器必须由 CR-LF(换行符)分隔。  

service.http.attachdir.path
 
"."
 

相对于 local.queuedir(或者一个指定的绝对路径)的目录位置,其中 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 请求的最多进程数。  

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

包含默认日历客户端的目录。若只允许 WCAP 访问,则设置成 ""  

service.http.renderhtml
 
"no"
 

启用或禁用 Calendar Express 事件的 Event Title(事件标题)和 Description(说明)字段中的 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.listenaddr
 
"INADDR_ANY"
 

(仅限于 UNIX)指定 TCP 地址,HTTP 服务将在该地址侦听客户端请求。"INADDR_ANY" 表示任何地址。  

service.plaintextloginpause
 
"0"
 

使用纯文本口令成功验证用户身份后所延迟的秒数。  

service.wcap.anonymous.allowpubliccalendarwrite
 
"yes"
 

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

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

如果是 "yes",则服务器必须验证日历的每一个所有者都在目录中(通过 LDAP 或 CSAPI 兼容的用户目录机制)。  

警报通知配置

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


表 8-5    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
 
"Postmast er@localh ost"
 

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

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) 参数,以及每个参数的默认值和说明。


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

参数

默认值

说明

csapi.plugin.calendarlookup
 
"n"
 

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

csapi.plugin.calendarlookup.name
 
"*"
 

指定要装入的特定日历查找插件的名称。如果该值是一个星号 ("*"),则 Calendar Server 会装入所有插件。  

caldb.cld.type
 
"local"
 
指定要使用的 CLD 插件类型:

  • "local" 会将所有日历指定存储在运行 Calendar Server 且无装入任何插件的本地服务器上7。

  • "algorithmic" 指定 CLD 算法插件,该插件使用 ics.conf 文件中的正则表达式来确定存储指定日历的服务器。该表达式使用参数指定: caldb.cld.server.[hostname].
    regdexpr = expression

  • "directory" 指定 LDAP CLD 插件,该插件使用日历所有者的 icsDWPHost LDAP 属性来确定存储指定日历的服务器。

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

指定当 LDAP 服务器数据库中的用户或资源日历项没有 icsDWPHost 属性时,Calendar Server 所使用的完全限定默认 DWP 服务器名。

如果用户没有icsDWPHost 属性,则当他通过 Calendar Express 或使用 WCAP 命令登录到 Calendar Server 时,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 缓存选项的数据库事件、任务和警报文件的位置。默认值 "."指定这些文件存储在 server-root/var/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 插件使用。

备注:在每个参数部分中,主机名必须完全一致并且是完全限定的。例如:

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 (Message Digest 5) 单向散列检查。(单向散列功能用于创建邮件身份验证的数字签名。)

  • "n" 禁用 MD5 散列检查。

  • "y" 启用 MD5 散列检查。

 
caldb.dwp.server.hostname.ip
 
" "
 

表示于指定的机器主机名使用数据库连线协议的服务器 IP 地址。  

caldb.dwp.stacksize
 
"65536"
 

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

csapi.plugin.authentication  

"n"  

如果是 "y",则仅会装入 csapi.plugin.authentication.name 所指定的插件。如果未指定,则会按字母顺序装入所有身份验证类的插件。验证身份时,会按字母顺序使用这些插件。  

csapi.plugin.authentication.name  

" "  

如果 csapi.plugin.loadall"n",且 csapi.plugin.authentication"y",则仅会装入此特定插件。如果没有指定插件或是 " ",则会装入所有身份验证类的插件。  

service.dwp.maxthreads
 
"1000"
 
并发运行的数据库连线协议服务线程的最多数目。

 

service.dwp.numprocesses
 
"1"
 
并发运行的数据库连线协议服务进程的最多数目。

 

service.dwp.enable
 
"no"
 
如果是 "yes",则会在启动所有服务时启动 csdwpd 服务,并在停止所有服务时停止 csdwpd

 

service.dwp.idletimeout
 
"86400"
 
关闭空闲的数据库连线协议服务持续连接之前的秒数。

 

service.dwp.port
 
"9779"
 

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

service.dwp.ldap.enable
 
"yes"
 

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

service.calendarsearch.ldap
 
"yes"
 

指定 Calendar Server 搜索 LDAP 目录和日历数据库 ("yes") 或是只搜索日历数据库 ("no")。  

单次登录 (SSO) 配置

下表显示单次登录 (SSO) 配置参数以及每一个参数的默认值和说明。


表 8-7    ics.conf 文件中的单次登录 (SSO) 配置参数 

参数

默认值

说明

sso.appid  

"ics50"  

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

sso.appprefix  

"ssogrp1"  

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

应用程序前缀不能以连字符 (-) 结尾,因为 Calendar Server 会在该值上追加一个连字符。例如:

sso.appprefix="d98"  

sso.cookiedomain  

".red.iplanet.com"  

使浏览器仅向位于此处指定之域的服务器发送 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 值。每一个可信对等主机都需要一个参数。

appid 是对等 SSO 主机的应用程序 ID,此主机的 SSO Cookie 是可信的。Calendar Server 的 appidics50

"verifyurl" 可识别以下格式的可信对等主机 URL :"http://host:port/VerifySSO?"。不要省略 VerifySSO 后面的问号 (?)。

host 是主机的 URL,port 是主机的端口号。

例如,如果 sesta.com 上的 Calendar Server 端口号为 8883:

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

组日程安排引擎 (GSE) 配置

下表显示组日程安排引擎 (GSE) 配置参数以及每一个参数的默认值和说明。


表 8-8    ics.conf 文件中的组日程安排引擎 (GSE) 配置参数 

参数

默认值

说明

gse.autorefreshreplystatus  

"yes"  

指定是启用还是禁用自动刷新功能。如果启用自动刷新功能,则当某个参与者回复事件组织者后,该参与者的答复状态会自动传播到该预定事件的其他参与者。

  • "yes" 启用自动刷新。

  • "no" 禁用自动刷新。

 

gse.belowthresholdtimeout  

"3"  

指定服务器在日程安排队列中扫描接收作业前等待的时间(以秒计)。如果队列中的作业数比分配的最多线程数还高,则最后的线程将会再次扫描作业队列。因此,此设置仅在作业数比分配的最多线程数少时有效。

增加此数目可减少服务器扫描作业队列的频率并提高总体性能。  

gse.maxthreads  

"10"  

指定服务器用于处理日程安排队列的最多并发线程数。每个线程会处理队列中的一个作业。  

gse.retryexpiredinterval  

"86400"  

指定服务器重试完成组日程安排作业的最长时间(以秒计)。如果时间超过最长指定时间,则服务器会将该作业视为重试失效条件处理并报告错误。

注意,默认值 86400 秒等于一天。  

gse.retryinterval  

"300"  

指定服务器重试以前失败作业的频率(以秒计)。只有遇到网络错误时,服务器才会重试失败作业。不过,服务器大多会将这样的错误视为严重错误处理,而不考虑重试。  

gse.stacksize  

"65535"  

指定组日程安排线程的最大堆栈大小(以字节数计)。  

数据库配置

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


表 8-9    ics.conf 文件中的数据库配置参数 

参数

默认值

说明

caldb.berkeleydb.checkpointinterval  

"60"  

每次数据库事务检查点时的间隔秒数。  

caldb.berkeleydb.circularlogging  

"yes"  

如果是 "yes",则在同步数据库检查点的事务之后移除这些文件。  

caldb.berkeleydb.deadlockinterval  

"100"  

每次检查需要中断的数据库死锁的间隔毫秒数。  

caldb.berkeleydb.homedir.path  

"."  

保存数据库事件、任务和警报文件的目录(相对于程序可执行文件的位置或指定的绝对路径)。默认值 "."指定这些文件存储在 server-root/cal/bin 目录中。  

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"  

指定在 server-root/cal/bin/config 下,包含用于格式化电子邮件通知的本地化文件的目录。例如:

"en" 指定英文版的目录位置:server-root/cal/bin/config/en

"fr" 指定法文版的目录位置:server-root/cal/bin/config/fr  

caldb.smtpport  

"25"  

SMTP 主机的端口。  

ENS 邮件的日历数据库参数

表 8-10 描述参数、默认值和说明。如果需要非默认值,必须向 ics.conf 文件添加参数。


表 8-10    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 配置

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


表 8-11    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",则会装入插件目录中的所有插件。对于 Windows NT 系统,这些插件的文件扩展名为 .dll。对于 UNIX 系统,这些插件的扩展名为 .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 来发送和接收警报通知,包括创建、删除或修改日历事件和任务,以及通用的操作警告和错误消息。

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


表 8-12    ics.conf 文件中的事件通告服务器 (ENS) 配置参数 

参数

默认值

说明

service.ens.enable
 
"yes"
 

如果是 "yes",则会在启动所有服务时启动 enpd 服务,并在停止所有服务时停止 enpd  

service.ens.host
 
"localhost"
 

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

service.ens.port
 
"7997"
 

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

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" 告诉警报线程在启动时若未能与事件通知服务器联系上便立即退出。  

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"
 

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

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"
 

指定(“yes”或“no”)Calendar Server 是否应该创建用于回复事件的 ENS 消息。  

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) 配置参数以及每一个参数的默认值和说明。


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

参数

默认值

说明

ui.config.file  

" "  

Calendar Server 在启动时可以读取可选(基于 xml)配置文件,该文件会隐藏部分用户界面。Calendar Server 只允许一个配置文件,而此设置的值将决定要使用的文件名称。Calendar Server 在用户界面 xmlxslt 文件所在的数据目录中查找此文件,该目录为:

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

Calendar Server 提供下列用户界面文件供用户自行定义:

  • nogroup_config.xml-禁用组日程安排

  • ui_config.xml-默认用户界面

 

ui.allow.anyone  

"yes"  

允许 Calendar Express 显示和使用“全部”访问控制列表 (ACL)。  

ui.allow.domain  

"no"  

允许 Calendar Express 显示和使用“此域”访问控制列表 (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 是否应该显示“事件通知”选项。  


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

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

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

counter.conf 文件是一个 ASCII 文本文件,其中的每一行都定义了一个计数器及其参数:名称、类型、大小(字节数)和说明。带空格的参数必须包含在双引号 ("") 内。注释行必须以感叹号 (!) 开头。注释行仅提供参考信息。

计数器名称的第一部分表示用于 csstats 公用程序的计数器对象。有关命令行公用程序的更多信息,请参见第 7 章 “Calendar Server 命令行公用程序”



备注 不要修改 counter.conf 文件,除非客户支持人员指示您这样做。



本节说明 Calendar Server 的 counter.conf 参数,包括:

警报计数器

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


表 8-14    counter.conf 文件中的警报计数器 

名称

类型

大小

说明

alarm.high  

GAUGE  

4  

最高记录值。  

alarm.low  

GAUGE  

4  

最低记录值。  

alarm.current  

GAUGE  

4  

当前监视的值。  

alarm.warningstate  

GAUGE  

4  

警告状态:yes (1) 或 no (0)。  

alarm.countoverthreshold  

COUNTER  

4  

超过阈值的次数。  

alarm.countwarningsent  

COUNTER  

4  

发送的警告数。  

alarm.timelastset.desc  

TIME  

4  

上次设置当前值的时间。  

alarm.timelastwarning  

TIME  

4  

上次发送警告的时间。  

alarm.timereset  

TIME  

4  

上次执行重置的时间。  

alarm.timestatechanged.desc  

TIME  

4  

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

磁盘使用计数器

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


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

名称

类型

大小

说明

diskusage.availSpace  

GAUGE  

5  

磁盘分区中可用总空间。  

diskusage.lastStatTime  

TIME  

4  

上次进行统计的时间。

 

diskusage.calPartitionPath  

STRING  

512  

日历分区路径。  

diskusage.percentAvail  

GAUGE  

4  

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

diskusage.totalSpace  

GAUGE  

5  

磁盘分区中的总空间。  

HTTP 计数器

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


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

名称

类型

大小

说明

httpstat.avgConnectionTime  

GAUGE  

4  

平均连接响应时间。  

httpstat.currentStartTime  

TIME  

4  

Calendar Server 启动的时间。  

httpstat.lastConnectionTime  

TIME  

4  

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

httpstat.maxConnections  

COUNTER  

4  

已服务的最多并发连接数。  

httpstat.numConnections  

COUNTER  

4  

已服务的总连接数。  

httpstat.numCurrentConnections  

GAUGE  

4  

当前的活动连接数。  

httpstat.numFailedConnections  

COUNTER  

4  

已服务的失败连接总数。  

httpstat.numGoodLogins.desc  

COUNTER  

4  

当前 HTTP 服务器已服务的成功登录次数。  

httpstat.numFailedLogins  

COUNTER  

4  

当前 HTTP 服务器已服务的失败登录次数。  

组日程安排计数器

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


表 8-17    counter.conf 文件中的组日程安排引擎 (GSE) 计数器 

名称

类型

大小

说明

gsestat.lastWakeUpTime  

TIME  

4  

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

gsestat.lastJobProcessedTime  

TIME  

4  

GSE 上次处理作业的时间。  

gsestat.numJobsProcessed  

COUNTER  

4  

GSE 处理的作业总数。  

gsestat.numActiveWorkerThreads  

COUNTER  

4  

活动工作线程的总数。  

身份验证计数器

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


表 8-18    counter.conf 文件中的身份验证 (authstat) 计数器 

名称

类型

大小

说明

authstat.lastLoginTime  

TIME  

4  

用户上次登录的时间。  

authstat.numSuccessfulLogins  

COUNTER  

4  

已服务的成功登录总数。  

authstat.numFailedLogins  

COUNTER  

4  

已服务的失败登录总数。  

WCAP 计数器

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


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

名称

类型

大小

说明

wcapstat.numRequests  

COUNTER  

4  

WCAP 请求总数。  

数据库计数器

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


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

名称

类型

大小

说明

dbstat.numReads  

COUNTER  

4  

数据库读取总数。  

dbstat.numWrites  

COUNTER  

4  

数据库写入总数。  

dbstat.numDeletes  

COUNTER  

4  

数据库删除总数。  

dbstat.lastReadTime  

TIME  

4  

上次读取数据库的时间。  

dbstat.lastWriteTime  

TIME  

4  

上次写入数据库的时间。  

dbstat.lastDeleteTime  

TIME  

4  

上次删除数据库的时间。  

服务器响应计数器

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


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

名称

类型

大小

标度

说明

serverresponse.lastStatTime  

TIME  

4  

 

上次进行统计的时间。  

serverresponse.responseTime  

GAUGE  

4  

2  

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

会话状态计数器

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


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

名称

类型

大小

标度

说明

sessstat.maxSessions.desc  

COUNTER  

4  

4  

已服务的最多 HTTP 会话数。  

sessstat.numCurrentSessions  

GAUGE  

4  

2  

当前的 HTTP 会话数。  


通知邮件

Calendar Server 会发送 表 8-23 中说明的电子邮件类型。这些邮件的格式是由表中列出的关联格式 (.fmt) 文件控制。格式文件位于各区域下列的特定目录中(如英语是 /en,法语是 /fr):

server-root/cal/bin/config

例如,英文版的任务警报邮件格式指定于以下文件中:

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

本节介绍:

Calendar Server 邮件参数

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


表 8-23    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 标头的值包括在邮件中。格式文件中的各行是由特殊字符序列组成的格式字符串,当生成邮件时,这些特殊字符序列将由日历数据字段中的实际值所替代。特殊字符序列由两个字符组成:第一个是百分号 (%),第二个代表特定的格式表示法。

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

事件的特殊字符序列

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


表 8-24    事件通知的特殊字符序列 

格式代码

含义

%0  

本地化格式的开始时间  

%1  

本地化格式的结束时间  

%A  

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

%a  

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

%B  

开始时间(请参见 %Z  

%b  

以 iCalendar 格式输出开始时间和结束时间。如果开始时间带有 value=date 的参数,则只会输出日期的月/日/年部分。如果结束时间与开始时间具有相同的月/日/年值,则只会生成开始时间。  

%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 的开始时间。)  

%%  

显示百分比 (%) 字符  

% (sub-format code)  

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

日期子格式

您可以用许多不同的方法来格式化日期时间值。使用子格式,您可以提供额外的信息来描述格式化日期时间值的方法。如果不指定子格式,则服务器会使用默认格式输出日期。使用子格式字段可以指定要使用的确切格式。

例如,%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

任务通知的特殊字符序列

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


表 8-25    任务通知的特殊字符序列 

格式代码

含义

%A  

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

%a  

iCalendar 格式的 rdate(以分号分隔的 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 的开始时间)  

%%  

显示 % 字符  

%(sub-format code)  

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

日期的特殊字符序列

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



备注 本节中出现的特殊日期格式代码仅为了方便起见而列于此处。Calendar Server 不会重写任何 strftime 代码,只会使用操作系统的实现。




表 8-26    日期的特殊字符序列 

格式代码

含义

%a  

工作日缩写名称  

%A  

完整的工作日名称  

%b  

月份缩写名称  

%B  

月份完整名称  

%c  

适合区域设置的日期和时间表示形式  

%d  

以十进制表示一个月中的某一天 (01 - 31)  

%H  

以 24 小时制表示小时 (00 - 23)  

%I  

以 12 小时制表示小时 (01 - 12)  

%j  

以十进制表示一年中的某一天 (001 - 366)  

%m  

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

%M  

以十进制表示分钟 (00 - 59)  

%p  

当前区域设置中 12 小时时钟的“上午/下午”指示器  

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

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

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

8    Location:

9    Description:

  1. 第 1 行是邮件主题。

  2. 第 2 行开头为 ~~ ,表示它是一个 MIME 包装行。也就是说,特殊字符序列是由与内部 MIME 对象关联的内容代替,而不是由事件或任务代替。特殊序列 %N 是一个换行符。主题行不需要特殊的新行序列,而其他所有的行都需要。

  3. 第 3 行也是一个 MIME 标题行。它所包含的特殊字符序列 %s 将由已发送事件或任务的关联字符集替代。

  4. 第 4 行是最后一行 MIME 行,%x 是此邮件所需的内容转换编码字符串。

  5. 第 5 行列出事件摘要并使用 %s 调用事件摘要。

  6. 第 6 行列出事件的开始时间。它在特殊字符序列 %B 上使用了子格式字符串。有关详细信息,请参见日期子格式

  7. 第 7 行列出事件结束时间。

  8. 第 8 行列出事件发生的位置。

  9. 第 9 行列出事件的描述。

以下示例与上例中生成的通知邮件类似:

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


上一章     目录     索引     下一章     
版权所有 2002 Sun Microsystems, Inc. 全权所有。

更新日期 2002 年 8 月 30 日