Trash( 废纸篓 ) 是 Lotus Quickr 8.5 For Domino 新增的重要功能之一。在以前的版本中,用户删除了文档之后,就永久的丢失了此文档,难以恢复因为操作失误删除的条目。Trash 提供了软删除的功能,删除的资源将会保留在 Trash 目录中,并可以被删除者和场所管理员恢复。这里我们简单介绍一下它的使用,图 1 示例了如何删除一个文档。
图 1. 在文件夹中删除一个文档
图 2. Trash 中看到这个文档,可以永久删除或恢复
Trash 视图中呈现了被删除条目的类型、名字、删除时间、删除者以及原始位置。 并提供还原、永久删除、还原全部和清空 Trash 四种操作:
- Restore: 选中一个或多个条目,点击 Restore 按钮,这些条目将被还原到原始位置中。
- Delete: 选中一个或多个条目,点击 Delete 按钮,这些条目将被永久删除。
- Restore All: 直接点击 Restore All 按钮,Trash 中所有当前用户有权限的条目将全部被恢复到原始位置。
- Empty Trash: 点击 Empty Trash 按钮,Trash 中所有当前用户有权限的条目将全部被永久删除。
值得注意的是,目前 Trash 仅对文件夹 (Folder) 、列表 (List) 和文档提供支持,在删除文档的同时会将文档的版本和回帖也删除到 Trash 中,并可以恢复。对于场所、表单、事件、任务、论坛和帖子,以及单独删除的文档版本和回帖等,只能永久删除。
本节中,我们将介绍 Trash 中一些基本的使用场景。
场景一:Trash 中需要显示删除条目的基本属性:名称、类型、删除时间、删除者、原始位置。如图 3 所示。
图 3. Trash 视图
场景二:在 Trash 中,只显示被删除节点的根节点,用户只有浏览权限并且无法访问或操作子节点。此场景主要针对文件夹的显示,例如,文件夹 A 中有 1 个文档 B 和一个文件夹 C, 如果删除 A, 在 Trash 只能看到 A, 而不知道 B 和 C 的存在。
场景三:Trash 中必须支持同名文档的存在。Trash 中既要支持来自同样原位置的同名条目,也要支持来自不同原位置的同名条目,如图 3 所示”Source Location”栏。
场景四:Trash 中的条目即可以永久删除,也可以还原并且只能还原到原位置,如果还原条目时,在原位置已经存在一个同名文件,那么 Trash 需要提供重命名或者替换的选项。
图 4. 恢复时,如果文档已经存在,重命名及替换的对话框
注意:对于文件夹已经存在的情况,只提供重命名的选项。如图 5。
图 5. 恢复时,如果文件夹已经存在,重命名及替换的对话框
场景五:如果还原条目时,原始路径不存在(被删除或者被移动),那么系统在恢复前,将自动生成一个和原位置名称和类型都一致的条目。此条主要针对删除条目的父文件夹不存在的情况下的考虑。Quickr Domino 中的文件夹有三种类型,标准、标签和幻灯片,分别提供不同的显示方式。如图 5 所示:
图 6. 场所中文件夹类型
当在一个标准类型的文件夹中删除了一个文档到 Trash 中,然后删除此文件夹到 Trash, 进入 Trash 页面,选中文档点击还原,系统将自动在已删除的文件夹位置创建一个同名的并且仍然是标准类型的文件夹,然后还原文档到这个新建文件夹中。
场景六:访问权限控制的考虑。提到场所权限,那么首先考虑的是空间和子空间的概念,由于 Room 的私有性,对每个 Room 都提供一个 Trash 视图,分别存储各自删除的对象。
图 7. Room 中的 Trash 视图
其次是场所角色的概念,场所的角色主要有 Manager, Editor, Author 和 Reader。在文档的访问控制中,Editor 可以编辑所有 Author 创建的文档,Author 可以编辑自己创建的文档,Manager 具有所有文档的最高权限。
对于 Trash 来说,也依照此规则,场所的读者没有访问 Trash 的权限,作者和编辑可以浏览 / 永久删除 / 恢复自己删除的条目,管理者以及更高权限的用户具有浏览 / 永久删除 / 恢复 Trash 中所有条目。
现在,我们应该对 Trash 的设计有了一定了解。下面我们来看看 Trash 的一些应用。
在 Quickr Domino 8.5 之前,场所得访问控制主要在文档级别,Quickr Domino8.5 中新增了文件夹级别的访问控制,增加了比场所角色更为具体的一些角色,那么这些角色对 Trash 有什么影响,将是本节的主要内容。新增的文件夹角色和场所角色的关系如表 1。
表 1. 受限制的文件夹角色
| Folder roles | Place roles required | Description | Delete Folder |
|---|---|---|---|
| Folder Manager | Author and above | 可以修改文件夹属性,修改 ACL, 删除空文件夹;场所管理员默认是 Folder Manager。Folder creator 默认是 Folder manager | 可以删除空文件 |
| Folder Editor | Author and above | 可以浏览 Folder 中所有内容,创建,编辑和删除所有内容(在文档级别权限控制允许的前提下) | 不可以,除非特定身份 |
| Folder Contributor | Author and above | 可以浏览所有内容,创建新内容或者编辑 / 删除自己创建的文档 | 不可以,除非特定身份 |
| Folder Reader | Reader and above | 可以浏览所有内容 | 不可以,除非特定身份 |
图 8. 创建一个受限制的文件夹
Trash 中对于受限制的文件夹 (Restricted folder) 和公开的文件夹(Public folder),以及一种特殊的文件夹列表 List 有不同的处理方式。
- 场所管理员可以删除任何文件夹
- 对于受限制的文件夹,只有文件夹管理员可以删除空文件夹;对于公开的文件夹,只有文件夹的作者可以删除空文件夹。
List 是一种特殊的文件夹,用于创建、展示及管理各种相似结构化的数据,用户可以定制一些视图,导入或导出电子表格。Trash 对于 List 和 Folder 又有着不同的处理方式。
图 9. List
- 场所管理员可以删除任何 List。
- 对于受限制的 List,只有 List 管理员并且是编辑者可以删除空文件夹;对于公开的 List,只有 List 的编辑者或管理员可以删除空文件夹。
Trash 支持 Lotus Quickr Connector
Lotus Quickr Connector 是基于 Quickr 提供的 Service 开发的一套应用程序插件,用户通过 Connector 访问不同服务器的内容,轻松实现桌面程序和远程服务间的无缝集成,包括如下 4 个 Connector:Lotus Quickr connector for Windows Explorer,Lotus Quickr connector for Microsoft Office,Lotus Quickr connector for Notes 和 Lotus Quickr connector for Sametime。2010 年 9 月发布的 Lotus Quickr Connector8.5 同样增加了对 Trash 的支持。本节将以 Lotus Quickr connector for Windows Explorer 为例说明 Trash 在 connector 中的应用。
图 10. Lotus Quickr Connector for Windows Explorer
如图 9 所示,Connector 中的 Trash 也列出了删除条目的名称、原始位置、删除者和删除时间。并且提供恢复 / 永久删除 / 查看属性的功能。与 Web 访问方式不同的是,对于场所中的不同 Room 中的 Trash,在 Connector 中只集中展现在一个 Trash 中,通过权限控制来限制不同身份用户的访问。
如果用户同时在 web browser 和 Connector 中同时操作 Trash 中的条目,那么 server 以时间先后的顺序依次响应事件。在恢复操作中的同名问题上,和 Web 访问方式类似,提供了一个对话框提示用户替换或者重命名文件:
图 11. 解决恢复操作时的文档已存在的问题
Connector8.5 依然可以连接 Quickr Domino8.5 之前版本的服务器, Connector 连接场所时发送查询服务器信息的请求,根据响应决定是否提供 Trash 的操作接口。
离线工作是 web 服务的一个有效应用,可以在网络故障或服务器响应过慢时脱机使用,等网络正常后再同步服务器,以提高用户的工作效率。
Lotus Quickr Domino 基于 Domino 提供的离线工作服务 DOLS(Domino Offline service),设计开发了离线场所。DOLS 是 Domino 基于 Replication 机制的一个服务,允许用户通过浏览器无需连接网络访问 Domino Web 应用并与之交互,并在下次连接到网络时,同步本地和服务器,Domino 提供了一个工具 iNotes sync manager 进行同步工作。
图 12. Lotus Quickr Domino 的离线工作
在场所中点击”Place Action”中的”Take Place Offline”,按照提示安装 Lotus Domino Sync Manager 到本机 , 同步场所完成后,点击”Open Offline”,便可在脱机状态下访问离线场所。在连网状态时,点击”Start Sync”开始与服务器端进行同步。
Trash 中的内容也会在本地和服务器端进行同步。由于本地和服务器端可能分别会操作同一个文档,某些情况下我们需要解决冲突的发生。Trash 中的冲突主要是在一种情况中:如果一方删除 Trash 中的条目,而另一方恢复 Trash 中的条目。根据 Domino replication 处理冲突的原则:
- 删除操作优先,除非 2 或 3 发生;
- 如果删除操作在恢复操作之后发生,那么恢复操作优先;
- 如果恢复操作后对文档编辑过多次,那么恢复操作优先。
通过本文,读者可以了解到 Trash 的详细操作方式以及实现的技术,Trash 从用户层面为文档管理提供了更为安全的保障。对于 Web 访问和 Lotus Quickr Connector 的连接提供的服务略有差别,用户可以根据自己的喜好选择访问方式。另外 Trash 对离线场所得支持更加方便了脱机状态下用户的使用。
在 Lotus Quickr Domino 8.5 的版本中,Trash 也有不足之处,在满足功能层面的实现的基础上,用户界面的友好性仍有很大的提升空间,比如可以利用 IBM Mashup 技术实现将界面上内容拖拽到 Trash 中,替换现有的按钮。并且在将来,可以考虑场所中的所有资源都可以移动到 Trash 并提供恢复操作。
学习
- 如果要进一步了解 Quikcr Connector 产品,请阅读 IBM Lotus Quikcr Connector 产品介绍。
- 访问 developerWorks Lotus 专区。
- 随时关注 developerWorks 技术活动和 网络广播。
讨论
- 加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。
- 加入 IBM 软件下载与技术交流群组,参与在线交流。