Brian McKeiver's Blog

ScrewTurn Wiki Is One ASP.NET Open Source Wiki That Easily Sticks Out In A Crowd

The ASP.NET and C# based ScrewTurn wiki is one of the baddest wiki’s on the block. It is sleek and powerful at what it does, and oh did I mention that it is completely open source and free ? Do I have your attention yet ?



I’ve mentioned before that there are many ways that the ScrewTurn wiki can help your company. It is a simple product that may surprise you in all the ways that can help you or your company create a robust knowledge base of information.

The ScrewTurn product comes with everything you would expect of a wiki these days, fast editing or anything by anyone right in a little clean web application. But the fun doesn’t stop there. Below are some of the reasons and features of why I think that ScrewTurn Wiki sticks out from the crowd.



In my opinion, Namespaces are one of those features that separates a good wiki from a basic wiki. This feature allows you to create an entire sub wiki that has it’s own set of wiki pages, own categories, own user permissions, and own search engine. A Namespace can totally stand on it’s own.


ScrewTurn Wiki Namespaces


The power really comes into play though when you start having links that go across multiple Namespaces or back to the root wiki. Let me give an example.

At my company, we have the default root wiki that contains wiki pages on all the companies, contacts, and external projects that we deal with when it comes to our services and consulting offerings. This is a great place for all of our developers to find out where the source code repository is for X project, or what IP the production server has for that project.

However we have a whole separate Namespace for our internal policies and HR type content such as what are the official company wide holidays are and where the internal company forms such as expense reports are kept.

The ability to have multiple sub wikis or Namespaces allows us to have certain wiki editors that can edit and moderate those internal pages that only a few people need to edit, while still keeping all of our content in one place. It also allows our developers to be efficient when searching for information as opposed to trying to drive down a file system that is 15 folders deep, or worse yet waiting for windows search to find something on a shared network drive.


Wiki Page Templates

This is one aspect of ScrewTurn wiki that I use heavily and I think it flies a little under the radar for most wiki users and administrators.

A page template allows you to create a base template to start wiki pages from. The templates can be created in the admin interface, and then used by wiki editors with only about two clicks or so.

The template itself is a set of predefined wiki markup that gets you started. I like it because it allows me to not worry about the format of the wiki page so much, but instead focus on the content of the page. It also can be used as a reminder for what markup you should add for common topics or bits of content that that you should add in when creating a page. For example, if the page template has markup about a person's contact info predefined then you might not forget to add in the title or phone number of a person that you are creating a page about.

Admins can easily create page templates in the Administration section of the wiki under the Snippets/Templates tab. Once they are created anyone can use them when they are creating a new page. The  templates appear in a dropdown right above the main content section. The link is sometimes hard to spot but it shows up as "Content Templates…". Select the one you want, it will bring up a preview of the wiki markup, and then click on Use Template.


ScrewTurn Wiki Page Templates



The way that the wiki engine was written allows it to easily be customized and added on to. The main way to accomplish customization is through plugins and snippets.

The plugin framework allows you to add or customize functionality in various ways. You can create your own plugin to do just about anything you want. In fact awhile back I created one that allowed you to see the current weather as a nice html widget on any ScrewTurn wiki page. Which reminds me I need to update that one to work with the latest version of the wiki.

I could write a whole post on the various ways you can create plugins and examples of how they can do almost anything, but I will save that for another day. For more on creating plugins check out the ScrewTurn Developer Documentation.


Parameterized Snippets

Snippets in ScrewTurn Wiki allow you and your users to create simple tags that represent a larger block of content for a wiki page. Think of them as short cuts that save you repetitive typing. Below is a sample snippet markup example.


The real power for snippets are there ability to take parameters. A parameterized snippet is a snippet that allows a user to specify parameters, whose value can be set when invoking it.


| due_date = 1/1/2011


The result of which could be something like:

This page is in draft please finish editing it by 1/1/2011


Simple to Implement

Because of it’s provider based framework you can easily implement the ScrewTurn Wiki with nothing more than IIS running and a file structure to copy the code to. The code base is smart enough to handle this basic setup and you still get all the features you  need.

With that being said though, the wiki engine is built upon a flexible framework of providers. Providers handle things like formatting markup on a page, storing pages, managing files, and even administrating user accounts. The default providers can easily be swapped out for other providers.


ScrewTurn Wiki Providers


The best example of this is using the SQL storage providers instead of the file based ones. The SQL Storage providers store all the information in database tables on a SQL Server (2005+). I would recommend using the SQL Storage providers as a best practice whenever you can, because they store things at the database level, which I think is easier to manage.


Revamped Search Engine

The Search Engine of ScrewTurn wiki was greatly enhanced in the 3.0 version update of the product. It now has it’s own indexer that can index wiki pages as well as file attachments. After the internal index is created, searching through it, even with a large amount of pages, becomes very efficient and results come back in seconds.

Searching is one of the key activities that anyone can do with a wiki. I know I have mentioned it before, but I think having a full source of information and being able to Search it based on whatever keyword I am looking for is one of the best reasons to implement a wiki. It’s just flat out better and faster then looking through a bunch of word documents, pdf files or excel workbooks.


ScrewTurn Wiki Search Engine


Zero Cost

You can’t really get any better than being free right ? And oh yeah remember how I mentioned you can actually get all the source code as well ?



If you got this far and you are still not using it, what are you wating for ? Browse on over to and download the ScrewTurn Wiki right now.