处理“其他用户正在修改此记录”在PHP+JS CMS


Handling "Other User Is Modifying This Record" in PHP+JS CMS

我有一个多用户CMS/数据库,并希望在两个或更多用户正在修改此记录的情况下提供某种"用户X当前正在修改此记录"消息。

我很难找到这样的例子,但在最新版本的Wordpress中经历过。

理论上,我认为你可以更新记录表与一个字段,如"currently_modified",并根据页面加载和卸载填充,但有一个更好的方法吗?

这并不需要绝对无懈可击,但我希望它是值得的。我猜这样的东西适合Angular,虽然我不是很熟悉,但我愿意学习。

我正在使用jQuery并且非常熟悉它。有什么插件建议吗?

我的holdup是担心Page Unload方法可能经常失败,因为用户会话死亡。

谢谢

如果您想实时跟踪用户修改页面,您必须定期向服务器发送消息/请求(网络密集型)。解决这个问题的一种常见方法是在保存记录之前简单地警告用户该记录已被更新。这很简单,只需在最后修改的页面中保留一个时间戳。当用户试图保存文件时,它会向服务器查询当前时间戳——如果与页面加载的时间戳不同,则说明该文件已被其他人修改过。

如果你是在局域网上构建这个CMS,那么周期性请求的网络开销就不是问题了。