Jump to content

Wiki software

From Wikipedia, the free encyclopedia

This is anold revisionof this page, as edited by68.225.249.81(talk)at02:17, 28 November 2004(Tomboy isn't written in C++).The present address (URL) is apermanent linkto this revision, which may differ significantly from thecurrent revision.

Wiki softwareis a type ofcollaborative softwarethat runs aWikisystem. It is usually implemented as aCGIscript that runs on one or moreweb servers,with the content generally stored in anRelational Database Management System,although some implementations use the server's filesystem instead.

The first such software was created byWard Cunninghamin 1994, but given the relative simplicity of the wiki concept, a large number of implementations now exist, ranging from very simple "hacks"implementing only core functionality to highly sophisticatedcontent management systems.

The term "wiki software" could be interpreted as comprising all of the software required to run a wiki, which might include aweb serversuch asApache,in addition to the "Wiki engine" itself, which implements the wiki technology. In some cases, such asEddiesWiki,the web server and wiki engine are bundled together as one system.

The majority of wiki engines areopen source,often available under theGNU General Public License(GPL); large projects such asTWikiand the Wikipedia engine,MediaWiki,are developed collaboratively. Many wikis are highly modular, providingAPIswhich allow programmers to develop new features without requiring them to be familiar with the entire codebase.

It is hard to determine which wiki engines are the most popular, although a list of leading candidates might includeUseMod,TWiki,MoinMoin,PmWikiandMediaWiki.A list of some of those available is included below, and another can be found atWiki:WikiEngines.

How to choose a wiki engine

When choosing a wiki engine, criteria to consider might include:

  • Who is developing it? A single person or a growing team?
  • What license is it distributed under?
  • Who is using it? A good wiki engine is likely to have a large group of existing users, and this is helpful if you need support running it.
  • Features for editors: easy to write (and powerful) formatting rules,WYSIWYGcapabilities, sectional editing, easy to roll back to ealier versions, file upload, insert image, able to write complex formulae etc.
  • Features for readers: table of contents, search, navigation bar, access statistics, article rating, high quality printable version.
  • User management: user personal page, personalized toolbar and preferences.
  • Groupware features: forum, gallery, message system.
  • Access controls. This is important for company intranet with security consideration.
  • Be able to import external files (html, doc), export to external files (doc, pdf)
  • Customizable interface: including main page, topbar, bottombar, sidebar;skins.
  • Multilingual support.
  • Extensibility: what third-party plugins exist, and what mechanisms are there for creating them.
  • Portability.
  • Scalability: Is it suitable for large amount of pages or just a light-weight wiki software? Most scalable wiki software need a back end database to store pages.

Examples of wiki software

Python-based

  • MoinMoin[1]is a Wiki clone written inPython.Offers good access control based on user groups.
  • Piki[2]is a Python-based Wiki. It is fairly basic, quick and simple to install, and offers reasonable security.
  • Pikie[3],another Python-based Wiki, offers more features than Piki. It produces a Wiki that resembles a typical website, and allows visitors to choose which "skin" to view the site with.
  • Trac[4],is a Wiki clone that integrates simple issue tracking and and interface toSubversion.
  • Wikinehesa[5]is a Python Wiki which also boasts more features than Piki. It is designed to address security issues found in some wiki engines, and is easy to install. It allows centering of images and text, and prevents image uploads overwriting existing filenames. It is Free Software released under the GPL.
  • WyPy[6]is a Python Wiki with a very minimalist function set, implemented in a mere 11 lines of code.
  • Zwiki[7]is aZope-based Wiki clone. It integrates with the CMFcontent management frameworkandPlone,and has several input page syntaxes available.

Ruby-based

PHP-based

  • CitiWiki[9]has been called the "Wiki of the next generation".
  • CoTeia[10]--XML-based Brazilian collaborative authoring tool with access control (optional), concurrency control (WebDAV), chat server, annotation server and site map. Runs on MySQL.
  • coWiki[11]-- follows the tradition of loose wikis with easy and intuitional markup, adding Unixlike access management, a directory/document hierarchy, and a plugin API for your functionalities and enhancements. All documents are parsed to XML for further export and transformation. coWiki is modular, template-based and multilingual. Requires PHP5 and MySQL
  • DokuWiki[12]is a simple-to-use Wiki aimed at the documentation needs of a small company. It uses plain texts files and has a simple but powerful syntax which ensures the datafiles remain readable outside the Wiki.
  • ErfurtWiki[13]-- embeddable into existing sites, uses SQL or flat-file backend, single script, allows plugins.
  • MediaWikiwas custom-designed for the high-volumeWikipediaencyclopedia project. It is written inPHPand uses aMySQLdatabase backend.
  • PhpWiki[14]is a WikiWikiWeb clone inPHP.
  • PukiWiki[15][16]is a PHP-based wiki (japanese).
  • PmWiki[17]is a PHP-based wiki. Features include: GPL-licensed, easy installation/customization, designed for collaborative authoring and maintenance of web sites, and support forInternationalization.Does not require a database.
  • QwikiWiki[18]is a wiki designed for simplicity. It is easy to install, supports files and images, and stores pages in the file system.
  • Text Wiki[19]is an object-oriented wiki parsing and rendering library. It does not implement page storage or other functions of a complete wiki application; it abstracts wiki markup elements into separate classes, then provides multiple output methods of the parsed source (XHTML and plain-text are currently supported, RTF, PDF, and LaTeX are on the way).
  • TikiWiki[20]is one of the larger and more ambitious wiki development projects, including a variety of additional groupware features (message forums, articles, etc.).
  • TipiWiki[21]is intended to be small, simple, and strictlyXHTMLstandard-compliant; it uses plain text files.
  • WakkaWiki[22]is a PHP/MySQL-based lightweight wiki engine. (not continued, please see forks like WackoWiki)
    • WackoWiki[23]is a fork of Wakka, with many new features. (multilingual)
    • UniWakka[24],another fork of Wakka, aims at providing a collaborative authoring tool for scientific web content. It supports WikiFarms installations, MathML, footnotes, tables of contents, bibtex import and export, latex export, latex-like citations, OpenOffice export and more.
    • WikkaWiki[25]a fork of Wakka with many improvments.
  • WikiRootry[26]is a Wiki Project written in PHP. It stores data in plain files, so no database is needed. Though simple, it has a number of "pro" features, including admin control, user management, and automated backup.
  • wikiX[27]-- PHP/MySQL-based wiki. It aims to allow users to redefine syntax by using wikiXmacros and various stages of PHP plugin.
  • WikkiTikkiTavi[28]-- Written in PHP, uses MySQL

LISP-based

  • CLiki[29]is a free collaborative hypertext authoring program written in Common Lisp. Modelled on Wiki, it is free software released under the MIT license. It presently runs in SBCL and requires Araneida which needs the SBCL socket library. Considered extremely powerful, it has been implemented atcliki.net,andmetacircles.com.

Microsoft

  • DotWikia Wiki clone using VB.NET and SQL Server.
  • Elrey's Wiki Server-[30]or[31]- is a wiki variant written in C++ and Winsocks. It has built-in http 1.0 server and very useful features for easy installation and best for personal as well as internet or intranet use.
  • ErfurtWiki[32],a single script with lots of plugins, uses SQL or a flat-file backend.
  • FlexWiki[33]is a.NET enabled Wiki tool, available in binary or source form. Very easy to use, work with, and modify.
  • OpenWiki[34]is an XML-based wiki written in ASP. It combines the best features of several Wikis, particularly UseMod and MoinMoin.
  • Perspective[35]Perspective is a Wiki engine targeted for use by project teams to help them collect and share knowledge. Provides WYSIWYG editing in IE and Mozilla with versioned pages and attachments. Supports searching over pages and attachments (including searching of MS Office documents). Open Source and released under the GPL.
  • WikiAsp[36]is powerful Active Server Pages engine which runs on Microsoft IIS and Windows. It packs features like RSS and automatic DB creation.

Java-based

  • JSP Wiki[37]is based onJavaServer Pagesand available under theGNU Lesser General Public License.
  • SnipSnap[38]is a Java-based package that combinesWikiandblogconcepts. It includes its own web server, but can be built as a war file for use in otherservletengines. Released under theGNU General Public License
  • Very Quick Wiki[39]is a WikiWiki web clone written usingJavaServer Pagesand servlets and designed to be installed and run with minimum effort onJakarta Tomcator some other Java application servers. Very Quick Wiki also supports use of MySQL.
  • XWiki[40]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.
  • HMath[41]is a Java-basedMathMLweblogWiki.It is based onSnipSnapand contains aTeX-subset toMathMLconverter.
  • Confluence[42]is a commercial J2EE application which combinesWikiandblogfunctionality. Its features include PDF page export and page refactoring, and it can be run on any application server using any RDBMS backend.
  • JWiki[43]A pure Java Wiki. Is very simple and is not based on a servlets. The goal is to have a Wiki that is easy to get up and running. Written by Richard Keene, now supported by Joseph Bergin at Pace University. (One of the 'very simple hacks' mentioned above.)

Perl-based

While not strictly Wiki software,weblog-engineBlosxom[51]mostly meets the definition when used with itswikieditishandwikiwordishplugins. There are also plugins available that enable Blosxom to use the textparsersfrom Kwiki, Twiki, or PurpleWiki.

Smalltalk-based

  • Swiki[52]is written inSqueak,and considered to be "super-portable and easy to set up and use".

Unknown

Examples of wiki hosting services

See also