Calendar Server 配置参数存储在配置文件 ics.conf 和 counter.conf 中。
本章提供了以下信息:
Calendar Server 配置参数存储在以下文件中:
/etc/opt/SUNWics5/config/ics.conf
ics.conf 文件是一个 ASCII 文本文件,其中的每一行定义一个参数以及该参数的相关值。所有参数都在安装 Calendar Server 过程中进行初始化。安装后,可以使用文本编辑器编辑该文件。
要修改 ics.conf 文件中的参数设置,必须按照 Sun 文档中介绍的方法或在客户支持代表的指导下进行。
例如:没有为 Calendar Server 启用远程管理。请勿更改 service.admin.port 参数,因为该参数已被设置为 Calendar Server 所需的值。否则,csadmind 进程可能无法正常运行。
以具备管理权限的用户身份登录正在运行 Calendar Server 的系统。
转至 ics.conf 文件所在的 /etc/opt/SUNWics5/config 目录。
使用文本编辑器(如 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 文件中,则将此参数及其相关值添加到该文件中。
如果一个参数出现多次,则最后列出的那个参数值将覆盖前面的值。
所有选项必须在行的开头处启动。
更改 ics.conf 文件中的参数后,需要停止并重新启动 Calendar Server 以使新的配置值生效。
如果需要,也可以在编辑 ics.conf 文件之前停止 Calendar Server。有关详细信息,参见12.1 启动和停止 Calendar Server 6.3 进程。
本节列出了 ics.conf 文件中的各种配置参数。为方便起见,将其划分为如下的功能组:
以下列出的参数仅显示了它们的默认设置。要实现特定的功能,需将一个或多个参数更改为不同值。参阅 第 3 部分, 自定义 Calendar Server 配置 中的章节以获取有关如何实现各功能的说明,包括使用哪些参数以及将何值赋给这些参数。
ics.conf 文件中允许出现重复参数。系统取文件中参数的最后一个实例的值。
配置文件很大。存在很多参数。如果进行了自定义,要找到它们或记住更改值的原因将相当困难。要避免混淆,将自定义内容添加到文件尾部为此目的而创建的部分中。例如,可以创建包含以下文本的注释行:! 我的 ics.conf 更改。然后添加任意新参数或任意正在修改的参数及其值。向每个参数添加注释,描述进行更改的原因并添加当前日期。这将提供有关对系统所做更改的历史记录,以供以后参考。
每次启动或重新启动 Calendar Server 时,系统都会读取整个配置文件。系统必须处理的参数越多,启动所花费的时间就越长。如果存在大量的重复参数,则会明显地减慢处理速度。要避免此状况,需注释掉过期的重复参数。
下表显示以 local. 开头的配置参数以及每个参数的默认值和说明。
表 E–1 ics.conf 文件中的本地服务器实例配置参数
参数 |
默认值 |
说明 |
---|---|---|
"yes" |
启用 ("yes") 或禁用 ("no") 用户日历的自动置备。 |
|
"en" |
此 Calendar Server 实例中各域的默认语言。 |
|
" " |
已经安装 Calendar Server 的计算机的主机名。 |
|
cal-svr-base/SUNWics5/ cal |
Calendar Server 的安装目录路径位置。 |
|
cal-svr-base/SUNWics5/ cal |
此 Calendar Server 实例的配置文件和数据的安装目录路径位置。 |
|
cal-svr-base/SUNWics5/ cal/data/lock |
指定存储此服务器实例的锁定文件的位置。 |
|
cal-svr-base/SUNWics5/ cal/lib/counter |
指定存储此服务器实例的计数器文件的位置。 |
|
" " |
此 Calendar Server 实例的 CSAPI 插件的安装目录路径位置。 |
|
"no" | ||
"icsgroup" | ||
"icsuser" | ||
"en" |
此 Calendar Server 实例的默认语言。 |
|
" " |
用来查找与某个电子邮件地址相对应的参与者日历 ID 的默认域名。例如,如果该设置的值为 "sesta.com",则 jsmith 被解析为 jsmith@sesta.com。 |
|
"en" |
此 Calendar Server 实例支持的用户语言。 |
参数 |
默认值 |
说明 |
---|---|---|
" " |
LDAP 验证的基本 DN。如果不指定,则使用 local.ugldapbasedn。 |
|
"localhost" |
LDAP 验证的主机。如果不指定,则使用 local.ugldaphost。 |
|
" " |
在 local.authldapbinddn 中指定的用户的绑定证书(密码)。 |
|
" " |
用于绑定到 LDAP 验证主机以搜索用户 dn 的 DN。如果不指定,或者值为 " ",则为匿名绑定。 |
|
"389" |
LDAP 验证的端口。如果不指定,则使用 local.ugldapport。 |
|
"1" |
为 LDAP 验证维护的最小 LDAP 客户端连接数目。如果不指定,则使用 local.ugldappoolsize。 |
|
"1024" |
为 LDAP 验证维护的最大 LDAP 客户端连接数目。如果不指定,则使用 local.ugldapmaxpool。 |
参数 |
默认值 |
说明 |
---|---|---|
"3" |
指定在参与者查找搜索中使用通配符搜索的最小字符串大小。零 (0) 表示总是进行通配符搜索。 |
|
"localhost" |
存储 LDAP 用户首选项的计算机的主机名。 |
参数 |
默认值 |
说明 |
---|---|---|
" " |
LDAP 用户首选项验证的绑定证书(密码)。 |
|
" " |
用来绑定 LDAP 用户首选项主机的 DN。无默认 DN。如果值为 " " 或未指定,则假定为匿名绑定。 |
|
" " |
LDAP 用户首选项的基本 DN。必须指定且不能为空。 |
|
"ceColorSet, ceFontFace, ceFontSizeDelta, ceDateOrder, ceDateSeparator, ceClock, ceDayHead, ceDayTail, ceInterval, ceToolText, ceToolImage, ceDefaultAlarmStart, ceSingleCalendarTZID, ceAllCalendarTZIDs, ceDefaultAlarmEmail, ceNotifyEmail, ceNotifyEnable, ceDefaultView, ceExcludeSatSun, ceGroupInviteAll" |
icsExtendedUserPrefs 属性中选项的值。 |
|
"uid=%u" |
用于用户查找的过滤器。 |
下表显示了日历存储配置参数以及每个参数的默认值和说明。日历存储包含所有事件和待办事项记录。
表 E–5 ics.conf 文件中的日历存储配置参数
参数 |
默认值 |
说明 |
---|---|---|
"anonymous" |
用于匿名登录的日历 ID (calid)。 |
|
"yes" |
确定创建日历时是否允许为用户日历的同一时段预定多个事件:
|
|
"@@o^a^r^g; @@o^c^wdeic^g; @^a^fs^g; @^c^^g; @^p^r^g" |
指定用户创建日历时使用的默认访问控制权限。其格式由一个以分号分隔的访问控制条目 (ACE) 变量字符串列表指定。 有关 ACE 格式的详细信息,请参见15.4 日历访问控制。 要使用命令行实用程序指定一个或多个日历的访问控制条目,请参见D.5 cscal。 |
|
"@@o^a^rsf^g; @@o^c^wdeic^g" |
指定日历所有者的默认访问控制设置。 |
|
calstore.calendar.create. lowercase |
"no" |
指定在创建新日历或使用 LDAP CLD 插件查找日历时,Calendar Server 是否应将日历 ID (calid) 转换为小写。 |
"America/ New_York" |
在以下情况下将要使用的时区 ID:
|
|
"yes" |
指定 Calendar Server 是否过滤(识别)私人和仅时间与日期(保密)事件和任务。如果指定为 "no",Calendar Server 会将它们与公用事件和任务一样处理。 |
|
defaultcalendar |
"yes" |
指定是否在用户的空闲/繁忙日历列表中包括用户的默认日历。 |
defaultcalendar |
"no" |
指定是否可以从用户的空闲/繁忙日历列表中删除用户的默认日历。 |
"0" |
将扩展来用于邀请的 LDAP 组的最大大小。"0" 表示可任意扩展组,而无需考虑大小限制。-1 表示不允许扩展 LDAP 组。 |
|
"60" |
周期性扩展可以创建的最大事件数目。 |
|
defaultcalendar |
"yes" |
指定是否在用户的预定日历列表中包括用户的默认日历。 |
defaultcalendar |
"no" |
指定是否可以从用户的预定日历列表中删除用户的默认日历。 |
"200" |
从用户搜索的 LDAP 查找中返回的最大结果数目。值为 "0" 时表示没有限制。 |
|
fmt1.type |
"uid" |
指定在执行事件参与者的目录查找时,Calendar Server 如何处理字符串,例如 jdoe 或 jdoe:tv。允许的值有:uid、cn、gid、res、mailto 和 cap。 |
fmt2.type |
"mailto" |
指定在执行事件参与者的目录查找时,Calendar Server 如何处理带 @ 符号的字符串,例如 jdoe@sesta.com。允许的值有:uid、cn、gid、res、mailto 和 cap。 |
fmt3.type |
"cn" |
指定在执行事件参与者的目录查找时,Calendar Server 如何处理带空格的字符串,例如 john doe。允许的值有:uid、cn、gid、res、cap。 |
"." |
存储日历信息的主磁盘分区的位置。 |
下表显示了日历日志配置参数以及每个参数的默认值和说明。
表 E–6 ics.conf 文件中的日历日志配置参数
参数 |
默认值 |
说明 |
---|---|---|
"admin.log" |
日历管理工具的日志文件的名称。 |
|
"0" |
日志缓冲区的大小(以字节为单位)。 |
|
"dwp.log" |
与日志数据库有线协议相关的管理工具的日志文件的名称。 |
|
"604800" |
日志文件过期前的秒数。 |
|
"60" |
刷新缓冲区至日志文件的间隔秒数。 |
|
"httpd.access" |
当前 HTTP 访问日志文件的名称。 |
|
"http.log" |
cshttpd 服务的当前日志文件的名称。 |
|
logname |
"httpd.access" |
当前 HTTP 访问日志文件的名称。 |
"logs" |
日志文件的目录位置。 |
|
"NOTICE" |
决定服务器记录细节的级别。每个日志条目被指定以下级别之一:CRITICAL、ALERT、ERROR、WARNING、NOTICE、INFORMATION 和 DEBUG。 |
|
"10" |
日志目录中的日志文件的最大数目。 |
|
"2097152" |
每个日志文件的最大大小(以字节为单位)。 |
|
"20971520" |
所有日志文件的最大磁盘空间(以字节为单位)。 |
|
diskspace |
"5242880" |
必须为日志预留的最小可用磁盘空间(以字节为单位)。 |
"notify.log" |
csnotifyd 服务的日志文件名。 |
|
"86400" |
旋转日志文件前的秒数。 |
|
"store.log" |
存储日志文件名。 |
|
service.http.commandlog |
"no" |
该参数只用于调试。如果设置为 "yes",系统将把所有接收的命令记录到 http.commands 日志文件中。 在生产运行时过程中不要使用该参数。它将很快填满日志文件,并导致性能下降。 |
下表列出了属于管理员的 ics.conf 参数。
表 E–7 管理员配置参数
参数 |
默认值 |
说明 |
---|---|---|
cred |
" " |
指定作为 Calendar Server 管理员的用户 ID 的密码。必须在安装过程中为安装程序提供此值。 |
userid |
"calmaster" |
指定作为 Calendar Server 管理员的用户的用户 ID。必须在安装过程中为安装程序提供此值。 |
overrides.accesscontrol |
"no" |
指定 Calendar Server 管理员是否可以覆盖访问控制。 |
service.admin.calmaster. wcap.allowgetmodify userprefs |
"no" |
指定 Calendar Server 管理员是否可以使用 WCAP 命令获得并设定用户首选项。 |
"yes" |
如果设置为 "yes",则为 service.siteadmin.userid 中指定的用户启用用户验证 LDAP。 |
下表显示了各种服务配置参数以及每个参数的默认值和说明。
表 E–8 ics.conf 文件中的服务配置参数
参数 |
默认值 |
说明 |
---|---|---|
"yes" |
启用 ("yes") 或禁用 ("no") 管理工具的报警通知。 |
|
checkpoint.enable |
"yes" |
如果设置为 "yes",则启动 csadmind 数据库检查点线程。 |
dbcachesize |
"8388608" |
Berkeley 数据库用于管理会话的最大缓存大小(以字节为单位)。 |
deadlock.enable |
"yes" |
如果设置为 "yes",则启动 csadmind 数据库死锁检测线程。 |
diskusage |
"no" |
如果设置为 "yes",则启动 csadmind 磁盘空间不足监视线程。 |
"yes" |
如果设置为 "yes",则在启动所有服务时启动 csadmind 服务,而在停止所有服务时停止 csadmind。 |
|
idletimeout |
"120" |
csadmind 中的 HTTP 连接超时前的秒数。 |
maxsessions |
"100" |
允许的管理会话的最大数目。 |
maxthreads |
"10" |
每个管理会话正在运行的线程的最大数目。 |
numprocesses |
无 |
允许的最大并行管理进程数目。 |
无 |
**警告** 由系统设置。请勿更改。 |
|
resourcetimeout |
"900" |
管理连接超时前的秒数。 |
serverresponse |
"no" |
如果设置为 "yes",则启动 csadmind 服务响应线程。 |
sessiondir.path |
" " |
管理会话请求的临时目录。 |
sessiontimeout |
"1800" |
csadmind 中的 HTTP 会话超时前的秒数。 |
sleeptime |
"2" |
两次检查已启动、已停止或已就绪的日历服务中间等待的秒数。 |
starttime |
"300" |
启动日历服务前等待的秒数。 |
stoptime |
"300" |
停止日历服务前等待的秒数。 |
stoptime.next |
"60" |
两次向任意日历服务发送停止命令中间等待的秒数。 |
"o=internet" |
目录中 DC 树的根后缀。 |
|
dnsresolveclient |
"no" |
如果设置为 "yes",则在允许 HTTP 访问时根据 DNS 检查客户端 IP 地址。 |
loginpause |
"0" |
成功使用纯文本密码验证用户后所延迟的秒数。 |
"calmaster" |
对此 Calendar Server 具有管理权限的用户 ID 列表,ID 之间用空格分隔。 |
|
allowadminproxy |
"yes" |
如果设置为 "yes",则允许通过代理登录。 |
allowanonymouslogin |
"yes" |
如果设置为 "yes",则允许匿名(无验证)访问。这是一种仅允许进行指定的、受限的访问(通常是对公共日历进行只读访问)的特殊登录类型。 |
.calendarhostname |
""(空) |
用于检索 HTML 文档的 HTTP 主机。 |
"yes" | ||
dbcachesize |
"8388608" |
Berkeley 数据库用于 HTTP 会话的最大缓存大小。 |
domainallowed |
""(空) |
如果指定,且不为 "",则过滤以允许基于 TCP 域的访问。例如,"ALL:LOCAL.sesta.com" 将允许 sesta.com 域中的任何人进行本地 HTTP 访问。过滤器之间用 CR-LF(换行)分隔。 |
domainnotallowed |
""(空) |
如果指定,且不为 " ",则过滤以禁止基于 TCP 域的访问。例如,"ALL:LOCAL.sesta.com" 将拒绝 sesta.com 域中的任何人进行 HTTP 访问。过滤器之间必须用 CR-LF(换行)分隔。 |
attachdir.path |
"." |
相对于 local.queuedir 的目录位置(或者为指定的绝对路径),用于临时存储导入的文件。 |
ipsecurity |
"yes" |
如果设置为 "yes",则引用现存会话的所有请求都被认为来自同一个 IP 地址。 |
"yes" |
如果设置为 "yes",则在启动所有服务时启动 cshttpd 服务,并在停止所有服务时停止 cshttpd。 |
|
idletimeout |
"120" |
HTTP 连接超时前的秒数。 |
ldap.enable |
"yes" |
如果设置为 "yes",则创建并维护验证和用户首选项的 LDAP 连接。 |
"INADDR_ANY" |
指定 HTTP 服务用于侦听客户机请求的 TCP 地址。"INADDR_ANY" 表示任一地址。 |
|
"no" |
如果设置为 "yes",则完全记录服务器的 HTTP 连接。 |
|
maxsessions |
"5000" |
cshttpd 服务中 HTTP 会话的最大数目。 |
maxthreads |
"20" |
cshttpd 服务中对服务 HTTP 请求的最大线程数。 |
numprocesses |
"1" |
在一台服务器上允许并行运行 HTTP 服务 (cshttpd) 进程的最大数目。 有关具有多个 CPU 的服务器的信息,请参见21.8 在多个 CPU 中使用负载平衡。 |
"80" |
来自 Calendar Server 用户的 HTTP 请求的端口。 |
|
proxydomainallowed |
"" |
如果指定,且不为 "",则过滤以允许基于 TCP 域的代理登录。它与 service.http.domainallowed 具有相同的语法。 |
resourcetimeout |
"900" |
HTTP 会话超时前的秒数。 |
sessiondir.path |
"http" |
HTTP 会话的临时目录。 |
"1800" |
cshttpd 服务中的 HTTP 会话超时前的秒数。 |
|
" " |
用于存储文件的所有 URL 引用的目录,与可执行文件相对。 |
|
用于存储文件的所有 URL 引用的目录,与可执行文件相对。 默认值为:/var/opt/SUNWics5/tmp |
||
"html" |
包含默认日历客户端的目录。如果仅允许 WCAP 访问,则设置为 ""。 |
|
"no" |
如果设置为 "yes",则使用 LDAP SDK 中的缓存。 |
|
"30" |
如果 service.ldapmemcache 为 "yes",则将此值传递给 LDAP SDK。这是一个条目所允许的最大缓存秒数。如果设置为 0,则条目的缓存时间没有限制。 |
|
"131072" |
如果 service.ldapmemcache 为 "yes",则将此值传递给 LDAP SDK。这是缓存将消耗的最大内存量(以字节为单位)。如果设置为 0,则缓存没有大小限制。 |
|
.allowpubliccalendarwrite |
"yes" |
如果设置为 "yes",则允许匿名用户写入可写入的公共日历。 |
"text/calendar" |
指定当前仅应用于空闲/繁忙的默认命令输出格式。 |
|
freebusybegin |
"30" |
指定 get_freebusy 与当前时间的默认偏移(以天数为单位)的开始范围。 |
freebusyend |
"30" |
指定 get_freebusy 与当前时间的默认偏移(以天数为单位)的结束范围。 |
redirecturl |
““ |
用于迁移目的,当迁移只是被部分完成并且日历在原始数据库和 Calendar Server 目标数据库之间被分隔时使用。在 Calendar Server 数据库中没有找到日历的情况下,要在其中查找日历的原始数据库的 URL。 |
createcalendars |
"yes" |
如果设置为 "yes",则允许创建日历。 |
deletecalendars |
"yes" |
如果设置为 "yes",则允许删除日历。 |
changepassword |
"no" |
如果设置为 "yes",则允许更改用户密码。 |
publicwritablecalendars |
"yes" |
如果设置为 "yes",则允许用户拥有可写入的公共日历。 |
setprefs.cn |
"no" |
如果设置为 "yes",则允许 set_userprefs.wcap 属性修改用户首选项 cn(LDAP 用户的通用名称)。 |
setprefs.givenname |
"no" |
如果设置为 "yes",则允许 set_userprefs.wcap 属性修改用户首选项 givenname(LDAP 用户的名)。 |
setprefs.icsCalendar |
"no" |
如果设置为 "yes",则允许 set_userprefs.wcap 属性修改用户首选项 icsCalendar(用户的默认日历标识符)。 |
setprefs.mail |
"no" |
如果设置为 "yes",则允许 set_userprefs.wcap 属性修改用户首选项 mail(用户的电子邮件地址)。 |
preferredlanguage |
"no" |
如果设置为 "yes",则允许 set_userprefs.wcap 属性修改用户首选项 preferredlanguage(LDAP 用户的首选语言)。 |
setprefs.sn |
"no" |
如果设置为 "yes",则允许 set_userprefs.wcap 属性修改用户首选项 sn(LDAP 用户的姓)。 |
setprefs.nswccalid |
"no" |
如果设置为 "yes",则允许 set_userprefs.wcap 属性修改用户首选项 nswccalid,它是用户的默认日历 ID。 |
calendar.publicread |
"no" |
如果设置为 "yes",则默认用户日历初始设置为公用可读和专用可写。如果设置为 "no",则默认用户日历初始设置为专用可读及可写。 |
ldapproxyauth |
"no" |
如果设置为 "yes",则启用 get_userprefs.wcap 命令的 LDAP 代理验证。如果设置为 "no",则执行匿名的 LDAP 搜索。 |
"no" |
如果设置为 "yes",则服务器必须验证以确保日历的每个所有者都存在于目录中(通过 LDAP 或 CSAPI 兼容用户目录机制)。 |
|
"3.0" |
WCAP 版本。 |
下表显示了 ics.conf SSL 配置参数以及每个参数的默认值和说明。大多数的 SSL 参数使用默认值即可,但需要将其中两个参数从系统默认值更改为 SSL 值,如下所示:
service.http.ssl.usessl="yes"
service.http.ssl.port.enable="yes"
下表显示了 ics.conf 参数及其默认设置。请验证您的 ics.conf 参数是否具有适当的值:
表 E–9 SSL 配置参数
以下三个参数将允许或禁止系统发送取消、邀请和回复通知。
表 E–11 ics.conf 文件中的报警通知配置参数
参数 |
默认值 |
说明 |
---|---|---|
"yes" |
决定是否在事件被取消后向参与者发送电子邮件通知。 |
|
"yes" |
决定是否向受邀参与事件的参与者发送电子邮件通知。 |
|
"yes" |
决定是否在参与者回复邀请时向组织者发送电子邮件通知。 |
下表显示了报警通知服务器配置参数以及每个参数的默认值和说明。
表 E–12 ics.conf 文件中的报警通知配置参数
下表显示了日历查找数据库 (Calendar Lookup Database, CLD) 参数以及每个参数的默认值和说明。
表 E–13 ics.conf 文件中的日历查找数据库 (Calendar Lookup Database, CLD) 参数
参数 |
默认值 |
说明 |
---|---|---|
"no" |
启用 ("yes") 或禁用 ("no") 日历查找插件。 |
|
"*" |
指定要装入的特定日历查找插件的名称。如果此值为星号 ("*"),Calendar Server 将装入所有插件。 |
|
"local" |
对于所有内容都在同一台机器上的计算机或仅用作后端服务器的计算机,使用 "local"。 对于仅用作前端的计算机或既作前端又作后端的计算机,使用 "directory"。 |
|
" " |
如果 LDAP 服务器数据库中的用户或资源日历条目没有 icsDWPHost 属性,则指定 Calendar Server 使用的全限定默认 DWP 服务器名。 如果登录到 Calendar Server 中的用户的 LDAP 条目 (login.wcap) 没有 icsDWPHost 属性,Calendar Server 将使用此参数的值来添加属性。 如果用户 LDAP 条目已经有一个 icsDWPHost 属性,则不使用 caldb.dwp.server.default。 此名称必须能够被域名服务 (DNS) 解析成有效的 IP 地址。 |
|
"yes" |
启用 ("yes") 或禁用 ("no") 日历查找数据库 (CLD) 高速缓存选项。要获得 LDAP CLD 插件的最佳性能,将其设置为 "yes"。 |
|
"10" |
以兆字节为单位指定检查点文件的最大大小。 |
|
"4" |
以兆字节为单位指定共享内存的大小。 |
|
"1000" |
指定数据库线程的最大数目。 |
|
"." |
指定 CLD 缓存选项的数据库事件、任务和警报文件的位置。默认值 "." 指定将这些文件存储在 /var/opt/SUNWics5/csdb/cld_cache 目录中。 |
|
"60" |
指定检查点之间的秒数。 |
|
"yes" |
指定为 CLD 缓存选项同步检查点文件后是否将它们删除。 |
|
caldb.dwp.server.host-name.ip |
" " |
指定存储日历数据库的服务器的主机名。该服务器必须正在运行 DWP 服务 (csdwpd)。此名称必须能够被域名服务 (DNS) 解析成有效的 IP 地址。此参数由 LDAP CLD 插件使用。 备注:host-name 在参数的每个部分中都必须保持一致,并且是全限定名称。例如: caldb.dwp.server.sesta.com.ip="sesta.com" |
"1" |
服务器建立新的网络连接前待处理请求的最大数目。 |
|
"2" |
数据库有线协议服务客户端与每个数据库有线协议服务主机之间的初始连接数目。 |
|
"2" |
用于处理数据库有线协议服务请求的初始线程数。 |
|
"1000" |
允许使用数据库有线协议服务的最大服务器连接数目。 |
|
"20" |
允许使用数据库有线协议服务的最大服务器线程数目。 |
|
"no" |
指定服务器是否对所有数据库有线协议服务请求执行 MD5(消息摘要 5)单向散列检查。(单向散列功能用于为消息验证生成数字签名。)
|
|
" " |
为指定计算机主机名上使用数据库有线协议 (Database Wire Protocol, DWP) 服务的服务器指定 IP 地址。 |
|
"59779" |
为指定计算机主机名上使用数据库有线协议 (DWP) 服务的服务器指定端口号。 |
|
" " |
在前端服务器上,指定用来对到后端服务器的 DWP 连接进行验证的用户 ID。其中的 back-end-server 是服务器的名称。 |
|
" " |
在前端服务器上,指定用来对到后端服务器的 DWP 连接进行验证的密码。其中的 back-end-server 是服务器的名称。 |
|
"65536" |
数据库有线协议服务线程的堆栈大小。 |
|
无 |
在日历定位机制中使用 LDAP 插件时用于验证的基本 DN。 |
|
无 |
在日历定位机制中使用 LDAP 插件时要访问的 LDAP 服务器的主机名。 |
|
无 |
在日历定位机制中使用 LDAP 插件时,在 local.authldapbinddn 设置中指定的用户的绑定证书(密码)。 |
|
无 |
在日历定位机制中使用 LDAP 插件时,用于绑定验证以搜索用户 DN 的 DN。 |
|
"389" |
在日历定位机制中使用 LDAP 插件时,要访问的 LDAP 服务器的端口号。 |
|
"no" |
如果设置为 "yes",将只装入在 csapi.plugin.authentication.name 中指定的插件,或者如果不指定,则按字母顺序装入所有验证类插件。验证时,将按字母顺序依次使用每个插件。 |
|
" " |
如果 csapi.plugin.loadall 的值为 "no" 并且 csapi.plugin.authentication 的值为 "yes",则只装入此特定插件。如果不指定或为空白 (" "),则装入所有验证类插件。 |
|
"0" |
数据库有线协议服务日志缓冲区的大小(以字节为单位)。 |
|
"604800" |
数据库有线协议服务日志文件过期前的秒数。 |
|
"60" |
对数据库有线协议服务日志文件进行缓冲区刷新之间的间隔秒数。 |
|
"logs" |
数据库有线协议服务日志文件的目录位置。 |
|
"Notice" |
决定服务器记录数据库有线协议服务细节的级别。每个数据库有线协议日志条目被指定以下级别之一(从最严重的级别开始):Critical、Error、Warning、Notice、Information 和 Debug。如果将此首选项设置为 Critical,服务器将记录最少的细节。如果希望服务器记录最多的细节,请指定 Debug。例如,如果指定 Warning,将只记录 Critical、Error 和 Warning 级别的日志条目。 |
|
"10" |
日志目录中数据库有线协议相关日志文件的最大数目。 |
|
"2097152" |
每个数据库有线协议日志文件的最大大小(以字节为单位)。 |
|
"20971520" |
所有数据库有线协议日志文件的最大磁盘空间(以字节为单位)。 |
|
"5242880" |
记录数据库有线协议服务活动所必需的最小可用磁盘空间(以字节为单位)。达到此值后,服务器将通过使旧日志文件过期来释放磁盘空间。如果没有可以释放的空间,所有记录操作都将暂停。 |
|
"86400" |
数据库有线协议服务日志文件旋转前的秒数。 |
|
" " |
在后端服务器上,指定用来验证 DWP 连接的用户 ID。此参数为可选参数。如果后端服务器不指定用户 ID,则不执行验证。 |
|
" " |
在后端服务上,指定用来对 DWP 连接进行验证的密码。此参数为可选参数。如果后端服务器不指定密码,则不执行验证。 |
|
"localhost" |
运行数据库有线协议服务的计算机的主机名。 |
|
"1000" |
并行运行的数据库有线协议服务线程的最大数目。 |
|
"1" |
一台服务器上允许并行运行数据库有线协议 (DWP) 服务 (csdwpd) 进程的最大数目。 有关具有多个 CPU 的服务器的信息,请参见21.8 在多个 CPU 中使用负载平衡。 |
|
"no" |
如果设置为 "yes",则在启动所有服务时启动 csdwpd 服务,而在停止所有服务时停止 csdwpd |
|
"86400" |
关闭空闲数据库有线协议服务持久性连接之前的秒数。 |
|
"59779" |
数据库有线协议服务侦听的端口号。此值为 LDAP CLD 插件的默认端口。 |
|
"yes" |
启用 ("yes") 或禁用 ("no") 数据库有线协议 (csdwpd) 服务的远程用户验证的 LDAP。 |
|
"yes" |
指定 Calendar Server 是先搜索 LDAP 目录然后搜索日历数据库 ("yes") 还是只搜索日历数据库 ("no")。 |
下表介绍了 ics.conf 文件中有关 LDAP 数据高速缓存的配置参数。
表 E–14 LDAP 数据高速缓存配置参数
参数 |
说明 |
---|---|
启用 ("yes") 或禁用 ("no") LDAP 数据高速缓存。默认值为 "no"。 |
|
指定检查点线程休眠的秒数。默认时间为 "60" 秒。 |
|
指定是否要删除旧的高速缓存文件。默认值为 "yes"。 |
|
指定 LDAP 数据高速缓存数据库的物理位置。默认值为 /var/opt/SUNWics5/csdb/ldap_cache。 |
|
以兆字节为单位指定检查点文件的最大大小。默认值为 "10" 兆字节。 |
|
指定 LDAP 数据高速缓存数据库的最大线程数。默认值为 "1000"。 |
|
以兆字节为单位指定共享内存的大小。默认值为 "4" 兆字节。 |
|
以秒为单位指定 LDAP 数据高速缓存条目的生存时间 (TTL)。默认值为 "3600" 秒(1 小时)。 |
|
指定是否将访问记录到 LDAP 数据高速缓存,以及是否在日志文件中记录统计信息。默认值为 "no"。 注意,此参数仅适用于调试模式。 |
|
以秒为单位指定每个统计报告写入日志文件的时间间隔。默认值为 "1800" 秒(30 分钟)。 |
|
以秒为单位指定清理数据库的时间间隔。默认值为 "1800" 秒(30 分钟)。 |
要配置组和资源日历,使用在下表中找到的参数。
表 E–15 资源日历配置参数
下表显示了使用 Access Manager 时的 SSO 配置参数以及每个参数的默认值和说明。
表 E–16 ics.conf 文件中的 SSO 配置参数(通过 Access Manager)
下表显示了使用通信服务器信任环技术时的 SSO 配置参数以及每个参数的默认值和说明。
表 E–17 ics.conf 文件中使用通信服务器信任环技术的 SSO 配置参数
下表显示了组调度引擎 (Group Scheduling Engine, GSE) 配置参数以及每个参数的默认值和说明。
表 E–18 ics.conf 文件中的组调度引擎 (Group Scheduling Engine, GSE) 配置参数
下表列出了用于配置数据库处理的 ics.conf 参数,并提供了每个参数的默认值和说明。
表 E–19 ics.conf 文件中的数据库配置参数
参数 |
默认值 |
说明 |
---|---|---|
.checkpointinterval |
"60" |
指定检查点数据库事务的时间间隔(以秒为单位)。 |
circularlogging |
"yes" |
如果设置为 "yes",则在同步数据库检查点文件的事务后删除该文件。请勿将此参数设置为 "no",除非已启用自动备份。 |
deadlockinterval |
"100" |
检查需要中断的数据库死锁的时间间隔(以毫秒为单位)。 |
homedir.path |
"." |
存储数据库事件、任务和警报文件的目录(相对于可执行程序文件或指定的绝对路径)。默认值为 ".",它指定: /var/opt/SUNWics5/csdb |
logfilesizemb |
"10" |
数据库检查点文件的最大字节数(以兆字节为单位)。 |
maxthreads |
"10000" |
数据库环境必须准备容纳的最大线程数。 |
mempoolsizemb |
"4" |
数据库环境的共享内存(以兆字节为单位)。 |
" " |
用于管理数据库的用户或别名的电子邮件。 |
|
"yes" |
如果设置为 "yes",将计算数据库统计信息(读取、写入和删除)。 |
|
maxinstances |
"100" |
可以拥有计数器的最大日历数目。可使用 cscal 命令行实用程序启用日历的计数器。 |
"en" |
指定 /etc/opt/SUNWics5/config 下包含用来格式化电子邮件通知的本地化版本文件的目录。 例如,"en" 指定英文本地化版本的目录,而 "fr" 指定法文本地化版本的目录。 |
|
"25" |
SMTP 主机的端口。 |
|
"no" |
定期检查 Berkeley 数据库是否处于死锁状态,如果是,则指示该数据库重置。 |
下表列出了自动备份进程 (csstored) 所使用的参数,提供了默认值(如果可用),并介绍了 ics.conf 参数。
表 E–20 自动备份进程所使用的 ics.conf 参数
参数 |
默认值 |
说明 |
---|---|---|
defaultstore.log |
日志文件名。 |
|
"." |
日志目录的路径。 |
|
path |
无 |
动态数据库的路径。 |
path |
无 |
归档备份的路径。 |
path |
无 |
紧急备份的路径。 |
enable |
"yes" |
启用/禁用自动归档备份。 |
enable |
"yes" |
启用/禁用自动紧急备份。 |
mindays |
"3" |
保留在磁盘上的紧急备份副本的最小数目。 |
threshold |
"70" |
触发清除旧的紧急备份副本时已用磁盘空间占总磁盘空间的百分比。 |
interval |
"86400" |
备份之间的时间间隔(以秒为单位)。默认值为 24 小时,即 86400 秒。 |
mindays |
"3" |
保留在磁盘上的归档备份副本的最小数目。 |
maxdays |
"7" |
保留在磁盘上的归档备份副本的最大数目。 |
threshold |
"70" |
触发清除旧的归档备份副本时已用磁盘空间占总磁盘空间的百分比。 |
circularlogging |
"yes" |
启用/禁用对备份副本数和备份副本所占磁盘空间的管理。 |
interval |
"86400" |
备份之间的时间(以秒为单位)。 默认值为 24 小时或 86400 秒。 |
(未包含在 ics.conf 文件中) |
"yes" |
使 csstored 可以由 start-cal 启动。如果要禁止 csstored 由 start-cal 启动,则必须将此参数添加到 ics.conf 文件中,并将其设置为 "no"。 |
下表介绍了用于配置日历数据库的各参数的参数、默认值以及说明。如果需要非默认值,则必须在 ics.conf 文件中进行设置。
表 E–21 用于 ENS 消息的日历数据库参数
可将 Calendar Server 配置为使用外部通用服务,即事件通知服务 (ENS),该服务接受服务器级别的事件(可按特定的兴趣区域归类)报告,然后通知其他已注册的对某些事件感兴趣的服务器。Calendar Server 使用 ENS 发送和接收警报通知,包括日历事件和任务的创建、删除或修改以及常规操作警告和错误消息。
下表显示了ics.conf 中的事件通知服务器 (Event Notification Server, ENS) 配置参数。以及每个参数的默认值和说明。
表 E–22 ics.conf 文件中的事件通知服务 (ENS) 配置参数
下表显示了 Calendar Server API (CSAPI) 配置参数以及每个参数的默认值和说明。
表 E–23 ics.conf 文件中的 CSAPI 配置参数
Calendar Server 计数器(统计信息)配置参数存储在以下文件中:
/etc/opt/SUNWics5/config/counter.conf
counter.conf 文件是一个 ASCII 文本文件,其中的每一行定义一个计数器以及该计数器的参数:名称、类型、大小(以字节为单位)和说明。带空格的参数必须括在双引号 (" ") 中。每个注释行都必须以感叹号 (!) 开头。注释行仅用于提示性目的。
计数器名称的第一部分标识与 csstats 实用程序一起使用的计数器对象。有关命令行实用程序的更多信息,请参见附录 D,Calendar Server 命令行实用程序参考。
如果没有用户支持工作人员的指导,请勿修改 counter.conf 文件。
本节介绍 Calendar Server counter.conf 参数,包括以下内容:
下表显示了每个报警计数器的名称、类型、大小和说明。
表 E–24 counter.conf 文件中的警报计数器
名称 |
类型 |
大小 |
说明 |
---|---|---|---|
计量器 |
4 |
过去记录的最高值。 |
|
计量器 |
4 |
过去记录的最低值。 |
|
计量器 |
4 |
当前监视的值。 |
|
计量器 |
4 |
警告状态:是 (1) 或否 (0)。 |
|
计数器 |
4 |
超出阈值的次数。 |
|
计数器 |
4 |
已发送警告的次数。 |
|
时间 |
4 |
上次设置当前值的时间。 |
|
时间 |
4 |
上次发送警告的时间。 |
|
时间 |
4 |
上次执行重置的时间。 |
|
时间 |
4 |
上次更改警告状态的时间。 |
下表显示了每个磁盘使用计数器的名称、类型、大小和说明。
表 E–25 counter.conf 文件中的磁盘使用计数器
名称 |
类型 |
大小 |
说明 |
---|---|---|---|
计量器 |
5 |
磁盘分区中总的可用空间。 |
|
时间 |
4 |
上次记录统计信息的时间。 |
|
字符串 |
512 |
日历分区路径。 |
|
计量器 |
4 |
磁盘分区可用空间的百分比。 |
|
计量器 |
5 |
磁盘分区的总空间。 |
下表显示了每个 HTTP 计数器的名称、类型、大小和说明。
表 E–26 counter.conf 文件中的 HTTP (httpstat) 计数器
名称 |
类型 |
大小 |
说明 |
---|---|---|---|
计量器 |
4 |
平均连接响应次数。 |
|
时间 |
4 |
启动 Calendar Server 的时间。 |
|
时间 |
4 |
上次接受新客户端连接的时间。 |
|
计数器 |
4 |
提供并行连接的最大数目。 |
|
计数器 |
4 |
提供的 WCAP 会话的最大数目。 |
|
计数器 |
4 |
提供的连接总数目。 |
|
计量器 |
4 |
当前活动连接的数目。 |
|
计量器 |
4 |
WCAP 会话的当前数目。 |
|
计数器 |
4 |
提供的失败连接的总数目。 |
|
计数器 |
4 |
当前 HTTP 服务器提供的成功登录的数目。 |
|
计数器 |
4 |
当前 HTTP 服务器提供的失败登录的数目。 |
下表显示了每个组调度引擎 (Group Scheduling Engine, GSE) 计数器的名称、类型、大小和说明。
表 E–27 counter.conf 文件中的组调度引擎 (Group Scheduling Engine, GSE) 计数器
名称 |
类型 |
大小 |
说明 |
---|---|---|---|
时间 |
4 |
上次 GSE 唤醒并处理作业的时间。 |
|
时间 |
4 |
上次 GSE 处理作业的时间。 |
|
计数器 |
4 |
GSE 已处理的作业总数目。 |
|
计数器 |
4 |
活动工作线程的总数目。 |
下表显示了每个验证计数器的名称、类型、大小和说明。
表 E–28 counter.conf 文件中的验证 (authstat) 计数器
名称 |
类型 |
大小 |
说明 |
---|---|---|---|
时间 |
4 |
上次用户登录的时间。 |
|
计数器 |
4 |
提供的成功登录的总数目。 |
|
计数器 |
4 |
提供的失败登录的总数目。 |
下表显示了每个 WCAP 计数器的名称、类型、大小和说明。
表 E–29 counter.conf 文件中的 WCAP (wcapstat) 计数器
名称 |
类型 |
大小 |
说明 |
---|---|---|---|
计数器 |
4 |
WCAP 请求的总数目。 |
下表显示了每个数据库计数器的名称、类型、大小和说明。
表 E–30 counter.conf 文件中的数据库 (dbstat) 计数器
名称 |
类型 |
大小 |
说明 |
---|---|---|---|
计数器 |
4 |
读取数据库的总次数。 |
|
计数器 |
4 |
写入数据库的总次数。 |
|
计数器 |
4 |
删除数据库的总次数。 |
|
时间 |
4 |
上次读取数据库的时间。 |
|
时间 |
4 |
上次写入数据库的时间。 |
|
时间 |
4 |
上次删除数据库的时间。 |
下表显示了每个服务器响应计数器的名称、类型、大小和说明。
表 E–31 counter.conf 文件中的服务器响应计数器
名称 |
类型 |
大小 |
刻度 |
说明 |
---|---|---|---|---|
时间 |
4 |
上次记录统计信息的时间。 |
||
计量器 |
4 |
2 |
服务器的响应时间(以毫秒为单位)。 |
下表显示了每个会话状态计数器的名称、类型、大小和说明。
表 E–32 counter.conf 文件中的会话状态计数器
名称 |
类型 |
大小 |
刻度 |
说明 |
---|---|---|---|---|
计数器 |
4 |
4 |
提供的 HTTP 会话的最大数目。 |
|
计量器 |
4 |
2 |
HTTP 会话的当前数目。 |
Calendar Server 将发送E.4.1 Calendar Server 电子邮件通知配置参数和格式文件中所介绍的电子邮件消息类型。这些消息的格式由表中所列出的关联格式文件 (.fmt) 决定。这些格式文件位于每个语言环境的特定目录中(如英文为 /en,法文为 /fr),如下所示:
/etc/opt/SUNWics5/config
例如,任务(待办事项)警报消息格式的英文版在下面的文件中指定:
/etc/opt/SUNWics5/config/en/mail_todoalarm.fmt
本节包括以下内容:
下表显示了每个 Calendar Server 邮件参数的消息类型、ics.conf 参数名称、默认格式文件说明以及收件人。
表 E–33 ics.conf 文件中的 Calendar Server 电子邮件格式
消息类型 |
参数 |
格式文件(默认) |
说明 |
收件人 |
---|---|---|---|---|
发布事件 |
fname |
宣布事件或对现有事件的更改 |
在通知中列出的收件人 |
|
取消事件 |
fname |
宣布取消事件 |
在通知中列出的收件人 |
|
回复事件 |
fname |
回复事件通知。 |
在通知中列出的收件人 |
|
请求事件 |
fname |
订阅事件通知。 |
在通知中列出的收件人 |
|
事件警报 |
fname |
即将举行的事件的提醒通知 |
在提醒通知中列出的收件人 |
|
重复性事件通知 |
notificationrecur.fname |
"mail_event notificationrecur.fmt" |
通知重复性事件 |
在通知中列出的收件人 |
事件取消通知 |
notification.fname |
notification.fmt" |
通知取消的事件 |
在通知中列出的收件人 |
重复性事件取消通知 |
notificationrecur.fname |
notificationrecur.fmt" |
通知取消的重复性事件 |
在通知中列出的收件人 |
参与者回复:接受通知 |
notification.fname |
notification.fmt" |
通知事件组织者某参与者已接受邀请。 |
事件组织者 |
参与者回复:拒绝通知 |
notification.fname |
notification.fmt" |
通知事件组织者某参与者已拒绝邀请。 |
事件组织者 |
参与者回复:尝试性接受通知 |
acceptnotification.fname |
acceptnotification.fmt" |
通知事件组织者某参与者已尝试性接受邀请。 |
事件组织者 |
参与者回复:接受周期事件通知 |
notificationrecur.fname |
notificationrecur.fmt" |
通知事件组织者某参与者已接受参与周期事件。 |
事件组织者 |
参与者回复:拒绝周期事件通知 |
notificationrecur.fname |
notificationrecur.fmt" |
通知事件组织者某参与者已拒绝参与周期事件。 |
事件组织者 |
参与者回复:尝试性接受周期事件通知 |
tentativeaccept notificationrecur.fname |
acceptnotificationrecur.fmt" |
通知事件组织者某参与者已尝试性接受参与周期事件。 |
事件组织者 |
发布任务 |
fname |
宣布任务或对现有任务的更改 |
在通知中列出的收件人 |
|
取消任务 |
宣布取消任务 |
在通知中列出的收件人 |
||
回复任务 |
fname |
回复任务通知 |
在通知中列出的收件人 |
|
待办事项请求 |
fname |
订阅待办事项通知。 |
在通知中列出的收件人 |
|
任务警报 |
fname |
即将举行的任务的提醒通知 |
在提醒通知中列出的收件人 |
Calendar Server 通过将特定事件或任务与格式文件的内容合并起来生成通知消息。可以将事件或任务中的数据字段值输出到消息中。通知消息中也可以包括 MIME 标头行以及关联的特殊值。使用特殊字符序列(格式表示法),可以在消息中包括事件、任务和 MIME 标头的值。格式文件中的行都是由特殊字符序列组成的格式字符串,其中的字符序列会在生成邮件消息时替换为日历数据字段的实际值。特殊字符序列由两个字符组成,第一个字符是百分号 (%),第二个字符代表特定的格式表示法。
以下各节介绍特殊字符序列:
下表显示了事件通知中使用的特殊字符序列的格式代码和含义。
表 E–34 事件通知的特殊字符序列
格式代码 |
含义 |
---|---|
%0 |
本地化格式的开始时间 |
%1 |
本地化格式的结束时间 |
%A |
iCalendar 格式中的 exdates(以分号分隔的 ISO 8601 日期字符串列表,列出要排除的日期) |
%a |
iCalendar 格式中的 rdates(以分号分隔的 ISO 8601 日期字符串列表,列出周期性日期) |
%B |
开始时间(另请参见 %Z) |
%b |
以 iCalendar 格式输出开始时间和结束时间。如果开始时间参数的值等于日期,则只输出日期的 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 |
唯一事件标识符 |
%Z |
与时间字段代码一起使用,强制以 UTC 时间格式显示时间。(%B 以当地时间显示开始时间,而 %ZB 以 UTC 时间显示开始时间。) |
%% |
显示百分号 (%) |
% |
指定由代码标识的数据的子格式。(有关详细信息,参见 E.4.3 Calendar Server 通知日期子格式字符串。) |
可以多种不同的方法格式化日期时间值。使用子格式可以提供附加信息,以说明如何格式化日期时间值。如果不指定子格式,服务器将使用默认格式输出日期。使用子格式字段可以指定要使用的精确格式。
例如,%B 指定在输出字符串中包括事件的开始时间。此默认格式将打印日期、时间、时区以及有关该日期的其他可能的信息。日期值的子格式字符串是 strftime 格式的字符串(参见E.4.6 日期的特殊字符序列)。如果只想了解开始时间的年和月,不要使用 %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–35 任务通知的特殊字符序列
格式代码 |
含义 |
---|---|
%A |
iCalendar 格式中的 exdates(以分号分隔的 ISO 8601 日期字符串列表,列出要排除的日期) |
%a |
iCalendar 格式中的 rdates(以分号分隔的 ISO 8601 日期字符串列表,列出周期性日期) |
%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 |
%Z |
与时间字段代码一起使用,强制以 UTC 时间格式显示时间(%B 以当地时间显示开始时间,而 %ZB 以 UTC 时间显示开始时间) |
%% |
显示 % 字符 |
%(子格式代码) |
为代码标识的数据指定子格式(有关详细信息,参见 E.4.3 Calendar Server 通知日期子格式字符串) |
下表显示了日期的特殊字符序列的格式代码和含义。
仅为方便起见,才在本节列出特殊的日期格式代码。Calendar Server 不会重新编写任何代码,只是使用操作系统实现。
格式代码 |
含义 |
---|---|
%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 小时格式表示的当前语言环境的 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 事件提醒通知 2 ~~MIME 版本: 1.0%N 3 ~~内容类型: text/plain; charset=%s%N 4 ~~内容传输编码: %x%N%N 5 摘要: %s%N 6 开始时间: %(%a, %d %b %Y %I:%M %p)B%N 7 结束时间: (%a, %d %b %Y %I:%M %p)E%N 8 地点: %L%N%N 9 说明: %N%d%N |
本示例中每一行的说明如下:
第 1 行是消息主题。
第 2 行以 ~~ 开头,表明它是一个 MIME 包装行。也就是说,特殊字符序列的替换物与内部 MIME 对象关联,而不是与事件或任务关联。特殊序列 %N 表示换行。主题行不需要特殊的换行序列,而其他各行都需要。
第 3 行也是一个 MIME 标头行。它包含特殊字符序列 %s,该序列将被替换为与电子邮件中的事件或任务相关联的字符集。
第 4 行是最后一个 MIME 行,%x 是此消息所需的内容传输编码字符串。
第 5 行列出了事件摘要,事件摘要是用 %s 调出来的。
第 6 行列出了事件的开始时间。它利用特殊字符序列 %B 的子格式字符串。有关详细信息,参见 E.4.3 Calendar Server 通知日期子格式字符串。
第 7 行列出了事件的结束时间。
第 8 行列出了事件的位置。
第 9 行列出了事件说明。
下面的样例与以上示例生成的通知消息类似:
自: jsmith@sesta.com (James Smith) 日期: 1999 年 11 月 15 日星期三 19:13:49 到: jsmith@sesta.com 主题: 时间提醒通知 MIME 版本: 1.0 内容类型: text/plain; charset=us-ascii 内容传输编码: 7 位 摘要: smtp_rig 事件 1 开始时间: 1999 年 11 月 16 日星期二 02:00 PM 结束时间: 1999 年 11 月 16 日星期二 03:00 PM 地点: 格林会议室 说明: 这是偶然生成的事件的说明。 |
以下示例显示了更复杂的、由多部分组成的消息。此示例包括一个文本部分和一个 IMIP PUBLISH 部分。
事件发布 ~~MIME 版本: 1.0%N ~~内容类型: multipart/mixed; boundary="%b"%N%N 这是 MIME 格式的多部分消息。%N ~~--%b%N ~~内容类型: text/plain; charset=%s%N ~~内容传输编码: %x%N%N 摘要: %s%N 开始时间: %(%a, %d %b %Y %I:%M %p)B%N 结束时间: %(%a, %d %b %Y %I:%M %p)E%N 地点: %L%N%N 说明: %N%d%N%N ~~--%b%N ~~内容类型: text/calendar; method=%m; component=%c; charset=%s%N ~~内容传输编码: %x%N%N 开始:VCALENDAR%N 时间长度:-//iPlanet/Calendar Hosting Server//EN%N 方法:PUBLISH%N 版本:2.0%N 开始:VEVENT%N 组织者:%K%N 时间戳:%Zn%N 开始时间:%ZB%N 结束时间:%ZE%N 摘要:%s%N UID:%U%N %R %A %a %e %l 序列:%S%N 地点:%L%N GEO:%G%N %F 状态:%t%N 结束:VEVENT%N 结束:VCALENDAR%N ~~--%b-- |