Difference between revisions of "Wiki engine"
(182 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]] | + | 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== | ||
+ | ===Collaboration tool=== | ||
+ | :''Main wikipage: [[Document collaboration tool]]'' | ||
+ | |||
+ | :Theoretically, any collaborative development of documents can occur in four ways: | ||
+ | :{|class="wikitable" width=100% style="text-align:center;" | ||
+ | !# | ||
+ | |Collaborative document development | ||
+ | !Tools!!Advantages!!Disadvantages | ||
+ | |- | ||
+ | |1 | ||
+ | !Exchange of ideas and compiling a unified document | ||
+ | |Forums, brainstorming sessions, interpersonal communications such as [[email]]s||rowspan="2"|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 suite]]s such as [[Google Docs]]; document storage facilities such as [[Google Drive]]; [[workflow application]]s; [[content management system]]s||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 system]]s ([[version control system|VCS]]es) in one of two ways: | ||
+ | :#[[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]]. 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|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|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''. | ||
+ | :*#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 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=== | ||
+ | :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=== | ||
+ | :{|class="wikitable" width=100% style="text-align:center;" | ||
+ | |+Comparison of open wikis | ||
+ | !Category | ||
+ | |Features | ||
+ | ![[Gitit]]!![[Ikiwiki]]!![[MediaWiki]]!![[PmWiki]]!![[Wiki.js]] | ||
+ | |- | ||
+ | |rowspan="4"|Legal properties | ||
+ | !Ownership | ||
+ | |[[Open-source|OSS]]||[[open-source|OSS]]||[[open-source|OSS]]||[[open-source|OSS]]||[[open-source|OSS]] | ||
+ | |- | ||
+ | !Developer | ||
+ | |John MacFarlane||Joey Hess||Magnus Manske, Lee Daniel Crocker||Patrick Michaud||Nicolas Giard | ||
+ | |- | ||
+ | ![[Software license|License]] | ||
+ | |[[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 | ||
+ | |0.12.3.1||3.20190228||1.33.0||2.2.118||1.0.117 | ||
+ | |- | ||
+ | |rowspan="2"|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]] | ||
+ | |- | ||
+ | |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]] | ||
+ | |rowspan="3"|[[Cross-platform]]||No||Yes||Yes||Yes | ||
+ | |- | ||
+ | ![[macOS]] | ||
+ | |No||Unknown||Unknown||Unknown | ||
+ | |- | ||
+ | ![[Linux]] | ||
+ | |[[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 | ||
+ | |- | ||
+ | !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]] | ||
+ | |- | ||
+ | |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 | ||
+ | |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 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 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 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: | ||
+ | :*#Enhanced with additional functionalities such as [[workflow application]]s, access to file repositories, [[project management system]]s, etc. | ||
+ | :*#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=== | ||
+ | :{|class="wikitable" width=100% style="text-align:center;" | ||
+ | |+Comparison of enterprise wikis | ||
+ | !Category | ||
+ | |Features | ||
+ | ![[BlueSpice MediaWiki|BlueSpice]]!![[Confluence]]!![[Redmine]]!![[Tiki Wiki CMS Groupware|Tiki]]!![[XWiki]] | ||
+ | |- | ||
+ | |rowspan="4"|Legal properties | ||
+ | !Ownership | ||
+ | |[[Open-source|OSS]]||rowspan="2"|[[Atlassian]]||[[open-source|OSS]]||[[open-source|OSS]]||[[open-source|OSS]] | ||
+ | |- | ||
+ | !Developer | ||
+ | |Hallo Welt! GmbH||Jean-Philippe Lang||Luis Argerich||Ludovic Dubost | ||
+ | |- | ||
+ | ![[Software license|License]] | ||
+ | |[[GNU General Public License|GPLv3]]||[[Proprietary]]||[[GNU General Public License|GPLv2]]||LGPL||LGPL | ||
+ | |- | ||
+ | !rowspan="2"|Latest release | ||
+ | |3.0.1||6.15.6||4.0.4||19.1||11.7 | ||
+ | |- | ||
+ | |rowspan="2"|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 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]] | ||
+ | |Yes||Yes||rowspan="3"|[[Cross-platform]]||Yes||rowspan="3"|Any [[Java platform]] | ||
+ | |- | ||
+ | ![[macOS]] | ||
+ | |Unknown||Yes||Unknown | ||
+ | |- | ||
+ | ![[Linux]] | ||
+ | |[[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 | ||
+ | |- | ||
+ | !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 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 | ||
+ | |Features | ||
+ | ![[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:
- MediaWiki, Tiki Wiki CMS Groupware, Wiki.js, XWiki, etc. track revisions using their database management systems (DBMSes).
- 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:
- 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 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:
- 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 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:
- Enhanced with additional functionalities such as workflow applications, access to file repositories, project management systems, etc.
- 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