Wiki software

Last updated
Homepage of Wikipedia, which runs on MediaWiki, one of the most popular wiki software packages Homepage of Wikipedia.png
Homepage of Wikipedia, which runs on MediaWiki, one of the most popular wiki software packages

Wiki software (also known as a wiki engine or a wiki application) is collaborative software that runs a wiki, which allows the users to create and collaboratively edit pages or entries via a web browser. A wiki system is usually a web application that runs on one or more web servers. The content, including previous revisions, is usually stored in either a file system or a database. Wikis are a type of web content management system, and the most commonly supported off-the-shelf software that web hosting facilities offer.

Contents

There are dozens of actively maintained wiki engines. They vary in the platforms they run on, the programming language they were developed in, whether they are open-source or proprietary, their support for natural language characters and conventions, and their assumptions about technical versus social control of editing.

History

The first generally recognized "wiki" application, WikiWikiWeb, was created by American computer programmer Ward Cunningham in 1994 and launched on c2.com in 1995. [1] "WikiWikiWeb" was also the name of the wiki that ran on the software, and in the first years of wikis' existence there was no great distinction made between the contents of wikis and the software they ran on, possibly because almost every wiki ran on its own customized software.

Wiki software originated from older version control systems used for documentation and software in the 1980s. By the mid-1990s these generally had web browser interfaces. However, they lacked the ability to easily create links between internal pages without writing HTML code. For WikiWikiWeb, the CamelCase naming convention was used to indicate internal links, without requiring HTML code.

By the time MediaWiki appeared, this convention had been largely abandoned in favor of explicitly marking links in edited source code with double square brackets. Page names thus did not interrupt the flow of English and could follow the standard English capitalization convention. Case insensitivity on the first letter but not subsequent letters supported standard English capitalization conventions and let writers author their pages in ordinary English, with the linking of particular words and phrases afterward. This proved to be the critical change that allowed ordinary authors of English to write wiki pages, and non-technical users to read them. This policy was extended to other natural languages, avoiding the use of unusual-looking text or awkward capitalization that violates the language's own rules.

Over the next 10 years, many more wiki applications were written, in a variety of programming languages. After 2005, there began to be a move toward increasing consolidation and standardization: many less-popular wiki applications were gradually abandoned, and fewer new applications were created. Relatively few of the wiki engines currently in use were created after 2006.

Some content management systems, such as Microsoft SharePoint, have also adopted wiki-like functionality.

Data compatibility

In general new wiki engines have not followed the data formats (wiki markup languages) of the existing engines, making them of limited use for those who have already invested in large knowledge bases in existing software. As a rule newer wiki projects have not succeeded in attracting large numbers of users from the existing wiki software base.

The most well-known data format arguably is MediaWiki's, and correspondingly has been reimplemented in other wikis:

None of these alternatives support the extensions available under standard MediaWiki, some of which extend or alter its data format.

In 2007 a project named (Wiki)Creole to create a standardized markup language for wikis was completed. As of 2022, the effort has had significant technical success, gaining support through implementation in many engines, [3] but limited social success as it is still relatively unused and unknown, has few cross-markup conversion tools for migrating existing knowledge bases to it and no major engines use it as their native markup syntax.

Types of usage

There are essentially three types of usage for wiki software: public-facing wikis with a potentially large community of readers and editors, private enterprise wikis for data management by corporations and other organizations, and personal wikis, meant to be used by a single person to manage notes, and usually run on a desktop. Some wiki software is specifically geared for one of the usage types, while other software can be used for all three, but contains functionality, either in its core or through plugins, that help with one or more of the usage types.

Public wikis

Public wikis are usually open to the public to read, edit and comment on some or all of the article space of each wiki. Many offer registration to offer further access and controls to each user and a few have, in-part commercialised aspects or further access, such as the popular wiki farm, Fandom.

MediaWiki is by far the most dominant software as it powers Wikipedia, consistently and by a large margin, the most visited public wiki, [4] it also powers many other public wikis as well. [5] Other wiki engines used regularly for public wikis include MoinMoin and PmWiki, along with many others. [5]

Other Internet websites, based on wiki software, include encyclopedias such as Sensei's Library, Parlia, and WikiTree.

Enterprise wikis

Enterprise wiki software is software intended to be used in a corporate (or organizational) context, [6] especially to enhance internal knowledge sharing. It tends to have a greater emphasis on features like access control, integration with other software, and document management. Most proprietary wiki applications specifically market themselves as enterprise solutions, including Socialtext, Jive, Traction TeamPage and Notion.

Increasingly offerings appear which use the name 'wiki' but do not offer basic elements common to established wikis, like Wiki Markup and Link-first workflow as in Confluence (since 2018), [7] or Version Control of Full Text Search Microsoft Teams. [8]

In addition, some open source wiki applications also describe themselves as enterprise solutions, including XWiki, Foswiki, [9] TWiki, [10] and BlueSpice. [11] Some open-source wiki applications, though they do not specifically bill themselves as enterprise solutions, have marketing materials geared for enterprise users, like Tiki Wiki CMS Groupware [12] and MediaWiki. [13] Many other wiki applications have also been used within enterprises.

Among the many companies and government organizations that use wikis internally are Adobe Systems, Amazon.com, Intel, Microsoft, and the United States intelligence community.

Within organizations, wikis may either add to or replace centrally managed content management systems. Their decentralized nature allows them, in principle, to disseminate needed information across an organization more rapidly and more cheaply than a centrally controlled knowledge repository. Wikis can also be used for document management, project management, customer relationship management, enterprise resource planning, and many other kinds of data management.

Features of wikis which can serve an enterprise include:

Personal wikis

Software that is specifically designed for running personal wikis includes Tomboy, PmWiki, and ConnectedText (now discontinued). Other, more general, wiki applications have components geared for individual users, including MoinMoin (which offers a "DesktopEdition" [14] ), and TiddlyWiki.

Editing

Most wiki software uses a special syntax, known as wiki markup, for users to format the text, instead of requiring them to enter in HTML. Some wiki applications also include a WYSIWYG editor, either instead of or in addition to the wiki markup editing.

Based on the atomic property of database systems, any edit should be traced. On wiki software, the chronology of edits (e.g. published by Internet users) in any given article may be locally saved with a common .xml file extension by people having administrator rights.

Hosted application

There are a variety of wiki hosting services, otherwise known as wiki farms, that host users' wikis on a server. Some wiki software is only available in hosted form: PBworks, Wetpaint and Wikispaces are all examples of wiki hosting services that run on code that is only available on those sites. Other wiki software is available in both hosted and downloadable form, including Confluence, Socialtext, MediaWiki and XWiki.

Additional features

Content-management features

Wiki software can include features that come with traditional content management systems, such as calendars, to-do lists, blogs and discussion forums. All of these can either be stored via versioned wiki pages, or simply be a separate piece of functionality. Software that supports blogs with wiki-style editing and versioning is sometimes known as "bliki" software.

Tiki Wiki CMS Groupware is an example of wiki software that is designed to support such features at its core. Many of the enterprise wiki applications, such as TWiki, Confluence and SharePoint, also support such features, as do open-source applications like MediaWiki and XWiki, via plugins. [15]

Scripting

Some wiki applications let users embed scripting-style calls into wiki pages, which are processed by the wiki's parser and run either when the page is saved or when it is displayed. XWiki and MediaWiki are examples of such applications. [16]

Specifically XWiki offers support for the following scripting languages: Groovy, Velocity, Ruby, Python, PHP or more generally any JSR223 scripting language.

Semantic annotation

Wiki software can let users store data via the wiki, in a way that can be exported via the Semantic Web, or queried internally within the wiki. A wiki that allows such annotation is known as a semantic wiki. The current best-known semantic wiki software is Semantic MediaWiki, a plugin to MediaWiki.

Mobile access

Some wiki software have special handling for accessing by mobile devices, such as mobile phones. This is usually done by displaying conservative HTML coding. [17] [18]

Offline viewing and editing

Various approaches to providing wiki functionality when the user is not online have been tried. For users who need to simply read the wiki's content when offline, a copy of the content can often be made easily; in the case of Wikipedia, CD-ROMs and printed versions have been made of parts of Wikipedia's content.

Allowing offline editing, however (where the changes are synchronized when the user is back online), is a much more difficult process. One approach to doing this is using a distributed revision control system as a backend of the wiki, in peer-to-peer style. With this approach, there is no central store of the wiki's content; instead, every user keeps a complete copy of the wiki locally, and the software handles merging and propagating of changes when they are made. This is the approach taken by the ikiwiki engine (which can use the distributed revision control system Git as its back-end), and Code Co-op (a distributed revision control system that includes a wiki component).

Distributing and decentralizing

Wiki software can be distributed. [19] XWiki is able to function in this way. [20] Smallest Federated Wiki promotes a federation of wiki servers, [21]

There has also been research done on allowing Wikipedia to be run as a decentralized wiki. [22] [23]

See also

Notes

  1. The Wiki Way. Quick collaboration on the Web, Addison-Wesley (April 2001) ISBN   0-201-71499-X
  2. "JAM wiki - Just Advertising and Marketing". JAM wiki. Retrieved 2021-05-12.
  3. "Engines". WikiCreole. 14 June 2010. Retrieved 2022-05-18.
  4. "Alexa Top 500 Global Sites". Alexa. Archived from the original on 2 March 2015. Retrieved 11 April 2017.
  5. 1 2 "Browse data: All". WikiIndex. Archived from the original on Jul 25, 2021.
  6. "Year of the enterprise Wiki: Lightweight Web collaboration gets down to business", Jon Udell, InfoWorld , December 30, 2004.
  7. "[CONFCLOUD-67129] Link to an undefined page (A page that doesn't exist yet)". jira.atlassian.com. Archived from the original on Nov 30, 2022.
  8. "Fulltextsearch for Wiki". Microsoft Teams UserVoice. Archived from the original on 2020-11-12.
  9. "Foswiki - The free enterprise collaboration platform".
  10. "TWiki - the Open Source Enterprise Wiki and Web Application Platform".
  11. "BlueSpice - The Wiki and Knowledge Base Software".
  12. "Enterprise". Tiki Wiki CMS Groupware. 11 August 2022. Retrieved 11 April 2017.
  13. "Enterprise hub". MediaWiki. Retrieved 11 April 2017.
  14. "DesktopEdition". MoinMoin. 2016-12-01. Retrieved 11 April 2017.
  15. "Applications & Extensions (Features.Applications)". XWiki. September 23, 2015. Archived from the original on May 10, 2017. Retrieved 11 April 2017.
  16. Anslow, C.; Riehle, D. (2007), Lightweight End-User Programming with Wikis, SAP Research, CiteSeerX   10.1.1.131.2458
  17. Socialtext Optimizes Wiki for Mobile Users, CIO Magazine, April 5, 2006, retrieved 2008-09-20
  18. Lu, Mat (July 15, 2007). "W2: a little iPhone wiki]". TUAW . Archived from the original on 2013-02-05. Retrieved August 24, 2021.{{cite web}}: CS1 maint: unfit URL (link)
  19. Davoust, Alan; Skaf-Molli, Hala; Molli, Pascal; Esfandiari, Babak; Aslan, Khaled (2015). "Distributed wikis: a survey". Concurrency and Computation: Practice and Experience. 27 (11): 2751–2777. doi:10.1002/cpe.3439. ISSN   1532-0626. S2CID   45142475.
  20. "XWiki Concerto Project homepage" . Retrieved 11 April 2017.
  21. "Welcome Visitors" . Retrieved 11 April 2017.
  22. A Decentralized Wiki Engine for Collaborative Wikipedia Hosting, Guido Urdaneta, Guillaume Pierre and Maarten van Steen, Proceedings of the 3rd International Conference on Web Information Systems and Technology ( Webist ), March 2007
  23. Wikipedia Workload Analysis for Decentralized Hosting, Guido Urdaneta, Guillaume Pierre, Maarten van Steen, Elsevier Computer Networks 53(11), pp. 1830–1845, July 2009

Related Research Articles

<span class="mw-page-title-main">Wiki</span> Type of website that visitors can edit

A wiki is a form of online hypertext publication that is collaboratively edited and managed by its own audience directly through a web browser. A typical wiki contains multiple pages for the subjects or scope of the project, and could be either open to the public or limited to use within an organization for maintaining its internal knowledge base.

A content management system (CMS) is computer software used to manage the creation and modification of digital content . A CMS is typically used for enterprise content management (ECM) and web content management (WCM).

<span class="mw-page-title-main">PmWiki</span> Wiki software

PmWiki is wiki software written by Patrick R. Michaud in the PHP programming language, and since January 2009 it is actively maintained by Petko Yotov under the oversight of Dr. Michaud.

TWiki is a Perl-based structured wiki application, typically used to run a collaboration platform, knowledge or document management system, a knowledge base, or team portal. Users can create wiki pages using the TWiki Markup Language, and developers can extend wiki application functionality with plugins.

<span class="mw-page-title-main">MediaWiki</span> Free and open-source wiki software

MediaWiki is free and open-source wiki software originally developed by Magnus Manske for use on Wikipedia on January 25, 2002, and further improved by Lee Daniel Crocker, after which it has been coordinated by the Wikimedia Foundation. It powers several wiki hosting websites across the Internet, as well as most websites hosted by the Foundation including Wikipedia, Wiktionary, Wikimedia Commons, Wikiquote, Meta-Wiki and Wikidata, which define a large part of the set requirements for the software. MediaWiki is written in the PHP programming language and stores all text content into a database. The software is optimized to efficiently handle large projects, which can have terabytes of content and hundreds of thousands of views per second. Because Wikipedia is one of the world's largest and most visited websites, achieving scalability through multiple layers of caching and database replication has been a major concern for developers. Another major aspect of MediaWiki is its internationalization; its interface is available in more than 400 languages. The software has more than 1,000 configuration settings and more than 1,800 extensions available for enabling various features to be added or changed. Besides its usage on Wikimedia sites, MediaWiki has been used as a knowledge management and content management system on websites such as Fandom, wikiHow and major internal installations like Intellipedia and Diplopedia.

<span class="mw-page-title-main">DokuWiki</span> Wiki software

DokuWiki is an open source wiki application licensed under GPLv2 and written in the PHP programming language. It works on plain text files and thus does not need a database. Its syntax is similar to the one used by MediaWiki. It is often recommended as a more lightweight, easier to customize alternative to MediaWiki. The 'Doku' in DokuWiki is short for Dokumentation which in German means documentation.

The following tables compare general and technical information for many wiki software packages.

A web content management system is a software content management system (CMS) specifically for web content. It provides website authoring, collaboration, and administration tools that help users with little knowledge of web programming languages or markup languages create and manage website content. A WCMS provides the foundation for collaboration, providing users the ability to manage documents and output for multiple author editing and participation. Most systems use a content repository or a database to store page content, metadata, and other information assets the system needs.

<span class="mw-page-title-main">XWiki</span> Wiki engine

XWiki is a free wiki software platform written in Java with a design emphasis on extensibility. XWiki is an enterprise wiki. It includes WYSIWYG editing, OpenDocument based document import/export, semantic annotations and tagging, and advanced permissions management.

A semantic wiki is a wiki that has an underlying model of the knowledge described in its pages. Regular, or syntactic, wikis have structured text and untyped hyperlinks. Semantic wikis, on the other hand, provide the ability to capture or identify information about the data within pages, and the relationships between pages, in ways that can be queried or exported like a database through semantic queries.

<span class="mw-page-title-main">Semantic MediaWiki</span> Software for creating, managing and sharing structured data in MediaWiki

Semantic MediaWiki (SMW) is an extension to MediaWiki that allows for annotating semantic data within wiki pages, thus turning a wiki that incorporates the extension into a semantic wiki. Data that has been encoded can be used in semantic searches, used for aggregation of pages, displayed in formats like maps, calendars and graphs, and exported to the outside world via formats like RDF and CSV.

A personal wiki is wiki software that allows individual users to organize information on their desktop or mobile computing devices in a manner similar to community wikis, but without collaborative software or multiple users.

<span class="mw-page-title-main">History of wikis</span> History of wiki collaborative platforms

The history of wikis began in 1994, when Ward Cunningham gave the name "WikiWikiWeb" to the knowledge base, which ran on his company's website at c2.com, and the wiki software that powered it. The wiki went public in March 1995, the date used in anniversary celebrations of the wiki's origins. c2.com is thus the first true wiki, or a website with pages and links that can be easily edited via the browser, with a reliable version history for each page. He chose "WikiWikiWeb" as the name based on his memories of the "Wiki Wiki Shuttle" at Honolulu International Airport, and because "wiki" is the Hawaiian word for "quick".

Confluence is a web-based corporate wiki developed by Australian software company Atlassian. Atlassian wrote Confluence in the Java programming language and first published it in 2004. Confluence Standalone comes with a built-in Tomcat web server and hsql database, and also supports other databases.

<span class="mw-page-title-main">MoinMoin</span> Free wiki software

MoinMoin is a wiki engine implemented in Python, initially based on the PikiPiki wiki engine. Its name is a play on the North German greeting Moin, repeated as in WikiWiki. The MoinMoin code is licensed under the GNU General Public License v2, or any later version.

<span class="mw-page-title-main">Universal Edit Button</span> Browser extension indicating a website is editable

The Universal Edit Button is a browser extension that provides a green pencil icon in the address bar of a web browser that indicates that a web page on the World Wide Web is editable. It is similar to the orange "broadcast" RSS icon that indicates that there is a web feed available. Clicking the icon opens the edit window. It was invented by a collaborative team of wiki enthusiasts, including Ward Cunningham, Jack Herrick, and many others.

The following outline is provided as an overview of and topical guide to the Perl programming language:

<span class="mw-page-title-main">Foswiki</span> Enterprise wiki

Foswiki is an enterprise wiki, typically used to run a collaboration platform, knowledge base or document management system. Users can create wiki applications using the Topic Markup Language (TML), and developers can extend its functionality with plugins.

References