HOME

TheInfoList



OR:

PmWiki is a wiki-basedWikiMatrix / PmWiki Features - Compare Them All
WikiMatrix. Cosmo Code, 22 Nov. 2005. Web. 30 Nov. 2011.
content management system A content management system (CMS) is computer software used to manage the creation and modification of digital content ( content management).''Managing Enterprise Content: A Unified Content Strategy''. Ann Rockley, Pamela Kostur, Steve Manning. New ...
designed for a collaborative creation and maintenance of websites.PmWiki home page
/ref> It is
free software Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
written in
PHP PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
, licensed under the terms of the
GNU General Public License The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
.
TV Tropes TV Tropes (also written as TVTropes) is a wiki founded by "Fast Eddie" in 2004 that collects and documents descriptions and examples of plot conventions and devices, which it refers to as tropes. Its contents cover many creative works and non- ...
, a popular wiki focused on narrative devices, is based on a fork of PmWiki.


Design focus

PmWiki is a wiki engine intended for collaborative web publishing.PmWiki philosophy
/ref> It includes features that support collaborative editing with built-in tools for access control, delegation, monitoring, review, and edit reversion. PmWiki's design allows configuration and extension, enabling updates to the core software while supporting local modifications. In addition to standard collaborative features like content management and knowledge bases, PmWiki is utilized by companies and groups as an internal communication platform
article by Darren Dahl, published in Inc. Magazine, February 2006, page 41
offering tools for task management and meeting archives.PmWiki - Wiki the Painless Way
article by Raj Shekhar, Linux Gazette magazine, May 2005
It is also employed by university and research teams. PmWiki's markup syntax includes features such as pagelists, templates, page text variables, conditional directives, and syntax highlighting support, which may not be present in all other wiki engines. The PmWiki markup engine is customizable, and markup rules can be added, replaced or removed, and it can support other markup languages. As an example, the Creole specifications can be enabled. The edit form, since version 2.3.0, can have
syntax highlighting Syntax highlighting is a feature of text editors that is used for programming language, programming, scripting language, scripting, or markup language, markup languages, such as HTML. The feature displays text, especially source code, in differe ...
enabled for its own wiki markup dialect.


Features


Content storage

PmWiki uses regular text files to store content. Each page of the wiki is stored in its own file on the web server. By default pages are stored in
8-bit In computer architecture, 8-bit integers or other data units are those that are 8 bits wide (1 octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data bu ...
or
UTF-8 UTF-8 is a character encoding standard used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode Transformation Format 8-bit''. Almost every webpage is transmitted as UTF-8. UTF-8 supports all 1,112,0 ...
encoding, with page text, metadata, and revision history in the same file. 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...''" The storage class is extensible, allowing add-ons to enable other storage systems and formats. For example, with add-ons, a website can use
SQLite SQLite ( "S-Q-L-ite", "sequel-ite") is a free and open-source relational database engine written in the C programming language. It is not a standalone app; rather, it is a library that software developers embed in their apps. As such, it ...
or
MySQL MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
databases, or
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
files for storage. PmWiki supports "attachments" (uploads: images or other files) to its wiki pages. The attachments can be versioned. There are PmWiki add-ons allowing easier management of the uploaded files, e.g. deletion or thumbnail/gallery creation.


Wiki structure

Wiki pages are contained within namespaces, called "wiki groups". Multiple namespaces can be used, and each namespace can have its own configuration options, add-ons, access control, skin, styles, sidebar (menu), the language of the content, and interface. Hierarchically, every page is contained in a namespace. It is possible to display and navigate through pages in a tree-like structure with a "wiki trail". Through recipes, it is possible to have a flat structure (no wiki groups), multiple nested groups, or sub-pages. Special namespaces are "PmWiki", Site, SiteAdmin, and Category which contain the documentation and some configuration templates.


Markup

The PmWiki markup shares similarities with
MediaWiki MediaWiki is free and open-source wiki software originally developed by Magnus Manske for use on Wikipedia on January 25, 2002, and further improved by Lee Daniel Crocker,mailarchive:wikipedia-l/2001-August/000382.html, Magnus Manske's announc ...
. Here is a sample of commonly used markup rules. Links are usually wrapped in double brackets, optionally with link text:
 Other page,  link text,  + (shows the page title), 
 Link text,  Link to text fragment
https://example.com/path/, mailto:[email protected] (plain links)
text
Wikipedia:Wiki_software (InterMap links)
It is possible to enable internal links for CamelCase words without brackets, and add-ons can enable other link markups like @Page. Headings are preceded with exclamation marks:
! Top-level heading (<h1>)
!! Second-level heading
...
!!!!!! Sixth-level heading
It is possible to enable an automated table of contents coming with the PmWiki core, or install one among several Table of contents add-ons. Lists are prefixed by "*" (bulleted), "#" (numbered), and ":" (description) and can be nested:
* List item
* List item
** Nested item

# Ordered list
# Another item
** Nested bulleted item

:Term: Description
:Another term: Its description
::Nested term: Description
Directives for listing pages and attachments, and including pages and templates:
(:pagelist group=Cookbook order=-time count=20:)

(:attachlist name=*.jpg:)

(:include AnotherPage#fromanchor#toanchor:)

(:include MyTemplate variable=value othervariable="Some value":)
Other page directives allow setting the page title, description, and keywords, disabling layout sections like sidebars or footers, creating tables, or defining page text variables. Add-ons allow for extra functionality. Inline markup:
Bold, ''italic'', @@code (fixed-width)@@, %classname%CSS styled text%%,
 small text-  large text+ , , 
'^superscript^', '_subscript_',
%hlt php% 
code block, possibly with syntax highlighting
@
'
Semantic block tags
'':
>>classname id=identifier<<
Division block
>><<

(:div class=name id=identifier:)...(:divend:)
(:article ...:)...(:articleend:)
(:section ...:)...(:sectionend:)
(:header ...:)...(:headerend:)
(:footer ...:)...(:footerend:)
(:details summary="Toggle details":)...(:detailsend:)

(:div3 ...:)...(:div3end:) - Nested block, div, section, header, footer, article, aside, address, nav, details
'
Conditional markup
'':
(:if name *.HomePage:)
This is the homepage of a namespace
(:elseif auth edit:)
Current user can edit
(:else:)
...
(:ifend:)
Other markup rules can be enabled through recipes (add-ons). HTML is not available for the edit form out of the box, but it is possible to enable selected tags through add-ons.


Skin templates

PmWiki includes a templating system for modifying interface layout and design. Since version 2.3.30, the core responsive skin can have a dark theme enabled. The dark mode functions are available for reuse by custom skins.


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 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 external sources (e.g.
LDAP The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed Directory service, directory information services over an Internet Protocol (IP) networ ...
, forum databases, etc.).


Customization

PmWiki follows a design philosophy with the main objectives of ease of installation, maintainability, and keeping non-required features out of the core distribution of the software. PmWiki supports customization through user-created extensions called "recipes" available from the PmWiki Cookbook. A number of hooks in the wiki engine allow for creating extensions and custom installations.


System requirements

Recent PmWiki releases require a web server that can run
PHP PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
version 5.4 or more recent. PmWiki can be installed on web servers or run locally using a provided script, for example from a
USB flash drive A flash drive (also thumb drive, memory stick, and pen drive/pendrive) is a data storage device that includes flash memory with an integrated USB interface. A typical USB drive is removable, rewritable, and smaller than an optical disc, and u ...
.


Books and articles about PmWiki

The following books analyse PmWiki, have dedicated chapters or sections, compare it with other wiki and CMS software: * Todd Stauffer, ''How to Do Everything With Your Web 2.0 Blog'', * White, Pauxtis, ''Web 2.0 for Business: Learning the New Tools'', * Nancy Courtney, ''More Technology for the Rest of Us: A Second Primer on Computing for the Non-IT Librarian'', * Karen A. Coombs, Amanda J. Hollister, ''Open Source Web Applications for Libraries'', 2010, * Holtz, Demopoulos, ''Blogging for Business: Everything You Need to Know And Why You Should Care'', * Ebersbach, Glaser, Heigl, ''Wiki: Kooperation Im Web'' (German), * Lange, Christoph (ed.): ''Wikis und Blogs - Planen, Einrichten, Verwalten'', C&L 2006 (German) * Frank Kleiner,
A Semantic Wiki-based Platform for IT Service Management
', Karlsruhe Institute of Technology (KIT) Scientific Publishing, 2015, * Pullman, Baotong,
Designing Web-Based Applications for 21st Century Writing Classrooms
', Taylor & Francis, Abingdon-on-Thames, 2016, * Tim Massaro, Toni Cairns (IBM), ''Collaborate Quickly with Wiki!'', iSeries NEWS, 2005 * Brian May, ''Open Source Applications on IBM i'', System iNEWS, 2009 * Lauren Barack, ''Never-Ending Story'' (''Histoire sans fin''), School Library Journal, 2007, about a collaborative effort of 8 authors writing a children's book on PmWiki * Brenda Chawner, Paul Lewis, ''WikiWikiWebs: New Ways to Communicate in a Web Environment'', Information Technology & Libraries, 2006. * Matthew Bejune (Perdue U), ''Wikis in Libraries'', Information Technology & Libraries, 2007 PmWiki has been featured in a number of printed and online magazines including ''
Inc Magazine ''Inc.'' is an American business media company founded in 1979 and based in New York City. ''Inc.'' publishes several print magazine issues per year, and is anchored by journalistic content online and on social media, focused on entrepreneurship a ...
'', Linux Gazette, ''
PCMag ''PC Magazine'' (shortened as ''PCMag'') is an American computer magazine published by Ziff Davis. A print edition was published from 1982 to January 2009. Publication of online editions started in late 1994 and continues . Overview ''PC Magaz ...
'', ''LXer'', ''
Framasoft Framasoft is an education-oriented social Social network, network created in November 2001 by , Paul Lunetta, and Georges Silva. Since 2014, it has been supported by a nonprofit organization of the same name based in Lyon, France. Mainly focused ...
, ''Linuxfr''. The page PmWiki References lists publications about PmWiki in various languages.


See also

* Comparison of wiki software *
WikiWikiWeb The WikiWikiWeb is the first wiki, or user-editable website. It was launched on 25 March 1995 by programmer Ward Cunningham and has been a read-only archive since 2015. The name ''WikiWikiWeb'' originally also applied to the wiki software that o ...


References


External links


PmWiki Home Page

Wiki Communities in the Context of Work ProcessesDOI:10.1145/1104973.1104977
Frank Fuchs-Kittowski, Hochschule für Technik und Wirtschaft Berlin, octobre 2005, on the choice of PmWiki for organizing community knowledge bases and its integration with an analytics software.
Keys to Success: How a small French university manages and supports Sakai CLE
Eric Duquenoy, Frédéric Dooremont, San Diego, 2013, on the integration of PmWiki with
Sakai is a city located in Osaka Prefecture, Japan. It has been one of the largest and most important seaports of Japan since the medieval era. Sakai is known for its '' kofun'', keyhole-shaped burial mounds dating from the fifth century. The ''kofun ...
.
Mashing Congress: Using Web 2.0 Tools to Teach Congressional Research
Karen Munro, Jesse Silva, ''DttP'', 2008, on the choice of PmWiki for a library knowledge base that hosts tutorials, micro-Web sites, RSS feeds and a custom search engine.
Geospatial data and server on USB
S. Lyle, Richard Smith, Cynthia M. Lyle, juin 2010, on the creation of an online and offline distributed PmWiki knowledge base on hurricane preparedness and evacuation decision-making, developed for NASA's John C. Stennis Space Center (NASA SSC).
Media2mult: A Wiki-Based Authoring Tool For Collaborative Development Of Multimedial Documents
Martin Gieseking, Oliver Vornberger, Osnabrück University, Germany, 2008, on the use and extension of PmWiki.
wiki.audio: collaborative platform for interactive web-based education
Malte Kob et al, Erich Thienhaus Institute, Detmold University of Music, published in
DAS, DAGA 2025 Copenhagen
', page 395-396, on the reasons for selecting PmWiki as framework, and the custom functions for video and audio players, custom audio keyboards, LaTeX formula editor, and interactive calculators. *
wiki.audio Project: Enhancing Multilingual Access to Audio and Acoustics Knowledge
Hamit Batuhan Aydin et al, Erich Thienhaus Institute, Detmold University of Music, published in ''DAS, DAGA 2025 Copenhagen'', page 418-419, on the multi-language configuration for the same PmWiki-based educational project. {{DEFAULTSORT:Pmwiki Free wiki software Free software programmed in PHP Free content management systems