Tuesday, October 2, 2012

Wiki software

     I will try to introduce Wiki software in simple words to those who haven't heard of it. It was invented by Ward Cunningham. It is basically a knowledge sharing website where people can share about things they know and also make changes in things shared by others. It can also be defined as a website which allows to add, modify or delete its own content by users. Other features include search utility to search through all the pages, pages can be grouped under different categories, authentication can be provided so that only authorized users can modify contents, people can discuss on the topic through comments, one can view the revision history on the pages i.e who has modified it and when. A good example for a Wiki software is Wikipedia, everyone would have used wikipedia, it is a collection of pages written by people all over the world and you can even edit the contents, It runs on MediaWiki software.

    Wiki software contains two components 
  • Front-end : It has a common style for all the pages, only the text content changes. It has its own syntax for editing pages, text entered by user will be converted to HTML by wiki software. 
  • Database : Pages and other data about users, revision history, categories, logs are all maintained in database. Some wiki softwares just uses flat files.
Wiki can also be used as stand-alone application on a single computer without a web server. They are increasingly adopted in enterprise as collaborative software. common uses include project communication, intranets, and documentation, initially for technical users. It is implemented using many technolgies, list of wiki softwares available are
  • Java-based

    • JAMWiki is a J2EE application, It is a Java clone of the MediaWiki software and uses the same wiki syntax.
    • XWiki is a Java wiki engine with a complete wiki feature set (version control, attachments, etc.) and a database engine and programming language which allows database driven applications to be created using the wiki interface
  • JavaScript-based

    • TiddlyWiki is a HTML/JavaScript-based server-less wiki in which the entire site/wiki is contained in a single file.
    • Lively Wiki is based on Lively Kernel and combines features of wikis and development environments. Users can create and edit application behavior as well as other content.
  • .NET-based

    • FlexWiki was written in C#, uses the .NET Framework, and stores data in files or Microsoft SQL Server. The development stopped in 2009, but FlexWiki can still be downloaded.
    • Roadkill is written in C# using .NET 4, NHibernate and ASP.NET MVC 3 and is currently (July 2012) being actively developed. It can run using SQL Server, mySQL, SQLite and a number of other database engines. 
  • Perl-based

    • WikiWikiWeb, the first wiki and its associated software
    • Foswiki is a structured wiki, which enables users to create wiki applications.
    • ikiwiki, a "wiki compiler" - can use Subversion or git as the backend storage mechanism.
    • TWiki is a structured wiki, typically used to run a project development space, a document management system, a knowledge base, or any other groupware tool. Also available as a VMware appliance.
  • PHP-based

    • DokuWiki is aimed at the documentation needs of a small company. It uses plain text files and has a simple but powerful syntax which ensures the data files remain readable outside the wiki.
    • MediaWiki was custom-designed for the high-volume Wikipedia encyclopedia website; it is also used for all other projects run by the Wikimedia Foundation, which operates Wikipedia. It is also publicly available for use in other wikis, and has widespread popularity among smaller, non-Wikimedia wikis.
    • PhpWiki is a WikiWikiWeb clone in PHP.
    • PmWiki is a PHP-based wiki. Features include: easy installation/customization, designed for collaborative authoring and maintenance of web sites, and support for internationalization. Does not require a database.
    • TigerWiki is a minimalist and simple wiki framework, that has been discontinued. It spawned a number of forks, all of which have been discontinued as well.
    • WakkaWiki is a now-defunct PHP/MySQL-based lightweight wiki engine, that notably spawned a large number of forks, including WackoWiki and WikkaWiki.
    • MindTouch is an open-source application that began as a fork of MediaWiki; it has a C# back-end and a PHP front-end.
    • Banana Dance is open-source wiki software that combines CMS and Wiki features.
  • Python-based

    • MoinMoin is a wiki engine written in Python. Offers good access control based on user groups.
    • Zwiki is a Zope-based GPL wiki engine. It can integrate with the content management framework Plone, and supports several kinds of markup as well as WYSIWYG HTML editing
  • Other languages

    • ProjectForum is a self-contained wiki server for Windows, Mac OS X and Linux, written in Tcl, C and C++.
    • Swiki is written in Squeak. It runs on common platforms, including Mac, Windows, Linux, as well as others.
    • Wiki Server is proprietary software distributed with Mac OS X Server.
Reference for list of wiki softwares : Wikipedia