当经过了数小时的输入、格式排版、校对检查,正在对即将提交给经理的报告做最后的修改时,突然,您的计算机死机了或者发生其他意外事件,导致所有的工作全部丢失,那该怎么办?这时,您可能才想起来“噢,天啊,我忘记保存文档了!”然后,您会问自己(这时是凌晨两点,您一定是独自一人在工作,否则还可以与他人交谈!),“我是从头开始写报告呢,还是应该开始重新找工作?”如果类似这样的事情发生在您身上,您可能会希望有一个保护天使,能随时保存您的工作,这样当发生意外事故时,还可以找到该工作文档。 AutoSave 就是那个保护天使!它是 Notes 7.0 中所引入的众多非常棒的功能之一。启用 AutoSave 后,Notes 文档会被保存(按照用户设置的计时器事件进行保存)到本地数据库中。这样,如果 Notes 或计算机由于某种原因崩溃了,会为您最近的工作保留一个副本,以便恢复。 想了解 AutoSave 的详细信息以查看我们是如何设计的,以及如何启用并使用它吗?如果愿意,请继续阅读本文!本文假设您是一位有经验的 Notes 用户。 设计 AutoSave 当开始开发 AutoSave 时,我们有如下预期目标: 用户必须能够在其指定的固定时间间隔自动保存文档。 当由于某种原因导致 Notes 客户机发生故障,重新启动后,用户必须能恢复已经保存过的文档。 AutoSave 必须安全加密,以便所有用户信息都是加密的。 AutoSave 必须快速完成,并且必须避免任何其他的服务器活动。 用户必须能够打开或关闭 AutoSave 功能,如由管理员通过策略对其进行控制。 一个典型场景 当开始设计 AutoSave 时,假想有这样一个场景:您正在愉快地对某个文档进行操作,这时发生了一件意想不到的事情,导致您所做的工作都丢失了。这时该怎么办? 您可能会想到多种解决办法。例如,在工作过程中可以启动一个计时器,并不断地保存文档。我们很快发现这个解决方案有很多问题。首先,如果有 1000 个用户都选择将他们的 AutoSave 时间间隔设置为 1 分钟,并且他们每分钟都需要访问服务器,这时该怎么办?这会造成性能急剧下降,并且服务器响应时间会加长。其次,如果没有对文档进行操作,并且文档处于“半完成”状态,您不想任何人查看该文档时该怎么办?如果只有写权限而没有删除权限该怎么办?如果数据库具有验证代码,这些代码要求在保存文档之前,各个字段都必须填写完整,并且如果还未填写完整就试图保存文档会产生各种错误,该怎么办?如果表单在 Post Save 或 Query Save 事件中具有向其他事件发送电子邮件的代码,告诉它们已经可以对文档进行检查了,该怎么办?如果……该怎么办?您一定知道答案了。您可能会猜测到,我们没有这么做。 另一种想法类似于第一个,但是对该文档做了一个“无提示”保存(一种不会引发任何事件的保存方法),将其保存到本地加密数据库中了。当出现故障,用户重新启动 Notes 客户机后,检查该数据库中是否有可用文档。如果有,向用户显示这些文档,由用户决定是否要恢复。这就是我们所采取的方法,它确实有效! 采用这种方法,可以通过使用本地数据库来避免操作服务器。我们还提供了一个安全的解决方案(加密数据库)防止出现错误,或在保存的同时发送电子邮件(因为没有引发任何事件),并且您可以完全自由决定是否要恢复正在工作的文档。 使用 AutoSave 使用 AutoSave 包括下列操作: 在客户机上启用 AutoSave 在表单中启用 AutoSave 通常的 AutoSave 操作 恢复自动保存过的文档 下列部分详细解释了这些活动。 在客户机上启用 AutoSave 安装 Notes 7.0 时,默认情况下,AutoSave 未被启用。未启用的原因是因为用户可能不知道当他们第一次看到 AutoSave 处于运行状态时会出现什么情况。而且,有些用户使用的机器可能速度比较慢,在这样的机器上,“自动保存”大型文档可能需要占用很长时间。因此,如果想激活 AutoSave,必须通过 User Preferences 对话框中的一个新选项来启用它(参见图 1): 图 1. User Preferences 对话框
|
(责任编辑:admin)