DokuWiki explained

DokuWiki
Collapsible:yes
Developer:Andreas Gohr, et al.
Programming Language:PHP
Operating System:Cross-platform
Size:~2.5 MB (compressed)
Language Count:74[1]
Genre:Wiki software
License:GPLv2

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

Because DokuWiki does not require a database, it can be installed on local PCs, flash drives, and folders synced with file hosting services or file synchronization programs such as Dropbox or Syncthing.[4]

History

DokuWiki was created by Andreas Gohr[5] in June 2004. In July the first official release was published on Freshmeat (now known as Freecode).[6]

Originally DokuWiki used a simple list of regular expressions to transform wiki syntax into HTML. A big step forward in the development was the re-design of the parser and the renderer mechanisms based on contributions by Harry Fuecks in January 2005.[7] The new design made use of the then-new object-oriented features of PHP4. The new parser and the introduction of a cache mechanism led to significant performance improvements, thus making DokuWiki usable for larger projects.

The new parser also prepared DokuWiki for the introduction of a generic plugin interface which simplified the development and maintenance of syntax-based plugins. Over the years additional plugin mechanisms followed which allowed 3rd-party developers to extend nearly all aspects of the wiki software.[8]

The introduction of DokuWiki into the Debian[9] and Gentoo Linux[10] distributions in April and July 2005 respectively significantly increased the visibility of the software.

The DokuWiki logo is the result of a design contest. The winning logo, designed by Esther Brunner, represents editing pages (by pencils of different colors, i.e. different people) and linking them.[11] [12]

For many years, DokuWiki's source code was managed through the Darcs distributed version control system. In 2010 a switch to Git was made, making use of GitHub for hosting.[13]

Today, DokuWiki is one of the most popular wiki engines available and has achieved significant usage with stable interest over time.[14] [15] [16] [17]

Release history

VersionCodenameSignificant changes
2004-07-04 Initial DokuWiki release.[18]
...
2009-02-14b
2009-12-25c Lemming
2010-11-07a Anteater
2011-05-25c Rincewind IPv6 support and metadata index.
2012-01-25c Angua New media manager (result of the Google Summer of Code-project). Version handling of media files. drag & drop support in media manager to speed up adding new files (only works in Firefox and Chrome).
2012-10-13 Adora Belle New default DokuWiki template with optional sidebar.
2013-05-10a Weatherwax
2013-12-08 Binky
2014-05-05e Ponder Stibbons
2014-09-29d Hrun Single strings of the localization customizable. New history function to see how a wiki looked at a certain time. Security fix for AD/LDAP auth plugin.
2015-08-10a Detritus New Style Manager to adjust template variables such as colors. The Extension Manager can now remove old files when updating extensions.[19]
2016-06-26a Elenor of Tsort New authPDO plugin; authmysql and authpgsql are deprecated. Internet Explorer 8 (and older) no longer supported; workarounds removed. Support for PHP's builtin web server.
2017-02-19c Frusterick Manners New Admin screen. jQuery 3, PHP 7.1 support and PHP 7.0 bug fixes.
2018-04-22 Greebo New form on search page with more search tools. New command line plugins. New menu system. PHP 7.2 support and improvements for PHP 7.3 support.
2020-07-29 Hogfather PHP 7.4 compatibility and some preparations for the upcoming PHP8.
2022-07-31 Igor Drop support for PHP versions earlier than 7.2. Support for SVG images. New form events.
2023-04-04 Jack Jackrum Better PHP8 support. Support for embedding PHP and HTML codes is dropped.
2024-02-06 Kaos Drop support for PHP versions earlier than 7.4. Complete Overhaul of the Remote API and introduction of the JSONRPC transport. Token Auth support.
Since 2011, releases are named after Discworld characters.

Main features

Installation and Requirements
  • DokuWiki requires only a webserver and PHP; no database is needed. It can run on cheap web hosting servers and is usually installed by simply unpacking. Additional plugins may have additional requirements.
    Revision control
  • DokuWiki stores all versions of each wiki page, allowing the user to compare the current version with any older version. The difference engine is the same as the one used in MediaWiki. Parallel editing of one page by multiple users is prevented by a locking mechanism.
    Access control: Access control can be handled by a user manager, which allows users and groups of users to be defined, and an access control list in which an administrator user can define permissions on page and namespace level, giving DokuWiki more fine-grained control than Mediawiki. Besides the built-in user management, DokuWiki also provides mechanisms for authentication against databases, LDAP Servers and Active Directory. Other authentication mechanisms are available as plugins.
  • Plugins: DokuWiki has a generic plugin interface which simplifies the process of writing and maintaining plugins. There are ~1000 plugins available.[20] These can be easily integrated and managed by an administrator user with the help of the plugin manager.
  • Templates: The appearance of the wiki can be defined by a template. There are various templates[21] provided by the development community.
  • Internationalization and localization: DokuWiki supports Unicode (UTF-8) and properly handles right-to-left languages, so languages such as Chinese, Thai, and Hebrew can be displayed. DokuWiki can be configured in about 70 languages. Multilingual wikis can be configured through plugins. Users can contribute translations of the DokuWiki software and of plugins through a web interface.[22]
  • Caching: DokuWiki uses a two-level cache mechanism which stores the parsed wiki page in an intermediate serialized format which is then rendered to the desired output format, such as HTML5. This rendered format is cached again. The two levels of caching expire on different conditions. The caching helps to reduce server load and speeds up access to the information.[23]
  • Full text search: DokuWiki has an integrated indexed search with which a user can search for keywords and phrases on the wiki.
  • Wiki markup: DokuWiki uses a simple markup language similar to that of MediaWiki. Like MediaWiki it makes use of free links, but CamelCase links can optionally be enabled. WYSIWYG editors are available as plugins.
  • DokuWiki based software projects

    Some independent software projects based on DokuWiki have been created. These projects usually bundle the DokuWiki software, select plugins, a customized design and sometimes pre-built content for specialized use cases.

    As required by DokuWiki's license these projects are all licensed under the GPL version 2.

    See also

    Further reading

    Notes and References

    1. Web site: Download DokuWiki! . DokuWiki . 19 May 2021.
    2. Web site: DokuWiki. Dokuwiki.org. 25 November 2012.
    3. Web site: 2008-06-25. DokuWiki: An elegant and lightweight wiki engine. 2021-08-17. Linux.com. en-US.
    4. Web site: Fitzpatrick . Jason . DokuWiki on a Stick Packs a Portable Wiki in a Tiny Package . Lifehacker . 25 October 2010 . G/O Media Inc . 17 August 2021.
    5. https://doc.ubuntu-fr.org/dokuwiki "Dokuwiki - C'est mieux quand c'est simple" Ubuntu French - Org.
    6. http://freshmeat.net/projects/dokuwiki/ freshmeat.net: Project details for DokuWiki
    7. Web site: OOP and Performance - SitePoint. 2021-08-17. www.sitepoint.com. 11 January 2005 . en.
    8. Web site: devel:plugins [DokuWiki]]. 2021-08-17. www.dokuwiki.org.
    9. Web site: Debian Publishing History. Debian GNU/Linux. 29 October 2008 . Debian Foundation. 25 November 2012.
    10. Web site: Contents of dokuwiki changelog. Gentoo-x86. Gentoo.org. 25 November 2012. 13 April 2019. https://web.archive.org/web/20190413010855/https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-apps/dokuwiki/ChangeLog?view=markup. dead.
    11. Web site: FS#111 DokuWiki Logo. 2021-08-17. bugs.dokuwiki.org.
    12. Web site: logo [DokuWiki]]. 2021-08-17. www.dokuwiki.org.
    13. Web site: [dokuwiki] repository switched to git - dokuwiki - FreeLists]. 2021-08-17. www.freelists.org. en.
    14. Web site: Wiki Usage Distribution on the Entire Internet. 2021-08-17. trends.builtwith.com.
    15. Web site: Technologies - What CMS?. 2021-08-17. whatcms.org.
    16. https://trends.google.com/trends/explore?hl=en-GB&tz=-120&q=DokuWiki,Twiki,MediaWiki,PmWiki,MoinMoin&sni=3 Google trend history comparison
    17. Web site: WikiMatrix View and Comparison Statistics . 2008-08-01 . https://web.archive.org/web/20080626102013/http://www.wikimatrix.org/stats.php . 2008-06-26 . dead .
    18. Web site: Old Changelogs: Release 2004-07-04 . DokuWiki .
    19. Web site: Changelog . DokuWiki .
    20. http://www.dokuwiki.org/features plugins
    21. http://www.dokuwiki.org/template templates
    22. Web site: DokuWiki Localization. 2021-08-17. translate.dokuwiki.org.
    23. Web site: devel:caching [DokuWiki]]. 2021-08-17. www.dokuwiki.org.
    24. Web site: Referenzen [Einsatzleiterwiki]]. 2021-08-17. einsatzleiterwiki.de.
    25. Ziehr. Christoph. Skorupa. Frank. Schmitt. Konrad. Kopp. Mike. Berliner Feuerwehr: Wiki-Systeme für den Einsatz- und rückwärtigen Dienst. BRANDSchutz/Deutsche Feuerwehr-Zeitung. 5/2017.
    26. Web site: 2019-03-19. DokuWiki als Schulportfolio. 2021-08-17. lehrerfortbildung-bw.de. de.
    27. Book: Voigt. Stefan. Fuchs-Kittowski. Frank. Hüttemann. Detlef. Klafft. Michael. Gohr. Andreas. Proceedings of the 7th International Symposium on Wikis and Open Collaboration . ICKEwiki . 2011. http://dl.acm.org/citation.cfm?doid=2038558.2038582. en. Mountain View, California. ACM Press. 144–153. 10.1145/2038558.2038582. 978-1-4503-0909-7 . 17411638. subscription.