我们开发了自己的CMS。我们希望能够在办公室的CMS中编辑文档,并在编辑后将其从云端下载回CMS。为此,工作流程如下:
我们看到的是,在办公室在线“保存”消息之后更新最后修改的时间戳之前需要一段随机的时间。这段时间可以在2-60秒的范围内,这对我们的界面来说很糟糕:用户无法被告知我们检测到了这一变化,因此,用户可能会开始怀疑一切是否正常。我们所看到的,更糟糕的是,在未定义的时间段(比如2分钟)内,最后修改的时间戳会随机更新几次!当我们在最后一次修改更新时下载文档时,我们将无法获得文档的实际最新版本,因此看起来办公室毕竟没有保存或同步。
所以问题是,有没有办法知道什么时候在线办公室实际上已经完成保存/同步,所以我们终于可以开始从云下载到我们的cms,并确保它是最新的?
我也尝试使用sharepoint REST API获取元数据,但这也有同样的问题。
谢谢!
Luxifur
编辑:格式化。
为你解决问题。
如果用户单击CMS中的编辑,则可以将文件版本存储到某个缓存中,在此期间我们可以让用户下载文件,但需要提醒用户正在编辑的文件(如果是文件版本)在缓存中,文件必须在编辑中)。 (您可以决定在完成文件编辑后是否通知用户。)
使用浏览器中运行的间隔计时器来监视文件状态。因为保存的文件是异步的,而不是绝对同步。所以你遇到2-60秒的时间范围是正常的。无论如何,我们只等待浏览器中出现“Saved”的相应通知。
保存完成后,更新文件版本并下载文件。如果有人在编辑过程中打开了副本,我们可以提醒它下载最新版本。最后从缓存中删除文件版本。
文件名是缓存键,文件版本是值,可以调整设计