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

Sun logo
Sun Java System Calendar Server 管理指南 

第 13 章
管理日历

本章介绍了如何使用 Calendar Server 命令行实用程序来置备和管理日历,它包含以下主题:


日历管理概述

本节包含以下主题:

日历类型

有两种基本的日历类型。以下是有关这两种类型的信息:

日历的模式 1 工具

模式 1 模式中可使用的三种实用程序:

日历的模式 2 工具

在模式 2 模式中时,请使用 cscal 来创建和管理用户日历和资源日历。


注意

commadmin 实用程序不具备用于日历管理的命令。


要运行 cscal,必须以具有管理权限的用户身份登录正在运行 Calendar Server 的系统。另请参阅非 commadmin 命令行实用程序参考附录 D“Calendar Server 命令行实用程序参考”


创建日历的唯一标识符 (calid)

Calendar Server 数据库中的每个日历都由一个唯一的日历标识符 (ID) 或 calid 标识。创建日历时,要求指定 calid

本节包含以下主题:

Calid 语法

数据库中的每个日历都由一个唯一的日历 ID (calid) 标识。下面的 calid 语法分成三个部分:

userid[@domain][:calendar-name]

这三个部分分别为:

日历 ID 创建规则

创建 calid 时,请注意以下规则:

正确的日历 ID 示例:
jsmith
jsmith:private_calendar
jsmith@calendar.sesta.com:new-cal

将非托管 Calid 转换为托管域格式的 Calid

如果在拥有托管域之前已创建 calid,并且希望将非托管域的 calid 转换为托管域的 calid,可以使用 csvdmig 实用程序将域部分添加到现有 calid 中。有关如何使用此实用程序的说明,请参阅 csvdmig


用户日历的自动置备

自动置备功能仅用于用户日历;资源日历必须显式创建。

如果启用了自动置备功能,就不必显式创建用户日历。启用自动置备功能之后,Calendar Server 将在用户首次登录时创建默认日历。

Calendar Server 将根据用户 ID 为这个新的默认日历创建日历 ID (calid),除非已存在同名的日历。

例如,如果 John Smith 使用用户 ID jsmith 首次登录 Calendar Server,则 Calendar Server 将自动创建以 jsmith 作为 calid 的默认日历。John Smith 随后创建的每个日历的 calid 都将使用 jsmith:作为日历名称的前缀。例如,如果 John Smith 随后创建了名为 meetings 的新日历,则新日历(在非托管环境中)的 calidjsmith:meetings


注意

如果将不具有默认日历的用户指定为参与者,则 Calendar Server 将显示错误信息:未找到日历。


启用自动置备功能:

禁用自动置备功能:


日历访问控制

Sun™ ONE Calendar Server 使用访问控制列表 (ACL) 来确定日历、日历特性和日历组件(例如事件和待办事件 [任务])的访问控制。

本节包含以下主题:

访问控制的配置参数

表 13-1 介绍了 ics.conf 文件中 Calendar Server 用于访问控制的配置参数。有关详细信息,请参阅附录 E“Calendar Server 配置参数”

表 13-1 访问控制的配置参数 

参数

说明

calstore.calendar.default.acl 

指定用户创建日历时使用的默认访问控制设置。默认值为:

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

calstore.calendar.owner.acl

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

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

resource.default.acl

指定创建资源日历时使用的默认访问控制设置。默认值为:

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

“公用”和“私人”事件与任务过滤器

创建新事件或任务时,用户可以指定该事件或任务是“公用”、“私人”还是“仅时间与日期(保密)”:

calstore.filterprivateevents 确定 Calendar Server 是否过滤(识别)“私人”和“仅时间与日期 (保密)”事件和任务。默认情况下此参数被设置为“yes”。如果将 calstore.filterprivateevents 设置为 no,那么 Calendar Server 将按处理“公用”事件和任务的方式处理“私人”及“仅时间与日期”事件和任务。

访问控制的命令行实用程序

表 13-2 介绍了允许设置或修改访问控制的 ACL 的 Calendar Server 命令行实用程序:

表 13-2 访问控制的命令行实用程序

实用程序

说明

cscal

使用带有 -a 选项的 create 和 modify 命令为特定的用户日历或资源日历设置 ACL。

csresource

如果正在使用 csresource 创建资源日历(在模式 1 模式下运行),请使用带 -a 选项的 csresource 实用程序来设置资源日历的 ACL。

commadmin 用户

csuser

使用 commadmin 实用程序更改用户创建日历时使用的默认 ACL。

使用带 -a 选项的 csuser 实用程序更改用户创建日历时使用的默认 ACL。


创建日历

本节包含以下主题:

使用 cscal 创建用户日历

要创建新日历,请使用 cscal 实用程序的 create 命令。LDAP 目录中必须已经存在用户条目或资源条目。有关向 LDAP 目录添加用户和资源的信息,请参阅第 12 章“管理用户和资源”

如果您的站点使用的是 LDAP 日历查找数据库 (CLD) 插件,则必须按照用户条目或资源条目中的 icsDWPHost LDAP 属性中的指定,在同一后端服务器上为特定用户或资源创建所有日历。如果试图在不同的后端服务器上创建日历,cscal 实用程序将返回一条错误信息。有关 LDAP CLD 插件的信息,请参阅第 9 章“配置日历查找数据库插件”

例如,可使用以下命令创建日历 ID (calid) 为 jsmith 的新日历:

cscal -o jsmith -n JohnSmithCalendar create jsmith

其中:

要创建属主为 John Smith,可见名称为 Hobbies,并且使用默认访问控制设置进行组计划的日历,请使用以下命令:

cscal -n Hobbies -o jsmith create Personal

其中:

以下示例将创建与上一个实例类似的新日历,但它还与名为 sports 的类别关联,同时还启用了双重预定,并指定 Ron Jones 作为另一个属主:

cscal -n Hobbies -o jsmith -g sports -k yes -y rjones create Personal

其中:

以下示例创建了与上一个示例类似的日历,但它还为组计划设置了的特定的访问控制设置:

cscal -n Hobbies -o jsmith -a "@@o^a^sfr^g" create Personal

其中,-a "@@o^a^sfr^g" 为其他属主授予对该日历的组计划组件和日历特性进行预定、空闲/繁忙和读取访问权限,。

准备创建资源日历

资源日历与可以安排的物品关联,例如,会议室、笔记本计算机、顶置光源投影仪以及其他设备。资源日历需要访问控制列表。

ics.conf 文件中适用于资源日历的两个配置参数:

要更改这些参数的默认值(如表 13-3 中所示),请编辑 ics.conf 文件。对默认值所做的更改只能应用到新的资源日历,而不能更改现有资源日历的值。如果希望更改现有资源日历的值,需要使用 cscal 实用程序或 commadmin resource modify 命令。csresource 实用程序没有 modify 命令。

有关详细信息,请参阅附录 E“Calendar Server 配置参数”

表 13-3 ics.conf 文件中的资源日历配置参数

参数

说明

resource.default.acl

此参数决定创建资源日历时使用的默认访问控制权限。默认权限由以下访问控制列表 (ACL) 指定:

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

此 ACL 将授予所有日历用户读取、调度和空闲/繁忙访问该日历(包括组件和特性)的权限。

要更改资源的权限,请在使用 csresource 实用程序的 create 命令创建日历时使用 -a 选项。

resource.allow.doublebook

此参数决定资源日历是否允许双重预定。双重预定功能允许为资源日历的同一时段预定一个以上的事件。

默认值为“no”,即不允许双重预定。

要启用资源日历的双重预定功能,请在使用 csresource 实用程序的 create 命令创建日历时使用 -k 选项。

创建资源日历

Calendar Server 不会自动置备资源日历。对于您的站点要求的每个资源,必须使用 csresource 实用程序的 create 命令来手动置备资源 LDAP 条目并在日历数据库中创建其日历。创建资源日历时需注意以下事项:

例如,可使用以下命令创建日历 ID 为 aud100,可见名称为 Auditorium(LDAP cn 属性)且具有表 13-3 所示的默认设置的资源日历:

csresource -c aud100 create Auditorium

以下命令与上一个命令执行相同的操作,但 -k 选项允许对日历进行双重预定,-o 选项指定 bkamdar 作为日历的属主,而 -y 选项指定 jsmith 作为另一个属主:

csresource -c aud100 -k yes -o bkamdar -y jsmith create Auditorium

如果不为资源日历指定属主,其值将由 ics.conf 文件中的 service.admin.calmaster.userid 参数指定。


注意

Calendar Server 通知软件不会向资源发送通知,而是仅向用户发送通知。



管理用户日历

创建用户日历后,请使用 cscal 实用程序执行以下管理任务:

显示日历

要显示所有日历、某个用户拥有的所有日历或特定日历的特性,请使用 cscal 实用程序的 list 命令。

例如,可使用以下命令列出日历数据库中的所有日历:

cscal list

可使用以下命令列出 jsmith 拥有的所有日历:

cscal -o jsmith list

可使用以下命令列出日历 ID 为 jsmith:meetings 的日历的所有特性:

cscal -v list jsmith:meetings

删除日历

最终用户可以使用 Calendar Express 取消订阅日历,但不能从 Calendar Server 数据库中删除日历,删除日历的操作只能由对系统拥有管理权限的管理员完成。

要从 Calendar Server 中删除删除一个或多个日历,请使用 cscal 实用程序的 delete 命令。此实用程序将删除日历,但并不会从目录服务器中删除用户。


警告

delete 命令将从日历数据库中删除所有日历信息,并且不能撤消。删除日历后,只有在已经对日历数据进行了备份的情况下才能恢复它。有关详细信息,请参阅第 15 章“备份和恢复 Calendar Server 数据”


可以使用 cscal 实用程序删除一个或多个日历。

例如,可使用以下命令删除日历 ID 为 jsmith:meetings 的特定日历:

cscal delete jsmith:meetings

可使用以下命令删除主要属主为 jsmith 的所有日历:

cscal -o jsmith delete

禁用和启用日历

要禁止用户访问日历,请使用 cscal 实用程序的 disable 命令。disable 命令将禁止用户访问日历,但并不会从日历数据库中删除信息。

例如,可使用以下命令禁止用户访问 jsmith:meetings

cscal disable jsmith:meetings

要启用日历以允许用户访问,请使用 cscal 实用程序的 enable 命令。例如,可使用以下命令来使用默认配置设置启用日历 jsmith:meetings

cscal enable jsmith:meetings

可使用以下命令启用日历 jsmith:meetings,但不允许双重预定:

cscal -k no enable jsmith:meetings

修改日历特性

要修改日历特性,请使用 cscal 实用程序的 modify 命令。

例如,可使用以下命令更改 AllAdmins 的组计划访问控制设置,并指定 RJones 作为另一个属主:

cscal -a "@@o^c^wd^g" -y RJones modify AllAdmins

其中:

从日历中删除特性

要从日历中删除特性值,请使用 cscal 实用程序的 modify 命令,并用两个双引号 ("") 指定选项的值。

例如,可使用以下命令从 jsmith:meetings 中删除说明:

cscal -d "" modify jsmith:meetings

可使用以下命令从 jsmith:meetings 中删除所有类别:

cscal -g "" modify jsmith:meetings

可使用以下命令从 jsmith:meetings 中删除其他属主:

cscal -y "" modify jsmith:meetings

恢复“丢失的”日历

如果用户的默认日历未出现在 Calendar Express 的“视图”或“日历”选项卡上,但仍存在于数据库中,则可以通过更新用户 LDAP 条目中的以下属性来恢复该日历:

其中,default_calid 为用户的默认日历 ID (calid)。

可以使用 ldapmodify Directory Server 实用程序、csuser reset 命令或 commadmin user modify 命令。对于模式 1,可以使用 csattribute add 命令更新属性。


管理资源日历

显示资源日历及其属性

要显示资源日历,请使用 csresource 实用程序的 list 命令。

例如,可使用以下命令显示所有 Calendar Server 资源日历及其对应的 LDAP 属性的列表:

csresource list

可使用以下命令显示名为 Auditorium 的特定资源日历的所有 LDAP 属性的列表:

csresource -v list Auditorium

修改资源日历

要修改资源日历,请使用 cscal 实用程序的 modify 命令(csresource 实用程序没有 modify 命令)。

例如,可使用以下命令为名为 Auditorium 的资源日历设置一个名为 tchang 的属主并为其添加另一个名为 mwong 的属主:

cscal -o tchang -y mwong modify aud100

在本例中,cscal 实用程序需要 calid (aud100),而不是日历名称 (Auditorium)。

禁用和启用资源日历

您可能希望禁用资源日历,以防止用户预定事件。例如,会议室可能因为装修而无法使用,或顶置光源投影仪已送修。

要禁用或启用资源日历,请使用 csresource 实用程序的 enabledisable 命令。

例如,可使用以下命令禁用名为 Auditorium 的资源日历:

csresource disable Auditorium

然后,可使用以下命令启用资源日历:

csresource enable Auditorium

删除资源日历

要删除资源日历,请使用 csresource 实用程序的 delete 命令。

例如,可使用以下命令删除名为 Auditorium 的资源日历:

csresource delete Auditorium

Calendar Server 将显示以下消息:

是否确实要删除此资源 (y/n)?

输入“y”删除日历或输入“n”取消操作。

如果输入“y”,Calendar Server 将删除日历并显示一条表明日历已被删除的消息。


创建日历链接

可以创建一个或多个用户日历或资源日历的链接,只要每个日历设置了允许读取访问的权限。例如,可以在 Web 页或电子邮件中嵌入日历链接。然后,其他用户就可以匿名查看该日历而无需登录 Calendar Server。

可使用以下语法创建一个或多个用户日历的链接:

http://hostname:port/[command.shtml]?calid=calid-1;calid-2; ... ;calid-n&view=viewname

请使用半角分号 (;) 分隔每个日历 ID (calid)。

viewname 可以是 overviewdayviewweekviewmonthview。(view 也可以为 yearview,但没有上述几个视图有用。)

注意:如果只链接一个日历且不使用 view 选项(或其他选项),请忽略 command.shtml。

例如,要链接 jsmith 的默认日历,请输入:

http://calendar.sesta.com:8080/?calid=jsmith

要链接 calidoverhead_projector10 的顶置光源投影仪的资源日历,请输入:

http://calendar.sesta.com:8080/?calid=overhead_projector10

但要链接 jsmithtchang 的默认日历,并以日视图显示日历,则请输入:

http://calendar.sesta.com:8080/command.shtml?calid=jsmith;tchang&
view=dayview


导入和导出日历数据

要将日历数据导出到文件中,或从文件中导入日历数据,请使用 csexportcsimport 实用程序。日历数据可以是 iCalendar (.ics) 或 XML (.xml) 格式。

必须在已安装 Calendar Server 的本地计算机上运行 csexportcsimport。Calendar Server 可以正在运行或已经停止。

导出日历数据

要将日历数据导出到文件中,请使用 csexport。为输出文件指定的文件扩展名(.ics.xml)决定了使用的格式。

例如,可使用以下命令以 iCalendar(文本/日历 MIME)格式将日历 ID (calid) 为 jsmithcal 的日历导出到名为 jsmith.ics 的文件中:

csexport -c jsmithcal calendar jsmith.ics

可使用以下命令以 XML (text/xml MIME) 格式将日历 jsmithcal 导出到名为 jsmith.xml 的文件中:

csexport -c jsmithcal calendar jsmith.xml

导入日历数据

要从以前使用 csexport 实用程序保存的文件中导入日历数据,请使用 csimport。导入文件的文件扩展名(.ics.xml)表明了日历的保存格式。

例如,可使用以下命令从以 iCalendar(文本/日历 MIME)格式保存的文件 jsmith.ics 中将日历数据导入到日历 ID (calid) 为 jsmithcal 的日历中:

csimport -c jsmithcal calendar jsmith.ics

可使用以下命令从以 XML (text/xml MIME) 格式保存的文件 jsmith.xml 中将数据导入到日历 jsmithcal 中:

csimport -c jsmithcal calendar jsmith.xml

如果指定的日历 ID (calid) 已经存在,将在导入新数据之前清除该日历中的旧数据。



上一个      目录      索引      下一个     


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