【发布时间】:2009-12-16 07:01:35
【问题描述】:
如果我有一个允许用户更改文档的 PHP 应用程序,那么对每个文档实施修订跟踪的最佳方法是什么?我希望每个修订版的存储都像 svn 和其他 SCM 对代码所做的那样进行删除(即只保存所做的更改)。我很简单地知道它是如何工作的,但是当我开始考虑实现它时,我有点困惑。
首先,我想知道是否有图书馆可以帮助我解决这个问题,所以我不必完全自己动手。
我想知道:我应该只保留原始文档的全文,然后只保存更改,还是应该保留最新文档的全文,每次修改时,将差异保存为旧版本之一?
如果是前者,那么当我想抓取一个页面显示在网站上时,我是否必须从头开始,然后根据修订递归更新数据,直到达到当前版本?一旦有很多修订,这会不会很慢?
如何在 PHP 中进行 diff/patch 类型的操作以使页面的 detifying 和重构更容易?
在编辑页面时锁定页面是否值得?或者让页面进入“冲突状态”并进行冲突解决操作——让两个用户同时修改同一个页面,如果他们正在修改不同的部分等等——我会疯狂地想这会有多难。啊!
【问题讨论】: