Difference between revisions of "Wiki engine"

From CNM Wiki
Jump to: navigation, search
(Comparison of open wikis)
 
(111 intermediate revisions by the same user not shown)
Line 1: Line 1:
Any [[wiki engine]] (hereinafter, the ''Engine'') is [[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 server]]s, is called a [[wiki application]].
+
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 server]]s, is called a [[wiki application]]. Sometimes, the ''Engine'' can be referred as [[knowledge management software]]. One or more [[wiki application]]s are usually used in order to build a [[document collaboration system]].
  
  
 
==Usage==
 
==Usage==
 
===Collaboration tool===
 
===Collaboration tool===
:''Main wikipage: [[Document collaboration]]''
+
:''Main wikipage: [[Document collaboration tool]]''
  
 
:Theoretically, any collaborative development of documents can occur in four ways:
 
:Theoretically, any collaborative development of documents can occur in four ways:
Line 28: Line 28:
 
|The ''Engines''||Under some circumstances, too much information can be difficult to handle||The tools require skills beyond minimal
 
|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===
 
===Version control===
 
:All the most popular ''Engines'' include some [[version control system]]s ([[version control system|VCS]]es) in one of two ways:
 
:All the most popular ''Engines'' include some [[version control system]]s ([[version control system|VCS]]es) in one of two ways:
:#[[MediaWiki]], [[PmWiki]], [[Tiki Wiki CMS Groupware]], [[Wiki.js]], [[XWiki]], etc. track revisions using their [[database management system]]s ([[database management system|DBMS]]es).
+
:#[[MediaWiki]], [[Tiki Wiki CMS Groupware]], [[Wiki.js]], [[XWiki]], etc. track revisions using their [[database management system]]s ([[database management system|DBMS]]es).
:#[[Gitit]] and [[Ikiwiki]] use their [[version control system|VCS]]es to store files without any standalone [[database]].
+
:#[[Gitit]] and [[Ikiwiki]] use their [[version control system|VCS]]es 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===
 
===Areas of applications===
Line 39: Line 46:
 
:*'''[[#Enterprise wikis|Enterprise wikis]]''', which feature either:
 
:*'''[[#Enterprise wikis|Enterprise wikis]]''', which feature either:
 
:*#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''.
 
:*#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''.
:*#Some combination of private and publicly-open documents particularly practiced by [[Tiki Wiki CMS Groupware]]. Often, private documents are used to develop publicly-open ones.
+
:*#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]].
 
:*'''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==
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.
+
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 application]]s 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===
 
===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.
+
: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===
 
===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 [[PmWiki]] aim to address those weaknesses of [[MediaWiki]].
+
:[[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===
Line 60: Line 67:
 
|rowspan="4"|Legal properties
 
|rowspan="4"|Legal properties
 
!Ownership
 
!Ownership
|[[Open-source|OSS]]||[[Proprietary]]||[[open-source|OSS]]||[[open-source|OSS]]||[[open-source|OSS]]
+
|[[Open-source|OSS]]||[[open-source|OSS]]||[[open-source|OSS]]||[[open-source|OSS]]||[[open-source|OSS]]
 
|-
 
|-
 
!Developer
 
!Developer
|Community||[[Microsoft]]||Community||Foundation||Corporation
+
|John MacFarlane||Joey Hess||Magnus Manske, Lee Daniel Crocker||Patrick Michaud||Nicolas Giard
 
|-
 
|-
 
![[Software license|License]]
 
![[Software license|License]]
|[[GNU General Public License|GPL]]||Unknown||[[GNU General Public License|GPL]]||[[Mozilla Public License|MPL]]||[[YPL-like]]
+
|[[GNU General Public License|GPL]]||[[GNU General Public License|GPLv2]]||[[GNU General Public License|GPLv2]]||[[GNU General Public License|GPL]]||[[Affero GPL v3|Affero]]
 
|-
 
|-
 
!rowspan="2"|Latest release
 
!rowspan="2"|Latest release
|3.32.2||2019 (16)||1.2.5||60.7.2||8.6.0
+
|0.12.3.1||3.20190228||1.33.0||2.2.118||1.0.117
 
|-
 
|-
 
|rowspan="2"|History
 
|rowspan="2"|History
|05/08/2019||09/24/2018||04/28/2017||06/20/2019||12/15/2014
+
|2019/01/01||2019/02/28||2019/07/02||2019/08/28||2019/01/22
 
|-
 
|-
 
!Introduction
 
!Introduction
|2000||1997||2006||2003||2005
+
|2008||2006||2002||2002||2017
 
|-
 
|-
|rowspan="5"|[[Operating system|OS]]
+
!Category
 +
|Features
 +
![[Gitit]]!![[Ikiwiki]]!![[MediaWiki]]!![[PmWiki]]!![[Wiki.js]]
 +
|-
 +
|rowspan="2"|Core software
 +
![[Programming language]]
 +
|Haskell||[[Perl]]||[[PHP]]||[[PHP]]||[[JavaScript]]
 +
|-
 +
!Data backend
 +
|Git, Darcs, Mercurial||[[version control system|VCS]]||[[MariaDB]], [[PostgreSQL]], SQLite, MS SQL||[[Flat-file]], SQLite (via plug-in)||[[Node.js]], [[MongoDB]], [[Git]]
 +
|-
 +
|rowspan="3"|[[Operating system|OS]]
 
![[Microsoft Windows|Windows]]
 
![[Microsoft Windows|Windows]]
|No||Yes||rowspan="5"|[[Cross-platform]]||rowspan="5"|[[Cross-platform]]||rowspan="5"|[[Cross-platform]]
+
|rowspan="3"|[[Cross-platform]]||No||Yes||Yes||Yes
 
|-
 
|-
 
![[macOS]]
 
![[macOS]]
|No||Yes
+
|No||Unknown||Unknown||Unknown
 
|-
 
|-
 
![[Linux]]
 
![[Linux]]
|rowspan="3"|[[UNIX-like]]||No
+
|[[Unix-like]]; included in [[Linux distribution]]s such as [[Debian]] and [[Ubuntu]]||[[Unix-like]]||[[Unix-like]]||[[Unix-like]]
 +
|-
 +
|rowspan="2"|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]]
 +
|-
 +
|rowspan="7"|Target audience
 +
!Public
 +
|Yes||Yes||Yes||Yes||Yes
 +
|-
 +
!Private
 +
|Yes||Yes||Yes||Yes||Yes
 +
|-
 +
!Corporate
 +
|Yes||Yes||Yes||Yes||Yes
 
|-
 
|-
![[BSD]]
+
!Education
|No
+
|Yes||Yes||Yes||Yes||Yes
 
|-
 
|-
![[Unix]]
+
!Intranet
|No
+
|Yes||Yes||Yes||Yes||Yes
 
|-
 
|-
|rowspan="2"|User-client interaction
+
!Personal
![[User interface|UI]]
+
|Yes||Yes||Yes||Yes||Yes
|[[GUI]] ([[GTK]])||[[GUI]]||[[GUI]]||[[GUI]] ([[XUL]])||[[GUI]]
 
 
|-
 
|-
!Bi-directional text support
+
!Scientific
|Yes||Unknown||Yes||Unknown||Unknown
+
|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]]
 +
|-
 +
|rowspan="6"|[[User interface|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]]
 +
|-
 +
|rowspan="6"|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]]
 +
|-
 +
|rowspan="7"|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
 
!Category
Line 104: Line 214:
 
![[Gitit]]!![[Ikiwiki]]!![[MediaWiki]]!![[PmWiki]]!![[Wiki.js]]
 
![[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 engine]]s:
 +
:*# [[DocuWiki]] looks like mobile-friendly [[MediaWiki]]. Written in PHP, lightweight, but not fancy.
 +
:*# [[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.
 +
:*# [[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.
 +
:*# [[BlueSpice]] is built on the top of [[MediaWiki]] and features the same drawbacks.
 +
:*# We also didn't really try those wiki that comes with [[CNMCyber.com]]. They may solve the task as well.
 +
:* '''Actions:'''
 +
:*# 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.
 +
:*# 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
 +
:*# Gary will take a look at [[BookStack]]
  
 
==Enterprise wikis==
 
==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:Wiki_software|Wikipedia]], <blockquote>Among the many companies and government organizations that use wikis internally are Adobe Systems, Amazon.com, Intel, Microsoft, and the United States intelligence community.</blockquote>
 +
 +
===Influence on enterprise systems===
 +
:Enterprise wikis may add to or replace centrally-managed [[data management system]]s, including:
 +
:*[[Content management system]]s. 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 system]]s.
 +
:*[[Customer relationship management system]]s.
 +
:*[[Enterprise resource planning ecosystem]]s.
 +
:*[[Email software]]. Enterprise wikis may greatly reduce email overload.According to [[Wikipedia:Wiki_software|Wikipedia]], <blockquote>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.</blockquote>
 +
:*[[Project management system]]s.
  
 
===Features of enterprise wikis===
 
===Features of enterprise wikis===
Enterprise wiki software is software intended to be used in a corporate (or organizational) context,[4] 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 Confluence, Socialtext, Jive, Traction TeamPage, and Nuclino. In addition, some open source wiki applications also describe themselves as enterprise solutions, including XWiki, Foswiki[5] and TWiki.[6] 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[7] and MediaWiki.[8] Many other wiki applications have also been used within enterprises.
+
: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.
Among the many companies and government organizations that use wikis internally are Adobe Systems, Amazon.com, Intel, Microsoft, and the United States intelligence community.
+
:*Are often either:
 
+
:*#Enhanced with additional functionalities such as [[workflow application]]s, access to file repositories, [[project management system]]s, etc.
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.
+
:*#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.
Features of wikis which can serve an enterprise include:
 
 
 
    Entering information into quick and easy-to-create pages, including hyperlinks to other corporate information systems like people directories, CMS, applications, and thus to facilitate the buildup of useful knowledge bases.
 
    Reduces e-mail overload. 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.
 
    Organizes information. Wikis 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.
 
    Builds consensus. Wikis allow structuring the expression of 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.
 
    Access levels by rights and roles. Users can be denied access to view and/or edit given pages, depending upon their department or role within the organization.
 
    Knowledge management with comprehensive searches. This includes document management, project management, and knowledge repositories useful during times of employee turnover or retirement.
 
  
 
===Comparison of enterprise wikis===
 
===Comparison of enterprise wikis===
Line 132: Line 256:
 
|rowspan="4"|Legal properties
 
|rowspan="4"|Legal properties
 
!Ownership
 
!Ownership
|[[Open-source|OSS]]||[[Proprietary]]||[[open-source|OSS]]||[[open-source|OSS]]||[[open-source|OSS]]
+
|[[Open-source|OSS]]||rowspan="2"|[[Atlassian]]||[[open-source|OSS]]||[[open-source|OSS]]||[[open-source|OSS]]
 
|-
 
|-
 
!Developer
 
!Developer
|Community||[[Microsoft]]||Community||Foundation||Corporation
+
|Hallo Welt! GmbH||Jean-Philippe Lang||Luis Argerich||Ludovic Dubost
 
|-
 
|-
 
![[Software license|License]]
 
![[Software license|License]]
|[[GNU General Public License|GPL]]||Unknown||[[GNU General Public License|GPL]]||[[Mozilla Public License|MPL]]||[[YPL-like]]
+
|[[GNU General Public License|GPLv3]]||[[Proprietary]]||[[GNU General Public License|GPLv2]]||LGPL||LGPL
 
|-
 
|-
 
!rowspan="2"|Latest release
 
!rowspan="2"|Latest release
|3.32.2||2019&nbsp;(16)||1.2.5||60.7.2||8.6.0
+
|3.0.1||6.15.6||4.0.4||19.1||11.7
 
|-
 
|-
 
|rowspan="2"|History
 
|rowspan="2"|History
|05/08/2019||09/24/2018||04/28/2017||06/20/2019||12/15/2014
+
|2019/01/17||2019/06/24||2019/6/10||2019/02/14||2019/08/27
 
|-
 
|-
 
!Introduction
 
!Introduction
|2000||1997||2006||2003||2005
+
|2011||2004||2006||2002||2004
 
|-
 
|-
|rowspan="5"|[[Operating system|OS]]
+
!Category
 +
|Features
 +
![[BlueSpice MediaWiki|BlueSpice]]!![[Confluence]]!![[Redmine]]!![[Tiki Wiki CMS Groupware|Tiki]]!![[XWiki]]
 +
|-
 +
|rowspan="2"|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
 +
|-
 +
|rowspan="3"|[[Operating system|OS]]
 
![[Microsoft Windows|Windows]]
 
![[Microsoft Windows|Windows]]
|No||Yes||rowspan="5"|[[Cross-platform]]||rowspan="5"|[[Cross-platform]]||rowspan="5"|[[Cross-platform]]
+
|Yes||Yes||rowspan="3"|[[Cross-platform]]||Yes||rowspan="3"|Any [[Java platform]]
 
|-
 
|-
 
![[macOS]]
 
![[macOS]]
|No||Yes
+
|Unknown||Yes||Unknown
 
|-
 
|-
 
![[Linux]]
 
![[Linux]]
|rowspan="3"|[[UNIX-like]]||No
+
|[[UNIX-like]]||[[UNIX-like]]||[[UNIX-like]]
 +
|-
 +
|rowspan="2"|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 MediaWiki|BlueSpice]]!![[Confluence]]!![[Redmine]]!![[Tiki Wiki CMS Groupware|Tiki]]!![[XWiki]]
 +
|-
 +
|rowspan="7"|Target audience
 +
!Public
 +
|Yes||Yes||Yes||Yes||Yes
 +
|-
 +
!Private
 +
|Yes||Yes||Yes||Yes||Yes
 
|-
 
|-
![[BSD]]
+
!Corporate
|No
+
|Yes||Yes||Yes||Yes||Yes
 
|-
 
|-
![[Unix]]
+
!Education
|No
+
|Yes||Yes||Yes||Yes||Yes
 
|-
 
|-
|rowspan="2"|User-client interaction
+
!Intranet
![[User interface|UI]]
+
|Yes||Yes||Yes||Yes||Yes
|[[GUI]] ([[GTK]])||[[GUI]]||[[GUI]]||[[GUI]] ([[XUL]])||[[GUI]]
 
 
|-
 
|-
!Bi-directional text support
+
!Personal
|Yes||Unknown||Yes||Unknown||Unknown
+
|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 MediaWiki|BlueSpice]]!![[Confluence]]!![[Redmine]]!![[Tiki Wiki CMS Groupware|Tiki]]!![[XWiki]]
 +
|-
 +
|rowspan="6"|[[User interface|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 MediaWiki|BlueSpice]]!![[Confluence]]!![[Redmine]]!![[Tiki Wiki CMS Groupware|Tiki]]!![[XWiki]]
 +
|-
 +
|rowspan="6"|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 MediaWiki|BlueSpice]]!![[Confluence]]!![[Redmine]]!![[Tiki Wiki CMS Groupware|Tiki]]!![[XWiki]]
 +
|-
 +
|rowspan="7"|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 {{toc}} macro
 +
|-
 +
!Other features
 +
|Unknown||Encryption in Cloud version||Unknown||Unknown||Unknown
 
|-
 
|-
 
!Category
 
!Category
Line 176: Line 403:
 
![[BlueSpice MediaWiki|BlueSpice]]!![[Confluence]]!![[Redmine]]!![[Tiki Wiki CMS Groupware|Tiki]]!![[XWiki]]
 
![[BlueSpice MediaWiki|BlueSpice]]!![[Confluence]]!![[Redmine]]!![[Tiki Wiki CMS Groupware|Tiki]]!![[XWiki]]
 
|}
 
|}
 +
 +
==See also==
 +
 +
===Related lectures===
 +
:*[[Engines and Organizers]].
 +
 +
[[Category: CNM Cyber Orientation]][[Category: Articles]]

Latest revision as of 23:12, 14 April 2024

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