Lotus Notes 日程表是 Lotus Notes 的一个最流行且易于使用的组件。日程表可以有很多不同的用途,其中常见的用途有: 会议室预定 设备预定 共用业务或部门日程表 资源或事件计划 假期计划 除了其终端用户特性外,Notes 日程表对于应用程序开发人员也非常有用。在本文中,我们提供了构建一个示例日程表应用程序的逐步说明。我们假设您是一名有经验的 Lotus Notes/Domino 开发人员,并且熟悉基本的 Notes 日程表特性。 应用程序架构 一个日程表应用程序由两大部分组成:一个表单和一个视图。表单用于捕捉约会日期、时间和主题之类的信息。视图则根据表单中提供的指定日期和时间显示主题。信不信由您,用这两部分就足以构建一个可以管理重复事件的日程表应用程序。 在开始编程之前,我们首先需要理解构建日程表应用程序的一些规则,并弄清管理重复事件的过程。 规则: 约会表单必须有一个起始日期字段。该字段决定了在日程表的什么地方显示事件。起始日期是日程表应用程序的锚。 约会表单必须包含一个持续时间(duration)。这个字段必须是一个数字,表示时间持续的天数。(约会表单还可以包含一个起始时间和一个终止时间。不过,这是一个可选值,当实际在日程表上显示事件时这不是必需的。) 日程表视图的第一列必须包含一个日期/时间值,并且按升序排序。这一列对用户应该是隐藏的。(为了正确地显示,必须将第一列按升序排序。) 日程表视图的第二列必须包含日程表事件的持续时间。这个值决定了应该连续多少天显示这个约会。持续时间值可以是正数,也可以是负数。如果是正数,则将日程表事件显示到起始日期的右边(或将来)。如果是负数,则将日程表事件显示到起始日期的左边(或之前)。 视图的风格必须设置为 Calendar。这种设置将视图的外观从传统外观变成实际的日程表。 现在让我们更深入地研究用于管理重复日程表事件的架构和实现选择。应用程序的复杂性是围绕着管理重复事件的过程而形成的。同任何软件语言一样,设计、开发和实现一个解决方案的方法有很多种。接下来的几个小节将讨论两种可能的架构。 使用单个文档管理重复事件 我们已经讨论了日程表应用程序的主要组成部分,即一个表单和一个视图。接下来要谈到的是管理重复事件的不同选择。第一种方法是管理连续日程表事件的一种简单而有效的方法。 连续事件是指从起始日期起往后延续的约会。换句话说,您可以创建一个约会,这个约会将在多个日程表日期上显示。然而,所有日程表日期必须是连续的,例如从 4 月 4 日到 4 月 7 日。“单文档”方法只创建一个文档,并在日程表日期范围内显示约会(见图 1)。这种方法实现起来比较简单。如果您想快速地构建一个日程表应用程序,或者将一个日程表添加到一个已有的应用程序中,那么这种方法可以作为很好的起点。 图 1. 单文档重复事件
这种方法的主要优点是易于实现。您可以很轻松地生成一个新的应用程序(或者通过添加两个字段并创建一个日程表视图来增强一个已有的应用程序)。而且,由于所有日程表日期都引用相同的(单个)文档,用户只需更新一个文档。文档的更新可以反映到每一个日程表日期。例如,假设作者想在约会的主体中包括一个会议电话号码。那么作者只需进行一次更新,更改就会立即在所有日程表日期上生效。其他小组成员可以右键单击任何一个文档,然后看到一致的信息。 这种方法的缺点是不能管理复杂的重复事件。如果您需要将事件安排在每个月的第二个星期五或每个月的 3 号,那么单文档方法就要求用户手动地在每个日期上创建条目。 下面这一节将讨论一种更健壮的、全面的用于重复事件的架构。 使用多个文档管理重复事件 “多文档”方法根据在初次约会中指定的重复事件参数创建一个单独的文档。例如,您可以创建一个约会,这个约会为每个日程表日期生成一个单独的文档(见图 2)。这种架构在排日程表时可以提供更大的灵活性,但是实现起来也要复杂许多。(责任编辑:admin) |
