PmWiki

PmWiki
Original author(s) Patrick R. Michaud[1]
Developer(s) PmWiki
Stable release 2.2.35 / November 11, 2011; 3 months ago (2011-11-11)
Preview release SVN only / nightly
Operating system Cross-platform
Platform PHP
Type Wiki
License GNU General Public License
Website http://www.pmwiki.org

PmWiki is wiki software[2] written by Patrick R. Michaud in the PHP programming language. [3] [4]

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

Contents

Design focus

PmWiki is designed to be easy to install and customize as an engine for creating professional web sites with one to any number of content authors. The software focuses on ease-of-use, so people with little IT or wiki experience will be able to put it to use. The software is also designed to be extensible and customizable.

The PmWiki wiki markup shares similarities with MediaWiki (used by Wikipedia). 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.[5]

Features

Content storage

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 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..."[6]

PmWiki is designed to be able to store and retrieve the pages' text and metadata on various systems and formats. It does not support databases in its default installation. However, via plug-ins, PmWiki can already use 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 an easier management of the uploaded files, e.g. deletion or thumbnail/gallery creation.

Wiki structure

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), language of the content and of the 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.

Templates (skins)

PmWiki offers a 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. [7]

Access control

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, .htpasswd/.htgroup files. There are also user-based authorization possibilities and authentication via various external sources (e.g. LDAP, forum databases etc.).

Customization

PmWiki follows a design philosophy [8] 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.[9] Creating and maintaining extensions and custom installations is easy thanks to a number of well documented hooks in the wiki engine.

System requirements

Prerequisites for running the PmWiki wiki engine:

PmWiki has been reported to work with the following OS/webserver combinations:

Author

PmWiki was written by the university professor and Perl 6 developer Dr. Patrick R. Michaud. Dr. Michaud owns a trademark on the name "PmWiki". A number of other developers and users write, maintain and discuss "recipes" (special purpose configurations, skins or plug-ins) in the PmWiki Cookbook.

See also

References

  1. ^ Dr. Patrick Michaud. About Page
  2. ^ "WikiMatrix / PmWiki Features - Compare Them All." WikiMatrix. Cosmo Code, 22 Nov. 2005. Web. 30 Nov. 2011. <http://www.wikimatrix.org/show/PmWiki>.
  3. ^ "PmWiki - DreamHost." DreamHost. New Dream Network, LLC, 7 July 2005. Web. 30 Nov. 2011. <http://wiki.dreamhost.com/PmWiki>.
  4. ^ "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. <http://hokulea.soest.hawaii.edu/ocn435/wiki/index.php?n=PmWiki.PmWiki>.
  5. ^ http://www.pmwiki.org/wiki/Cookbook/Creole
  6. ^ "PmWiki Design - Flat File Advantages". http://pmwiki.org/wiki/PmWiki/FlatFileAdvantages. Retrieved 2008-08-14. 
  7. ^ "Yate | PmWiki / SkinTemplates." Yate. Web. 30 Nov. 2011. <http://yate.null.ro/pmwiki/index.php?n=PmWiki.SkinTemplates>.
  8. ^ http://www.pmwiki.org/wiki/PmWiki/PmWikiPhilosophy
  9. ^ http://www.pmwiki.org/wiki/Cookbook/Cookbook
  10. ^ http://www.pmwiki.org/wiki/Cookbook/Standalone

Books

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

External links