What goes into rolling your own wiki using c# and sql?

I agree with all the answers. Wikis normally handle every edit as a new record inside the database.

You may be interested in checking out the full Layout of the MediaWiki database diagram, the wiki engine behind Wikipedia.

Layout of the MediaWiki database diagram

Note that the full text of each revision is stored in a MEDIUMBLOB field in the text table.


I just wrote a wiki in C# actually. One thing I would add to everyone else's comments is that you'll want to make sure you can compare two versions. For doing this in C# I strongly suggest the C# implementation of the diff_match_patch library from Google. It's quite fast and it's quite easy to extend if you need more in the way of pretty printing or handling of structured text like HTML.


Every entry inside of the wiki is a new entry inside of the database. That way revisions can be tracked. It is all about the community and tracking. Behind the scenes the database is storing datetime, changes made, etc.

Tags:

C#

Sql

Wiki