同时编辑

PmWiki支持处理多个作者试图几乎同时编辑同一页面的情况。以下是同步编辑系统的基本场景已处理:

  • 爱丽丝开始编辑页面。
  • 在Alice保存编辑之前,Bob请求对同一页面进行编辑,并在Alice编辑之前收到页面文本。
  • Bob完成编辑并点击“保存”。
  • Alice完成了对页面的编辑,点击“保存”,因为她是在Bob进行更改之前使用页面的一个版本,所以她在这个过程中删除了Bob的编辑。

PmWiki的同时编辑功能检测何时发生这种情况,PmWiki没有保存Alice的编辑,而是向Alice显示一条消息,说有人在她编辑页面时更改了页面。此外,Bob的更改被合并到Alice的页面副本中,任何冲突都用“”突出显示。然后,Alice可以根据需要进行修复并保存更新的页面,或者,如果Alice很懒,她可以再次单击“保存”,然后将其留给其他人进行修复。

当有人请求页面预览时,也会调用同步编辑功能;因此,如果页面在预览页面时发生更改,作者会收到通知,并可以看到合并后的结果。

如何测试/试验此功能?

  1. 打开两个浏览器窗口,在每个窗口中选择要编辑的相同页面(例如,尝试WikiSandbox?action=编辑).
  2. 在一个浏览器窗口中,对页面进行一些更改,然后保存这些更改。
  3. 在第二个浏览器窗口中,对同一页面进行一些不同的更改,然后单击“保存”。由于编辑表单加载到第二个窗口后页面发生了更改,因此可能存在编辑冲突,您将收到“编辑冲突消息”。
  4. 您可以在第二个窗口中进行任何调整,然后再次按“保存”保存更改。

通知

一些服务器环境,如在safe_mode下运行的Windows和PHP,无法使用PmWiki分发的同时编辑功能。请参见食谱:同步编辑用于这些环境的解决方案。


此页面可能包含上的更新版本pmwiki.org网站:PmWiki:同步编辑、和对话页面:PmWiki:同步编辑-对话?.