Wiki engine

From CNM Wiki
Jump to: navigation, search

Any wiki engine (alternatively known as wiki software; hereinafter, the Engine) is the software that is designed to support creation, collaborative editing, storage, and usage of hyper-linked documents. The editing usually occurs through a web browser. The Engine that is ready to be installed is called wiki software. The Engine that is installed, usually on one or more application servers, is called a wiki application. Sometimes, the Engine can be referred as knowledge management software. One or more wiki applications are usually used in order to build a document collaboration system.


Usage

Collaboration tool

Main wikipage: Document collaboration tool
Theoretically, any collaborative development of documents can occur in four ways:
# Collaborative document development Tools Advantages Disadvantages
1 Exchange of ideas and compiling a unified document Forums, brainstorming sessions, interpersonal communications such as emails Tools are commonly known and can be used by pretty much anyone Compiling a unified document can be very challenging; usually, it needs to be collaborated beyond its ideas exchange
2 Exchange of documents under development Systems to pass documents physically or as email attachments If more than two collaborate, identifying the last revisions can be challenging.
3 Collaborative work on the same document without tracking of its revisions. Web-based office suites such as Google Docs; document storage facilities such as Google Drive; workflow applications; content management systems Although minimal skills are required to utilize the tools, usually, everyone can obtain those skills The main drawback arises if the history of revisions is needed
4 Collaborative work on the same document with tracking of its revisions. The Engines Under some circumstances, too much information can be difficult to handle The tools require skills beyond minimal

Core features

Core features of the Engines include:
  • Facility to publish content using quick and easy-to-create pages, including hyperlinks to other informational systems like people directories, CMS, applications, and thus to facilitate the buildup of useful knowledge bases.
  • Facility to organize data. The Engines may help users structure information into discoverable and searchable categories. These may arise from users in a bottom-up way. Users can create lists, tables, timelines and other ways of expressing order.
  • Facility to structure various views on a topic being considered by authors on the same page. This feature is very useful when writing documentation, preparing presentations, when author opinions differ, and so on.
  • Facility to search relevant data, including previous revisions.

Version control

All the most popular Engines include some version control systems (VCSes) in one of two ways:
  1. MediaWiki, Tiki Wiki CMS Groupware, Wiki.js, XWiki, etc. track revisions using their database management systems (DBMSes).
  2. Gitit and Ikiwiki use their VCSes to store files without any standalone database. A default version of PmWiki features no database as well, but can utilize some database through some plugins.

Areas of applications

Essentially, all the Engines can fall into one or more categories:
  • Publicly-open wikis such as MediaWiki and PmWiki, which are fully visible to any user of the World Wide Web and feature potentially large communities of readers, content contributors, and editors.
  • Enterprise wikis, which feature either:
    1. Fully-private documents for data management utilized by organizations or private teams. Confluence and the wiki component of Redmine belong to this type of the Engines.
    2. Some combination of private and publicly-open documents particularly practiced by Tiki Wiki CMS Groupware and Liferay. Often, private documents are used to develop publicly-open ones.
  • Personal wikis such as TiddlyWiki, which are designed to be used by a single person to manage notes and usually be run on a personal device such as a desktop computer or mobile phone.

Publicly-open wikis

Publicly-open wikis such as MediaWiki and PmWiki which are fully visible to any user of the World Wide Web and feature potentially large communities of readers, content contributors, and editors. By their definition, those end-user applications that can be defined as open wikis can be used by organizations; however, not every enterprise wiki can be open to the general public.

Features of open wikis

Since open wikis tend to attract large communities of content contributors and editors, they usually allow for open registration, which arises needs to combat spam. Several levels of user permissions are usually set up in order to manually manage users and the content, especially the one in dispute. Some merit basis is commonly used to promote users to upper levels.

Open-wiki trends

MediaWiki is the most popular open-wiki Engine; it features a resilient back-end, but its front-end appearance, especially limited mobile-friendliness, and text editor are lagging behind such industry standards such established by WordPress, for instance. Several projects such as BlueSpice MediaWiki, PmWiki, and Wiki.js aim to address those weaknesses of MediaWiki.

Comparison of open wikis

Comparison of open wikis
Category Features Gitit Ikiwiki MediaWiki PmWiki Wiki.js
Legal properties Ownership OSS OSS OSS OSS OSS
Developer John MacFarlane Joey Hess Magnus Manske, Lee Daniel Crocker Patrick Michaud Nicolas Giard
License GPL GPLv2 GPLv2 GPL Affero
Latest release 0.12.3.1 3.20190228 1.33.0 2.2.118 1.0.117
History 2019/01/01 2019/02/28 2019/07/02 2019/08/28 2019/01/22
Introduction 2008 2006 2002 2002 2017
Category Features Gitit Ikiwiki MediaWiki PmWiki Wiki.js
Core software Programming language Haskell Perl PHP PHP JavaScript
Data backend Git, Darcs, Mercurial VCS MariaDB, PostgreSQL, SQLite, MS SQL Flat-file, SQLite (via plug-in) Node.js, MongoDB, Git
OS Windows Cross-platform No Yes Yes Yes
macOS No Unknown Unknown Unknown
Linux Unix-like; included in Linux distributions such as Debian and Ubuntu Unix-like Unix-like Unix-like
Software provisioning Web server Happstack; can also be used locally Unknown Any web server that supports PHP 5.5+ Any Web server with PHP, can run without a web server. None (built-in); can coexist with Apache / nginx / IIS via alternate port
Other provisioning LaTeX; Versioning system like Git, Darcs, or Mercurial Unknown PHP5; one of MySQL, MariaDB, PostgreSQL, SQLite, MSSQL PHP MongoDB, git
Category Features Gitit Ikiwiki MediaWiki PmWiki Wiki.js
Target audience Public Yes Yes Yes Yes Yes
Private Yes Yes Yes Yes Yes
Corporate Yes Yes Yes Yes Yes
Education Yes Yes Yes Yes Yes
Intranet Yes Yes Yes Yes Yes
Personal Yes Yes Yes Yes Yes
Scientific Yes; built-in support for LaTeX math; syntax highlighting for code blocks Unknown Yes; built-in support for LaTeX math; syntax highlighting for code blocks; full HTML, JavaScript support Yes, LaTex/MathML formulas (addons), Mind maps (addon), HTML (addon), syntax highlighting (addons), embed videos/maps (addons) Yes; syntax highlighting for code blocks; Github-flavored Markdown syntax; full HTML; Images/Videos/Documents
Category Features Gitit Ikiwiki MediaWiki PmWiki Wiki.js
UI Encoding UTF-8 Unknown UTF-8 ISO8859-1, UTF-8 UTF-8
Multilingual support Yes Yes Yes Yes Yes
Inline HTML Yes Unknown Partial; limited to versions and tags Yes; module Yes
User-customizable interface Yes; templates, CSS Unknown Partial; many features are user-customizable, templates Yes; themes, per page/per group CSS, etc. Yes; layouts, HTML, CSS
WYSIWYG editor Yes Unknown Partial; via extensions such as VisualEditor; novices might find installation and additional software setup complicated. Yes; Addon Yes
Selectable wiki syntax Yes Unknown MediaWiki syntax Yes, Creole (option), Markdown (plugin) Markdown
Category Features Gitit Ikiwiki MediaWiki PmWiki Wiki.js
Integration capacity LDAP Unknown Unknown Yes Yes Yes
Web feeds No markdown and other lightweight markup languages Unknown Yes; RSS/Atom Yes; RSS/Atom/RDF (option): global, per namespace, per page or per watchlist; feed readers (plugins) No
Export Yes via pandoc Unknown Yes; web UI, web API, shell Yes; modules Yes
Import Yes via pandoc Unknown Yes; web UI, web API, shell Yes; modules Yes
Outliner mechanism Yes Unknown Unknown Yes; section editing, section toggle (modules) Yes
Extensibility Yes Unknown Yes; actions, handlers Yes; greatly, 500+ plugins and configuration recipes Yes
Category Features Gitit Ikiwiki MediaWiki PmWiki Wiki.js
Technical functionality File uploading, attachments Yes Unknown Yes Yes Yes
Spam prevention Yes; reCAPTCHA Unknown Yes; URL blacklist, word blacklist, IP address blocking, captchas Yes; multiple Yes; ACL
Page access control Yes Unknown Partial; very limited read access control Yes; per page, per namespace, per action, per user groups (option) Yes
Document renaming Yes; old page can become a redirect Unknown Yes; old page can become a redirect Yes; page with redirect (module), uploads (module) Yes
Wiki farms Yes Unknown Yes Yes Unknown
Automatic TOC Unknown Unknown Yes Yes; modules Yes
Other features Unknown Unknown Visual editor, extensions via PHP modules, collaboration PageVariables and PageLists, blogs (addons), picture galleries (addons), embed maps/videos (addons). Highly flexible ACLs Built-in search
Category Features Gitit Ikiwiki MediaWiki PmWiki Wiki.js
  • Task (critical): To provide the learners with mobile-friendly lightweight wiki
  • Situation: Educaship MediaWiki comes with two drawbacks -- (a) lack of Educaship LDAP integration, so new students cannot access the wiki, and (b) lack of mobile-friendliness design; only one approved skin is mobile-friendly. To try something different, Natalia installed new wiki engines:
    1. DocuWiki looks like mobile-friendly MediaWiki. Written in PHP, lightweight, but not fancy.
    2. XWiki has a strong structure and acts like Confluence. Gary couldn't find how to plug it into Educaship GitLab. It has a Redmine integration though. At the same time, it looks good for complex documentation, not introductory learning. Plus, it is written in Java and consumes more resources than the others.
    3. Wiki.js seems like the application our school students will enjoy the most. Natalia integrated it into Educaship LDAP; we now look for opportunities to migrate our MediaWiki database to our Wiki.js instance.
    4. BlueSpice is built on the top of MediaWiki and features the same drawbacks.
    5. We also didn't really try those wiki that comes with CNMCyber.com. They may solve the task as well.
  • Actions:
    1. Kevin will explore CNMCyber.com's wiki. In the best case scenario, we will use those wiki for the first and second course lessons and the third course practice.
    2. If we decide that CNMCyber.com's wiki doesn't satisfy our needs, Natalia will check whether we can (a) plug DocuWiki in Educaship LDAP with, let say, https://www.dokuwiki.org/plugin:authldap and (b) populate with existing data through https://www.dokuwiki.org/tips:mediawiki_to_dokuwiki_converter
    3. Gary will take a look at BookStack

Enterprise wikis

Enterprise wikis are designed to be used in organizations, usually, as (a) an internal knowledge base and/or (b) internal tool to develop textual documents, particularly external webpages. According to Wikipedia,

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

Influence on enterprise systems

Enterprise wikis may add to or replace centrally-managed data management systems, including:
  • Content management systems. More contributors and editors allow for more rapid and cheap management of the enterprise content in comparison with a centrally controlled knowledge repository.
  • Document management systems.
  • Customer relationship management systems.
  • Enterprise resource planning ecosystems.
  • Email software. Enterprise wikis may greatly reduce email overload.According to Wikipedia,

    Wikis allow all relevant information to be shared by people working on a given project. Conversely, only the wiki users interested in a given project need look at its associated wiki pages, in contrast to high-traffic mailing lists which may burden subscribers with many messages, regardless of their relevance. It is also very useful for the project manager to have all the communication stored in one place, which allows them to link the responsibility for every action taken to a particular team member.

  • Project management systems.

Features of enterprise wikis

Features of enterprise wikis are as wide as the wikis' applications. In contrast with open wikis, enterprise ones:
  • Rarely allow all their viewers to access all the organizational knowledge. Users can be denied access to view and/or edit given pages, depending upon their department or role within the organization. For instance, only particular project team members are often allowed to access their project data and only those account managers who work with a particular customer can usually access his or her data.
  • Are often either:
    1. Enhanced with additional functionalities such as workflow applications, access to file repositories, project management systems, etc.
    2. Integrated into other enterprise-wide systems.
  • Rarely use any merit basis in order to promote users to upper levels of permissions. Those levels often follow an organizational hierarchy.

Comparison of enterprise wikis

Comparison of enterprise wikis
Category Features BlueSpice Confluence Redmine Tiki XWiki
Legal properties Ownership OSS Atlassian OSS OSS OSS
Developer Hallo Welt! GmbH Jean-Philippe Lang Luis Argerich Ludovic Dubost
License GPLv3 Proprietary GPLv2 LGPL LGPL
Latest release 3.0.1 6.15.6 4.0.4 19.1 11.7
History 2019/01/17 2019/06/24 2019/6/10 2019/02/14 2019/08/27
Introduction 2011 2004 2006 2002 2004
Category Features BlueSpice Confluence Redmine Tiki XWiki
Core software Programming language PHP Java, Java EE Ruby PHP Java
Data backend MariaDB DB2, MS SQL Server, MariaDB, Oracle, PostgreSQL Cross-database MariaDB PostgreSQL, MariaDB, Oracle, Apache Derby, HSQLDB
OS Windows Yes Yes Cross-platform Yes Any Java platform
macOS Unknown Yes Unknown
Linux UNIX-like UNIX-like UNIX-like
Software provisioning Web server IIS/Apache, Tomcat Tomcat included, or use your own servlet container Unknown Any Web server with PHP Any Java EE webserver
Other provisioning MySQL, Oracle Java 1.8, database such as PostgreSQL, MySQL, Oracle, SQL Server Unknown PHP Java
Category Features BlueSpice Confluence Redmine Tiki XWiki
Target audience Public Yes Yes Yes Yes Yes
Private Yes Yes Yes Yes Yes
Corporate Yes Yes Yes Yes Yes
Education Yes Yes Yes Yes Yes
Intranet Yes Yes Yes Yes Yes
Personal No Yes Yes Yes Yes
Scientific Yes; support for LaTeX math; syntax highlighting Unknown Unknown Yes; support for LaTeX math; syntax highlighting Yes
Category Features BlueSpice Confluence Redmine Tiki XWiki
UI Encoding UTF-8 UTF-8 Unknown UTF-8 UTF-8
Multilingual support Yes Yes Yes Yes Yes
Inline HTML Partial; limited to versions and tags Optional Unknown Yes Yes
User-customizable interface Yes; templates and themes, html and css Yes; templates and themes + CSS Unknown Yes; themes, user CSS, modules Yes; style-sheets, templates, themes, skin extensions
WYSIWYG editor Yes Yes Unknown Yes; with FCKeditor or via Quicktag insertion Yes; using CKEditor and various plugins developed for it
Selectable wiki syntax Unknown No Unknown No Yes; based on WikiModel, support syntaxes from other wikis
Category Features BlueSpice Confluence Redmine Tiki XWiki
Integration capacity LDAP Yes Yes Yes Yes Yes
Web feeds Yes; RSS Yes; RSS Unknown Yes; RSS/Atom/RDF Yes; RSS
Export Yes; see MediaWiki Partial, web UI Unknown No Yes; XAR (zipped XWiki ARchive) files
Import Yes; see MediaWiki Partial, web UI Unknown Yes Yes; XAR (zipped XWiki ARchive) files
Extensibility Yes Yes; Java Plug-ins, User Macros in Apache Velocity Unknown Hundreds of features, plugins, modules & mods Yes; component, plugins, macros, scripts, applications
Outliner mechanism Unknown Unknown Unknown Unknown No
Category Features BlueSpice Confluence Redmine Tiki XWiki
Technical functionality File uploading, attachments Yes Yes Unknown Yes Yes
Spam prevention Yes Yes; CAPTCHA Unknown Yes; CAPTCHA for registration and anonymous edits or comments, encrypted email addresses. Yes; Captcha, ACL
Page access control Yes Yes Yes Yes Yes
Document renaming Yes Yes; links are updated Unknown Yes Yes
Wiki farms Yes Unknown Unknown Yes (e.g. Siteground) Yes
Automatic TOC Yes Yes Unknown Yes Yes, using the Template:Toc macro
Other features Unknown Encryption in Cloud version Unknown Unknown Unknown
Category Features BlueSpice Confluence Redmine Tiki XWiki

See also

Related lectures