1
5
我同意所有的答案。wikis通常将每次编辑作为数据库中的新记录来处理。 您可能有兴趣查看完整的 Layout of the MediaWiki database diagram ,后面的wiki引擎 Wikipedia . Layout of the MediaWiki database diagram http://img22.imageshack.us/img22/3953/wikix.jpg
请注意,每个修订的全文存储在
|
2
4
实际上,我刚刚用C语言写了一个维基。我想在其他人的评论中增加一点,那就是你要确保你能比较两个版本。为了在C中实现这一点,我强烈建议C实施 diff_match_patch 谷歌图书馆。它速度非常快,如果您需要在漂亮的打印或处理像HTML这样的结构化文本方面做更多的工作,它很容易扩展。 |
3
3
wiki中的每个条目都是数据库中的一个新条目。 这样就可以跟踪修订。这一切都是关于社区和跟踪。 在后台,数据库存储日期时间、所做的更改等。 |
4
2
是的,是的。否则就不可能看到完整的页面历史记录,而这正是wiki实现所期望的。 |
5
1
对。 … 好像有点短。让我们假设您必须存储原始文章,然后在以后对每个更改进行详细说明。所以您可能有一个文章表和一个修订表。这样,您就可以回滚到任何先前的状态。 当然,表的设计,从原始文件中剥离修改后的文本并将其单独存储的逻辑是相当复杂的。 |
6
1
这是twiki的dev博客,可能会给你一些有用的信息。 http://twiki.org/cgi-bin/view/Blog/WebHome?category=Development . SQL是项目的一项要求吗?现在有很多关于NoSQL的移动,wiki似乎很适合文档存储数据库。有关这方面的一些信息可以在这里找到 http://nosql-database.org/ . 在处的codeplex上有一个实现 http://wikiplex.codeplex.com/ . 这是StackOverflow上的另一个帖子 asp.net mvc wiki . |
7
0
您可能需要检查版本控制引擎是否可以用于文本部分(用户等可能仍然需要数据库),因为大多数版本控制系统都实现了所有必要的功能(历史、差异、更改日志条目等),这将节省您大量的工作。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |