PmWiki

From Citizendium
Jump to navigation Jump to search
This article is a stub and thus not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

PmWiki is a Wiki software package, similar to other wiki packages, such as MediaWiki and TikiWiki. It's a PHP application which by default uses flat-files for storage.

Features

PmWiki is able to be configured to utilize MySQL, MS SQL, as well as a variety of other data stores through it's plug-in system. Upgrades consist of un-compressing the archive on top of previous installations, with no need for re-customization as long as the proscribed good practices are followed.

Design

The current version of PmWiki is 2.2.18[1]. The core package is very feature-limited, as proscribed by the PmWiki philosophy of keeping everything in the core to a minimum, and allow ease of extensibility.[2]

The following things are built into the core: Basic user authentication, core markup, and file history management. Features available though plug-ins (called Recipes) are:

  • Multiple data stores
  • Extended markups
  • Skins
  • Forum integration

Certain directory structures are considered off-limits for the core application to touch. The following directories are not modified in any way during upgrades: ./local, ./pub, and ./cookbook. This allows for any customization of the application to avoid overwrites during upgrades.

Basic access control is turned on by default, allowing a single password to control permissions to read, edit, and administer the wiki. These can be set site-wide, or per Wiki Group. Through the core authentication system (Known as AuthUser), this can be changed to use a user name and password combination, rather than just a password.

When using AuthUser, several options are available for identity stores, to include LDAP, Microsoft Active Directory, Database tables, or htpasswd and htgroup files.

The look and feel of the wiki (Or Skin) system is based on a system of Cascading Style Sheets combined with template files, which consist of a mixture of PHP variables, PmWiki markup and HTML. Also, if needed other scripts, such as JavaScript or PHP code, which extend the features of the application.

Backwards compatibility is preferred, and one reason the core of PmWiki is kept very feature limited. Contrasted with Drupal, where backwards compatibility is eschewed in favor of new features.

Requirements

The following are requirements for PmWiki as of the current version:

  • PHP 4
  • 264 KB of disk space
  • Apache, IIS, or any other web server capable of serving php pages