内容


重温 Lotus Notes 离开办公室代理:第 1 部分

离开办公室代理基础

Comments

在这个由两部分组成的文章系列中,我们将重新研究 Lotus Notes/Domino 离开办公室代理。1998 年,我们发表了一篇名为“Demystifying the Out of Office agent”的文章。虽然在数年之后,该文章仍然广为阅读(并且仍然适用于运行 Notes/Domino 版本 4.5 和 5.x 的用户),但是自发表之后,很多东西已经发生变化。这个新文章系列将重新回顾 Notes/Domino 6.x 和 7.0 中的离开办公室功能。在该系列的第 1 部分,我们从介绍离开办公室代理开始,然后查看不同的启用代理方法的主要区别。在第 2 部分中,将查看有关离开办公室代理的常见配置问题,并讨论故障排除技巧。

本文适用于想开始使用离开办公室代理的 Notes 用户,以及想帮助其 Notes 用户运行该代理的管理员。

离开办公室代理简介

离开办公室代理是一种 LotusScript 代理,LotusScript 代理是 Notes 邮件模板的一部分。启用后,当离开办公室时,离开办公室代理会自动答复收到的邮件。配置代理时,可以指定消息文本,并设置关于哪些人不应该收到任何消息或哪些人应该收到特定消息方面的规则。外出时,离开办公室代理可以将您的日历标记为“忙”(如果选择了这项设置)。在您外出期间,对每个给您发送邮件的人,即使给您发送了多封邮件,代理都只会自动答复一次。

配置并启用离开办公室代理

要启用离开办公室代理,请打开您的邮件数据库,单击 Tools,然后选择 Out of Office。或者也可以选择 Actions - Tools - Out of Office。还可以通过单击 Tools 并选择 Out of Office 从日历启用代理。最后,还可以通过 Tools - Out of Office 使用 Domino Web Access 启用离开办公室代理。

当选择 Out of Office 时,会显示一个带有多个附签的对话框,允许您配置离开办公室代理(参见图 1)。

图 1. Out of Office 对话框
Out of Office 对话框
Out of Office 对话框

Dates 附签是包含必需数据的惟一附签。当您将要离开办公室时,使用该附签输入日期。这些日期将和那些您不在办公室的日期一同包含在您的邮件文本中。代理会一直运行直到将其关闭。在您返回的那一天,代理会发给您一个“Welcome back”消息,上面列出了给哪些人发送了邮件,还会提醒您关闭代理。

Out of Office 对话框的其余三个附签都是可选的。它们包含即将发送的消息文本、针对特定人群的等价消息以及一个例外列表(哪些人不应该收到您离开办公室的通知)。如果不需要更改这些默认值,可以单击 Dates 附签上的 Enable 按钮以启用离开办公室代理。Out of Office 对话框然后会将当前状态显示为 Enabled。

让我们来快速看一下对话框的可选附签。第二个附签,即 Out of Office Message,允许添加想让其出现在邮件答复中的文本(参见图 2):

图 2. Out of Office Message 附签
Out of Office Message 附签
Out of Office Message 附签

第三个附签,即 Special Message,允许向该附签上列出的人发送特定消息(参见图 3):

图 3. Special Message 附签
Special Message 附签
Special Message 附签

第四个附签,即 Exceptions,允许指定哪些人不应收到自动答复(参见图 4)。

图 4. Exceptions 附签
Exceptions 附签
Exceptions 附签

如果将群组名称输入到任何域中,群组将被扩展成个人成员。这样做是为了提高效率,以便每次有消息需要处理的时候,不会在服务器上执行这种耗时的操作。这种扩展的副作用是不会保留群组成员的信息。如果在以后某一时间群组成员发生更改,那么该更改将不会反映到离开办公室代理中,除非重新输入并重新扩展群组名称。

最后一点提示:正如前面所提到的,可以在 Domino Web Access 中使用离开办公室代理。配置步骤类似于刚才描述的用于配置 Notes 的步骤,虽然界面稍微有些不同(参见图 5)。

图 5. 在 Domino Web Access 中启用离开办公室代理
在 Domino Web Access 中启用离开办公室代理
在 Domino Web Access 中启用离开办公室代理

离开办公室代理不能实现哪些功能?

离开办公室代理不支持委派(我们将在本文章系列的第 2 部分讨论如何为别人打开代理)。而且,离开办公室代理对具有作者权限的用户不起作用。另外,离开办公室代理不会对发件人发送的每封邮件都进行通知,只通知第一封邮件(这是由设计决定的)。

离开办公室代理在哪里以及何时运行?

离开办公室代理自动指定用户的主邮件服务器,并启用要运行在该服务器上的代理(参见侧栏)。默认情况下,代理从上午 4:00 到 12:00 之间每六个小时运行一次。(代理在上午 12:00 到 4:00 之间不运行,因为这期间要运行很多其他的维护任务。)要更改代理运行的频率,请参阅本文后面的“定制离开办公室代理”部分。

用户运行离开办公室代理需要具有什么权限?

Domino 代理由数据库 ACL 权限和编程限制控制。为各数据库定义的用户 ACL 指定了用户可以在该数据库中进行哪些更改(例如读、写和修改文档;创建和修改代理,等等)。编程限制定义在 Domino Directory 的 Security 附签中,控制哪些人可以在服务器上执行代理,以及用户的权限级别是否允许用户使用会对安全性造成影响的方法。离开办公室代理要求的受限制的权限级别不允许用户执行任何会对安全性造成影响的方法。

在 Notes/Domino 6 之前,要运行离开办公室代理,用户至少需要具有能访问邮件文件的设计者权限,以及创建 LotusScript/Java 代理的 ACL 权限。还需要用户具有在服务器上运行 LotusScript 代理的权限。

从版本 6 开始,对其邮件数据库具有编辑者权限的用户就能运行离开办公室代理。具有编辑者权限的用户不需要具有在服务器上运行 LotusScript/Java 代理的权限,但是必须由 AdminP 进程或管理员将他们的代理设置成由他们运行。编辑者权限级别的用户需要具有对管理请求数据库 (Admin4.nsf) 的作者权限,因为请求将由他们代为提交。对 Admin4.nsf 数据库的默认权限是作者权限,如果没有更改默认值,则不需要特殊配置。

我们将在本文章系列的第 2 部分讲述配置编辑者权限级别用户的详细信息。

定制离开办公室代理

正如前面所提到的,离开办公室代理是驻留在邮件模板中的 LotusScript 代理。该代理的名称为 OutOfOffice。可以在 Domino Designer 中的代理列表中看到该代理(参见图 6)。

图 6. OutOfOffice 代理
OutOfOffice 代理
OutOfOffice 代理

如果具有对邮件文件的设计者或管理者权限,则可以通过双击代理列表中的邮件文件对其进行修改。当代理运行时,可以更改它所运行的服务器以及周末是否运行。有些高级用户已经知道修改代理的逻辑以进一步根据需要进行定制。可以通过单击 Agent Properties 框中的第一个附签上的 Schedule 按钮来更改日程安排以及代理在其上运行的服务器名称。

图 7. Agent Properties
Agent Properties
Agent Properties

如果要更改代理,请记住以下几点:

  • 进行更改之前,始终对数据库进行备份。任何人都会出现失误,备份使您能对所有的更改进行回滚。
  • 如果要对模板进行更改,会将更改传播到 Domino 服务器上的所有用户。
  • 如果将代理更改为比默认情况下运行更频繁(每六小时或一天四次),请注意这样会使服务器上的负载稍微加重一些。
  • 如果选择“Any server”选项以在其上运行代理,并且邮件文件在多个服务器上具有副本,那么代理将运行在多个服务器上,并且每条消息可能会被处理多次。这意味着可能要为所收到的每封邮件发出多个通知。
  • 如果将代理触发器更改为“before mail arrives”,代理将不起作用。“before mail arrives”触发器不会填充该代理的逻辑所使用的 UnprocessedDocuments 属性。
  • 如果将代理触发器更改为“after mail arrives”,代理将运行在主邮件服务器上(忽略“server to run on”设置)。而且,请注意这样会使服务器上的负载稍微加重一些。
  • 如果选择 Local 作为要在其上运行的服务器,需要确保选中“Enable scheduled local agents”选项(位于 File - Preferences - User Preferences 下)并将邮件复制到本地机器上。(有关编辑者权限级别的用户在本地副本上运行离开办公室代理的信息,请参阅本文章系列的第 2 部分。)
  • 如果要进行复杂的更改(例如,更改代理的代码),若发生了问题需要 IBM 支持部门提供帮助时,如果不将所做的更改回退到初始状态,他们也很难或几乎不可能给予帮助。
  • 当出现新版本的模板时,Design 任务会自动更新模板(除非选中了“Prohibit Design Refresh or Replace to Modify”)。将需要把更改重新合并到邮件模板的后续版本中,因此请对更改做一个备份。

集群环境中的离开办公室代理

离开办公室代理运行在启用了该代理的任何和所有服务器上。通常,可以希望该代理只运行在一个服务器上,以避免发出针对同一消息的多封回信。如果在服务器上启用了代理,而该代理将故障转移到没有启用代理的副本,那么代理将不会在第二台服务器上运行。当第一台服务器变得再次可用时,代理将继续工作,并处理当服务器不可用时可能会错过的所有文档。如果用户收到同一消息的多个通知,请参阅本文章系列第 2 部分中的“故障排除”部分。

管理者/设计者和编辑者启用离开办公室代理间的区别

通常,当一切都运行正常后,用户不需要知道不同权限级别之间的区别,并且当启用代理后也不需要执行任何特定操作。本节中的讨论主要目的是当发生错误时帮助进行故障排除。

如何为设计者/管理者启用代理与如何为编辑者启用代理,这二者之间是不同的,因为编辑者权限级别用户没有修改代理的权限。启用代理包括两部分:为代理签名并使其按照日程安排运行。为代理签名会更改其设计,要实现这一点,需要具有设计者/管理者权限。

为使编辑者权限级别的用户能启用专门设计的代理,我们通过允许代理在无需重新进行签名的情况下即可运行,将启用代理分为两部分。还需要一种方法以指定代理是代表谁在运行(因为在这种特殊情况下,我们不想使用签名作为确定代理有效用户身份的方法)。为利用这个功能,我们创建了两个新代理属性。“Run on behalf of”域包含用户的名称,代理将代表该用户运行(编辑者权限级别的邮件所有者)。选中“Allow user activation”复选框后,将允许具有编辑者权限级别的用户启用和禁用代理(参见图 8):

图 8. New Agent 属性
New Agent 属性
New Agent 属性

具有编辑者权限的用户可以将任意服务器代理指定为“activatable”。但是只允许具有特定权限的用户设置该配置。该特定权限定义在服务器文档的 Security 附签中,被称为“Right to sign agents that run on behalf of others”。这是一种高级权限,赋予该权限时需要非常小心。(服务器隐含地具有这种权限。)

编辑者权限级别的用户不需要具有运行 LotusScript 或 Java 代理的权限,因为他们不为代理签名。代理将会运行,因为它由将代理设置为代表用户运行的 ID 所签名,并且任何具有为代表其他用户运行的代理签名的权限的 ID 都具有运行受限制 LotusScript/Java 代理的权限。

为编辑者权限级别的用户配置要运行的离开办公室代理

在大多数情况下,针对编辑者权限级别用户的离开办公室代理正常运行时,不需要在 Basics 或 Security 附签中配置任何代理属性,或在 Domino Directory 服务器文档中为编辑者权限级别用户授予任何安全性权限。Notes 客户机与 AdminP 任务一起,共同为您执行所有的适当配置。针对编辑者的配置甚至比为设计者和管理者权限级别用户进行配置更简单;编辑者要求 Domino Directory 服务器文档的 Security 附签将其列为可以运行 LotusScript 代理的个体,并需要 ACL 权限以创建 LotusScript 代理。针对编辑者权限级别用户最简单的场景是当没有对模板做任何更改并且模板的设计元素仍然具有“Lotus Notes Template Developers”签名的时候。

但是如果事情未按照预期的进行,请阅读本节以学习要启用离开办公室代理还需要哪些操作,以及如何以几种不同的方法配置离开办公室代理的详细信息。

当“Allow user activation”选项被选中,编辑者权限级别用户可以启用或禁用代理。他们无法编辑代理或查看其内容。如果标志被启用,并且邮件所有者具有设计者或管理者级别的权限,则该标志没有意义。当“Allow user activation” 未被选中(默认值),代理将要求设计者/管理者级别的权限和运行 LotusScript 代理的权限。

针对编辑者权限级别用户的“Allow user activation”可以手动配置,也可以以编程方式配置。当具有编辑者权限级别的用户第一次启用离开办公室时,离开办公室代理通过将请求提交给 AdminP 以配置并启用代理,以编程方式完成这项任务。如果需要,管理员可以手动设置该初始配置。

程序方法使用 ConfigureMailAgent 方法,该方法创建一个 AdminP 请求“Set User name and Enable Agent”。AdminP 设置“Allow user activation”复选框、用用户名填充“Run on behalf of”域,并使用服务器 ID 为代理签名。有关该主题的详细信息,请参阅本文章系列的第 2 部分。

要手动设置配置,为编辑者权限级别用户配置该代理的人应该具有对用户邮件文档的设计者或管理者权限,并且具有为代表服务器文档中所设置的其他用户运行的代理签名的权限。要配置代理,请启动 Domino Designer,打开 Agent 属性框,将用户的缩写层次名称输入到“Run on behalf of”域中。然后选中“Allow user activation”复选框。代理将由配置代理的人签名。

除了将代理配置为供具有编辑者权限级别的用户运行,离开办公室代理还需要知道邮件所有者离开办公室时的日期(以及任意可选信息,例如对默认离开消息的更改)。这些信息存储在离开办公室简要表文档中(名为 OutOfOfficeProfile)。正如本文章系列第 2 部分中所描述的,创建或更新该文档是通过用户运行离开办公室代理,或通过运行 (EditOfficeProfile) 代理实现的。

如果手动配置是在用户选择 Tools - Out of Office 以指定离开时间之前完成的,则当用户运行代理时,代理将会立即被启用。如果手动配置是在用户选择 Tools - Out of Office 之后完成的(然后由于某一原因发生故障),代理可以由管理员启用,而且代理将开始运行并发送最终用户所指定的通知。

完成该初始配置后(无论是手动完成还是通过 AdminP 完成的),就不再需要 AdminP 请求了。用户可以通过 Tools - Out of Office 直接禁用或启用代理。请注意只要对 ACL 有任何更改(从管理员更改为编辑者或反过来),就需要对“user invocation”设置进行更改,这样 AdminP 在用户下次再启用离开办公室代理的时候会再次运行。

请记住如果设计更新需要更新代理的设计,那么配置信息将会被删除,并且会再次调用 AdminP,为具有编辑者权限级别的用户配置代理。只有模板中代理的代码被更改,才会导致设计更新。每次通过 Design 任务更新代理时,会将模板代理的时间戳存储在实际数据库中的代理中。只有模板中代理的时间戳比以前更新所存储的时间戳更近时才会发生更新。

图 9 显示了当离开办公室代理被编辑者权限级别的所有者禁用后,它是如何出现在代理列表中的:

图 9. 离开办公室代理被禁用
离开办公室代理被禁用
离开办公室代理被禁用

“check-5”图标表示代理将如同在 R5 服务器上被启用了那样,但是被 R6 或更高版本服务器禁用。请参阅本系列第 2 部分中有关 R5 和 R6/7 编辑者权限级别之间兼容性方面的讨论。

图 10 演示了编辑者权限级别的所有者重新启用代理后代理将会怎样(请注意代理名称旁边的图标):

图 10. 离开办公室代理重新被启用
离开办公室代理重新被启用
离开办公室代理重新被启用

请注意“last modified”显示的是用户名称,而不是服务器名称,因为这是由 AdminP 执行的初始启用情况。代理仍然由服务器签名,并且在服务器上不出现问题的情况下将运行。可以在 Design Properties Tools 附签的底部看到签名者的身份(参见图 11):

图 11. Signer 域
Signer 域
Signer 域

下表对启用离开办公室代理的不同方法进行了比较(由具有设计者/管理者权限的人启用;由具有编辑者权限的人自动启用;由具有编辑者权限的人手动启用;通过 Domino Web Access 启用)。

-- 设计者/管理者编辑者/自动编辑者/手动Domino Web Access
启用执行者Notes 客户机AdminP(第一次),
Notes 客户机(第一次以后)
管理员(第一次),
Notes 客户机(第一次以后)
AdminP
启用时间即时延迟(第一次)
即时(第一次以后)
即时延迟(始终)
代理启用后的签名邮件文件所有者服务器管理员服务器
代理启用后的“Run on behalf...”域不使用邮件文件所有者名称邮件文件所有者名称邮件文件所有者名称
邮件文件所有者的服务器限制邮件文件所有者需要有限的编程权限。不需要为邮件文件所有者赋予任何权限。不需要为邮件文件所有者赋予任何权限。不需要为邮件文件所有者赋予任何权限。
签名者的服务器限制邮件文件所有者和签名者相同,需要有限的编程权限。不需要为服务器赋予任何权限,权限是隐含的。管理员需要具有签名代理或代表别人运行的权限或运行不受限制的方法的权限。不需要为服务器赋予任何权限,权限是隐含的。

结束语

在本文中,我们向您介绍了离开办公室代理,解释了它能做什么以及是如何做的。还研究了不同的启动代理方法间的主要区别。

在本系列的第 2 部分中,我们将进一步详细讨论如何配置离开办公室代理,并研究如何解决您及您的用户可能会遇到的一些潜在问题。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Lotus
ArticleID=96129
ArticleTitle=重温 Lotus Notes 离开办公室代理:第 1 部分
publish-date=10172005