1

我有一个WOPI服务器,或多或少根据http://wopi.readthedocs.io/实现(没有“cobalt”,即使用2016版的office online)

问题:两个用户可以同时打开同一个文档进行编辑。

我该如何防止这种情况发生?我检查了文档。有一个标志“supportsCoAuthoring”,但它不再存在,而且无论如何它被设置为假。我不希望支持共同创作。

我认为office online对此有内置支持,因此它不会允许2个人同时编辑同一个文档(即如果服务器“锁定”返回409,“冲突”)。但情况似乎并非如此 - 我的文件现在可以为两个用户打开以供编辑,即使存在锁定冲突!最后拯救的人获胜。我错过了什么..?

如果我们有 2 个用户,比如 A 和 B,那么当 B 打开文档进行编辑(已经被 A 打开)时,A 会弹出一个漂亮的弹出窗口“用户 B 也开始编辑此文档”。我不想要那个。相反,我希望 B 无法打开文档进行编辑。

是否应该单独实现锁(纯粹由服务器)?

该代码基于https://github.com/apulliam/WOPIFramework(虽然没有 sql 部分,因为我不需要/有任何 sql)

4

1 回答 1

0

您不仅要Lock在 WOPI 服务器上实现与 - 相关的操作,还要实现所有相关的响应。

例如,当您实施时PutFile

如果文件当前被锁定并且 X-WOPI-Lock 值与文件上当前的锁定不匹配,则主机必须返回“锁定不匹配”响应(409 冲突)并包含包含该值的 X-WOPI-Lock 响应标头文件上的当前锁。在文件被解锁的情况下,主机必须将 X-WOPI-Lock 设置为空字符串。

请参阅此处此处的文档。

于 2018-02-19T18:53:33.170 回答