我正在对网站进行修改以允许用户输入内容。但是,一旦他们创建了这些内容,它就需要获得批准才能发布。通过在该内容的记录中设置“适度”位并且只需要一个表来实现这一点相当容易。创建,批准,编辑,批准网站内容模式
现在我还想让用户在StackOverflow上很像这里编辑内容。但是,每个编辑需要被批准以及被存储,以便可以查看编辑的历史。
这是可以接受的,以防止编辑的“活”的记录,而编辑正在等待批准,从而挂起的编辑的冲突不是一个问题。
我的目的是让每个项目的以前版本的集合在一个单独的表,并有挂起的编辑坐在这个表,直到如果批准了与主表中的记录交换批准/拒绝,然后。
任何人都可以看到这种模式中的任何缺陷?你能想出一个更好的方法来做到这一点?
虽然我不认为这是有关我使用C#与ASP.NET MVC和SQL Server作为数据存储。
Stackoverflow采取“最后更新获胜”的方法。如果两个人编辑同一个问题,那么第一个保存人员的更改将会丢失。我认为这就是你所推荐的内容,但这可能并不适用于短暂且比此处“慢”的内容。锁定内容是一种更明智的方法,但在网页设置中,您必须质疑,您不知道锁何时被放弃。 Joomla有这个问题。当我关闭我的浏览器时,文章将保持锁定状态,直到管理员发布它。 – cdonner 2009-12-09 03:32:37
编辑它时锁定一个项目并在它被更改之前将其锁定,直到它获得主持人的批准。我赞成前者的“最后更新获胜”方法,但对于后者,如果在批准修订之前可以编辑该项目,我更喜欢。 – dtb 2009-12-09 04:02:07