PmWiki

From Wikipedia, the free encyclopedia
PmWiki
Original author(s)Patrick R. Michaud[1]
Developer(s)PmWiki
Initial releaseJanuary 2002; 22 years ago (2002-01)[2]
Stable release
2.3.32[3] / 2024-03-24[±]
Preview release
SVN only / nightly
Repository
Operating systemCross-platform
PlatformPHP
TypeWiki
LicenseGNU General Public License
Websitewww.pmwiki.org

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

It is free software, licensed under the terms of the GNU General Public License.

Design focus[edit]

PmWiki software focuses on ease-of-use and is aimed at people with little IT or wiki experience. The software is also designed to be extensible and customizable. The PmWiki philosophy[8] favours writers over readers, doesn't try to replace HTML and supports collaborative maintenance of public web pages.

Besides the usual collaborative features such as content management and knowledge base, PmWiki has been used[9] by companies or groups as an internal communication platform[10] with task management and meeting archives.[11] It is also used by university and research teams.[12]

The PmWiki wiki markup shares similarities with MediaWiki (used by Wikipedia) and has a large number of features not found in other wiki engines[4] however its primary goal is to help with the collaborative maintenance of websites. The PmWiki markup engine is highly customizable, allowing adding, modifying or disabling markup rules, and it can support other markup languages. As an example, the Creole specifications can be enabled.[13]

Features[edit]

Content storage[edit]

PmWiki uses regular files to store content. Each page of the wiki is stored in its own file on the web server. Pages are stored in ASCII or Unicode format and may be edited directly by the wiki administrator. According to the author, "For the standard operations (view, edit, page revisions), holding the information in flat files is clearly faster than accessing them in a database..."[14]

PmWiki is designed to be able to store and retrieve the pages' text and metadata in various systems and formats. By default, it does not support databases. However, through plugins, PmWiki can utilize MySQL or SQLite databases for data storage.

PmWiki supports "attachments" (uploads: images or other files) to its wiki pages. The uploads can be attached to a group of pages (default), individually to each page, or to the whole wiki, depending on the content needs and structure. There are PmWiki recipes allowing easier management of the uploaded files, e.g. deletion or thumbnail/gallery creation.

Wiki structure[edit]

In PmWiki, wiki pages are contained within "wiki groups" (or "namespaces"). Each wiki group can have its own configuration options, plug-ins, access control, skin, sidebar (menu), the language of the content, and interface.

By default, PmWiki allows exactly one hierarchical level of the pages ("WikiGroup/WikiPage"), but through recipes, it is possible to have a flat structure (no wiki groups), multiple nested groups, or sub-pages.

Special wiki groups are "PmWiki", Site, SiteAdmin, and Category which contain the documentation and some configuration templates.

Links to other pages on PmWiki are written normally, with double square brackets like MediaWiki, and if they are behind another text description (called link text), a vertical line "|" will be separating the page's name and the alternative text. Links to another site are written in single square brackets. Endings become part of the text description too. [15]

Unlike MediaWiki, citations are put with a straight line, followed by a hex sign "#". Headings are also started with exclamation marks, sub-headings have more of them. Lines in a row are considered to be part of the same paragraph, and empty lines will start a new one. Two backward slashes "\\" break the line, and asterisks "*" are used for items in bulleted lists, with many of them producing sub-items. Numbered lists work the same way, except they have hex signs instead of asterisks. Emphasis is done with apostrophes. Double apostrophes mean italicised text, triple apostrophes mean bolded text, and quadruple apostrophes mean bolded and in italics. [16]

Templates (skins)[edit]

PmWiki offers a skin template scheme that makes it possible to change the look and feel of the wiki or website with a high degree of flexibility in both functionality and appearance.[17]

Access control[edit]

PmWiki permits users and administrators to establish password protection for individual pages, groups of pages, or the entire site. For example, defined zones may be established to enable collaborative work by certain groups, such as in a company intranet.

Password protection can be applied to reading, editing, uploading to, and changing passwords for the restricted zone. The out-of-the-box installation uses "shared passwords" rather than login names, but a built-in option can enable a sophisticated user/group-based access control system on pages, groups of pages or the whole wiki.

PmWiki can use passwords from config files, special wiki pages, and .htpasswd/.htgroup files. There are also user-based authorization possibilities and authentication via various external sources (e.g. LDAP, forum databases, etc.).

Customization[edit]

PmWiki follows a design philosophy[18] with the main objectives of ease of installation, maintainability, and keeping non-required features out of the core distribution of the software. PmWiki's design encourages customization with a wide selection of custom extensions, known as "recipes" available from the PmWiki Cookbook.[19] Creating and maintaining extensions and custom installations is easy thanks to a number of well documented hooks in the wiki engine.

System requirements[edit]

Prerequisites for running the PmWiki wiki engine:

  • Any supported version of PHP
  • Any webserver (or hosting plan) that can run PHP scripts (e.g. Apache HTTP Server, Microsoft IIS, Lighttpd, Hiawatha, Cherokee).
  • Write permissions for the webserver user account in the PmWiki tree (required for off-line editing only)
  • No file type extension restrictions on the webserver (sometimes a problem with free web hosting providers)
  • There is a "recipe" to allow running PmWiki "Standalone", without a webserver, for example from a Flash USB stick.[20]

Author[edit]

PmWiki was written by the university professor and Perl 6 developer Patrick R. Michaud, who owns a trademark on the name "PmWiki". A number of other developers and users write, maintain and discuss "recipes" (special purpose configurations, add-ons, or plug-ins) in the PmWiki Cookbook[21] and "skins" (special purpose alteration to the look and feel of pages).[22]

Books and articles about PmWiki[edit]

The following books mention PmWiki or have dedicated chapters or sections:

  • Todd Stauffer, How to Do Everything With Your Web 2.0 Blog, ISBN 978-0-07-149218-8
  • White, Pauxtis, Web 2.0 for Business: Learning the New Tools, ISBN 978-0-470-43618-9
  • Nancy Courtney, More Technology for the Rest of Us: A Second Primer on Computing for the Non-IT Librarian, ISBN 978-1-59158-939-6
  • Holtz, Demopoulos, Blogging for Business: Everything You Need to Know And Why You Should Care, ISBN 978-1-4195-3645-8
  • Ebersbach, Glaser, Heigl, Wiki: Kooperation Im Web, ISBN 978-3-540-35110-8
  • Lange, Christoph (ed.): Wikis und Blogs - Planen, Einrichten, Verwalten, C&L 2006 (German) ISBN 978-3-936546-44-6

PmWiki has been featured in a number of printed and online magazines including Inc Magazine,[10] Linux Gazette,[11] PCMag,[23] LXer,[24] Framasoft,[25] Linuxfr.[26]

The page PmWiki References[27] lists publications about PmWiki in various languages.

See also[edit]

References[edit]

  1. ^ Dr. Patrick Michaud. About Page
  2. ^ PmWiki version 0.1 (tgz archive) has its most recent file from Jan 08, 2002. The PmWiki-Users Mailing list exist since August 2002.
  3. ^ "Release Notes". pmwiki.org. Retrieved 2024-03-24.
  4. ^ a b WikiMatrix / PmWiki Features - Compare Them All, WikiMatrix. Cosmo Code, 22 Nov. 2005. Web. 30 Nov. 2011.
  5. ^ "PmWiki - DreamHost." DreamHost. New Dream Network, LLC, 7 July 2005. Web. 30 Nov. 2011. Archived 2016-05-14 at the Wayback Machine
  6. ^ "OCN-435 Climate Change and Urbanization Wiki | PmWiki / Pm Wiki." Climate Change and Urbanization OCN435. Climate Change and Urbanization OCN435, 20 Oct. 2009. Web. 30 Nov. 2011.Archived 2012-04-26 at the Wayback Machine
  7. ^ PmWiki home page
  8. ^ PmWiki philosophy
  9. ^ PmWiki Users
  10. ^ a b The End of E-Mail, article by Darren Dahl, published in Inc. Magazine, February 2006, page 41
  11. ^ a b PmWiki - Wiki the Painless Way, article by Raj Shekhar, Linux Gazette magazine, May 2005
  12. ^ "PmWiki: wiki simple" (in French). Archived from the original on 2022-05-25. (article in PLUME, an association promoting useful, accessible, and economic software in higher education and research)
  13. ^ "PmWiki - Cookbook / Creole". pmwiki.org.
  14. ^ "PmWiki Design - Flat File Advantages". Retrieved 2019-01-09.
  15. ^ "PmWiki Basic Editing". Retrieved 2023-08-16.
  16. ^ "PmWiki Basic Editing". Retrieved 2023-08-16.
  17. ^ PmWiki skins
  18. ^ "PmWiki - PmWiki / PmWikiPhilosophy". pmwiki.org.
  19. ^ "PmWiki - Cookbook / Cookbook". pmwiki.org.
  20. ^ "PmWiki - Cookbook / Standalone". pmwiki.org.
  21. ^ PmWiki Cookbook
  22. ^ "PmWiki | Skins / Skins".
  23. ^ Working Together With Wikis, article by Anil Hemrajani, August 3, 2005
  24. ^ Organizing Information, article by Ian MacGregor, July 8, 2007
  25. ^ PmWiki, September 2004, December 2010 (French)
  26. ^ Sortie de PmWiki 2.2.29, article by Lucas Bonnet, July 2011 (French)
  27. ^ "PmWiki | PmWiki / References". www.pmwiki.org.

External links[edit]