如果你需要对 Confluence 进行维护,但是 Confluence 还是在运行或者你计划将站点合并到一个新的站点,你可以将你的 Confluence 站点设置为只读模式来限制用户在你站点中可以使用的功能。你的用户可以对页面进行查看,但是不能创建和系修改他们。
只读模式只在Confluence 中心模式中可用。本页面中的内容并不适用 Confluence 的本地部署服务器版本。
打开只读模式
你需要具有系统管理员的 global permissions 才能进行这个操作。
To enable read-only mode:
- 进入 > 基本配置(General Configuration) > 维护(Maintenance)
- 在只读模式选项中,选择 编辑(Edit)。
- 选择 只读模式(Read-only mode)。
- 更新头标消息(banner message)中的内容,如果你希望使用你自己的自定义消息的话。
- 选择 保存(Save)。
头标的消息将会在你站点中的所有页面上进行显示。当只读模式被启用后,是没有办法禁用这个头标消息的,但是你可以对头标消息中的内容进行自定义。例如你可以让你的用户知道你的维护窗口期是什么时候,你的系统维护将会在什么时候完成。
在你系统进入只读模式之前,也是可以启用头标消息的。针对你希望在维护之前对你的用户提出警告,你可以在随后规定的时间内对系统进行维护。
只读模式对你站点和数据库的影响
只读模式限制了一个最终用户可以在平台上的行为。一些操作可能还会写入你的数据库,但是绝大部分用户将不能做任何修改。
当只读模式启用后,你不能进行下面的操作:
- 创建,编辑,重命名,移动,删除或者有关页面的其他操作。
- 创建,删除或者重命名空间。
- 访问绝大部分的空间工具,包括页面重新排序,修改页面的界面和外观或添加整合。
下面的页面是当只读模式启用后页面的显示情况:
- 自定义头标(Customizable banner) - 这个头标将会你站点的所有页面上显示。管理员可以自定这个头标中的信息,让用户能够知道站点何时能够开始重新被访问。
- 限制的选项(Options are limited) - 我们将会隐藏不可用的按钮和菜单,包括创建,编辑,移动,和删除。
如果你正在编辑页面中对页面进行编辑的时候,只读模式被启用了,你还是可以继续进行输入的,但是后续的修改将不会被保存。
- 只读模式警告(Read-only warning) - 尽管你还是可以持续进行编辑(包括评论字段),在只读模式下进行的修改将不会被保存。你最好还是不要在这个时候对页面进行编辑。
尽管只读模式被启用了,当具有系统管理员全局 global permissions 权限的用户还是可以进行一些管理员功能的,例如:
- 安装,卸载,启用,禁用插件
- 管理用户,用户组和权限
- 修改站点的表现
- 导出和导入空间
- 修改日志级别和其他配置
不是所有的管理员特性将会可用,管理员和最终用户是一样的,也不能对页面进行创建,编辑,或者删除。
当只读模式启用后,具有系统管理员全局 global permissions 权限的用户将会被允许进行一些管理员功能,但是这些用户将不能被允许修改空间权限。
一个重要的情况是,只读模式不能阻止数据写入到数据库,但是限制了绝大部分用户可以进行的操作。
如果你现在正在进行数据库维护,你希望绝对没有任何数据写入到数据库中的话。最佳实践为停止 Confluence 的运行,而不是将 Confluence 设置为只读模式。
用户安装插件的兼容性
不是所有安装的插件都能够兼容系统的只读模式的,有些插件可能会在只读模式启用后也允许用户创建或者更新内容。
希望对插件的兼容性进行检查:
- 进入 > 基本配置(General Configuration) > 维护(Maintenance)
- 检查任何用户安装的插件存在不兼容的情况。
如果一个插件不兼容,你可能需要先禁用这个插件,当你在对系统进行维护的时候来避免通过这个插件来创建内容。
如果你开房了你自己的自定义插件的话,请参考 How to make your add-on compatible with read-only mode 页面中的内容来找到如何测试你的插件,同时标记你的插件为兼容的。
使用只读模式的时机
如果你很喜欢我们提供的这个只读模式的功能,但是你又不知道在何种情况下进行使用,下面是使用这个模式的一些场景。
升级 Confluence
upgrade Confluence 的方法和策略没有改变,但是这个模式能够最小化对你系统的影响。
如果一些时候的系统不能访问是可以接受的,在你对系统进行预升级步骤的时候,最简单的方法是启用这个只读模式。例如检查插件的兼容性,备份你的文件系统和数据(如果你的数据库支持在线备份的话)。这个能够对升级造成的系统影响降低到最小,用户可以一直查看页面直到你真正停止 Confluence 进行升级前为止。
如果你希望提供不中断的访问,解决方案根据你使用的是虚拟还是物理硬件有关。
- 在虚拟情况下,你可能希望使用“向前移动”的方案。你可以启用你站点的只读模式,克隆的数据库,安装和 Home 目录,然后在你克隆的环境下进行升级。当升级完成后,你也校验了所有的功能都能够正常工作了,你可以将你的用户访问流量指向到新的升级的服务器上。然后关闭老的服务器。
- 如果你现在正在运行 Confluence 在物理服务器上,那么最好还是创建一个临时只读的站点,你可以克隆你的生产数据库,安装,和 Home 目录来创建一个临时只读的站点(与创建一个新的直接运行的站点相类似)。然后将访问流量导入到新的站点中,知道你升级完成后再将流量导入回来。
你应该总是在测试服务器上对升级进行测试,请参考页面 Create a staging environment for upgrading Confluence 中的内容。你可以尝试创建一个克隆的网站,请主要你需要确保你的 Confluence Home 目录和数据库连接总是指向到正确的路径。
更新你的硬件结构
希望移动 Confluence 到一个其他的服务器或者为你共享的 home 目录中提供更多的空间?有关 Confluence 升级相关的文档也同样适用于你对硬件结构的升级。
请注意,尽管你启用了只读模式,一些数据还是会写入到数据库中的。如果你真正对数据库进行维护和升级的话,你需要将你的用户的流量导向到备用的服务器上(这个服务器上有你生产数据库的拷贝),同时第二个服务器上启用了只读模式,这是一个比较合理的方案。你不能在生产服务器上的 Confluence 实例还在运行的时候就对数据库进行升级,尽管只读模式已经启用了。
再次提醒,总是确定你的 Confluence 指向到正确的数据库!
多 Confluence 站点合并
在一些大的组织中,安装多个 Confluence 实例是一个比较常见的情况。如果你正在考虑合并多个站点,只读模式能够帮助你限制你对站点的合并过程中内容的修改,尽最大限度的保持站点内容在站点合并的过程中的完整性。
https://www.cwiki.us/display/CONF6ZH/Using+read-only+mode+for+site+maintenance