用户生成和修改内容的版本比较

时间:2009-05-09 18:02:55

标签: user-interface comparison wiki-engine user-generated-content

我正在开发一个构建在线协作工具的项目。看一下维基百科,我注意到用户生成的页面的itterations可以很容易地相互比较;比较突出了差异。

从概念上讲,我需要实施哪些措施才能完全相同?

2 个答案:

答案 0 :(得分:1)

根据好建议合成:

最简单的方法是使用任何已有的wiki引擎。有很多好的维基引擎 。不要重新发明轮子。

例如,StackOverflow本身是一个自定义构建的wiki。查看Stack Overflow上的编辑查看器,了解其功能与问题中描述的功能的匹配程度。

答案 1 :(得分:0)

您需要版本化数据存储差异化算法。

通过为每个资源提供修订号来存储资源的版本。当用户编辑资源而不是替换资源时,将编辑保存为数据存储区中的新条目,并使用新的更高版本号。如果要检索资源,请返回具有最高版本的资源。

您可以使用时间戳代替修订号。时间戳不仅总是增加,而且修订号本身可用于识别资源何时被修改。

根据您存储资源的方式选择差异算法。 Wikitext通常是行式的,因此如果用户正在编辑它,那么使用像标准Unix diff实用程序一样的行式差异是有意义的。如果资源是XML,您可能希望找到特定于XML的diff算法,以便用户可以清楚地了解差异。