PmWiki
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: