Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
PmWiki
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Wiki software}} {{Advert|date=June 2020}} {{Infobox software | logo = PmWiki Logo.svg | logo size = 160px | screenshot = Pmwiki_screenshot.png | name = PmWiki | author = Patrick R. Michaud<ref>[http://www.pmichaud.com/wiki/Pm/AboutPm Dr. Patrick Michaud.] About Page</ref> | developer = {{URL|https://www.pmwiki.org|PmWiki community}} | released = {{start date and age|2002|01}}<ref>[http://www.pmwiki.org/pub/pmwiki/older-releases/ PmWiki version 0.1 (tgz archive)] has its most recent file from Jan 08, 2002. The [http://www.pmichaud.com/pipermail/pmwiki-users/ PmWiki-Users Mailing list] exist since August 2002.</ref> | latest release version = <!-- If you update [[Template:PmWiki version]], it will automatically update this page, [[Comparison of wiki software]] and [[List of content management systems]]--> {{PmWiki version}} | latest release date = {{PmWiki version|releasedate}} | latest preview version = [[Subversion (software)|SVN]] only | latest preview date = nightly | operating system = [[Cross-platform]] | platform = [[PHP]] | genre = [[Wiki]] | license = [[GNU General Public License]] | website = {{url|https://www.pmwiki.org|www.pmwiki.org}} }} '''PmWiki''' is a [[wiki software|wiki-based]]<ref name=wikimatrix>[http://www.wikimatrix.org/show/PmWiki WikiMatrix / PmWiki Features - Compare Them All], WikiMatrix. Cosmo Code, 22 Nov. 2005. Web. 30 Nov. 2011.</ref> [[content management system]] designed for a collaborative creation and maintenance of websites.<ref name=PmWiki>[https://www.pmwiki.org/ PmWiki home page]</ref> It is [[free software]] written in [[PHP]],<ref>[http://wiki.dreamhost.com/PmWiki "PmWiki - DreamHost." DreamHost. New Dream Network, LLC, 7 July 2005. Web. 30 Nov. 2011.] {{Webarchive|url=https://web.archive.org/web/20160514172428/http://wiki.dreamhost.com/PmWiki |date=2016-05-14 }}</ref> licensed under the terms of the [[GNU General Public License]]. [[TV Tropes]], 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.<ref name=philosophy>[https://www.pmwiki.org/wiki/PmWiki/PmWikiPhilosophy 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<ref>[https://www.pmwiki.org/wiki/PmWiki/PmWikiUsers PmWiki Users]</ref> as an internal communication platform<ref name=inc>[https://web.archive.org/web/20060314022943/http://www.inc.com/magazine/20060201/handson-technology.html The End of E-Mail], article by Darren Dahl, published in [[Inc. Magazine]], February 2006, page 41</ref> offering tools for task management and meeting archives.<ref name=lg>[http://linuxgazette.net/114/shekhar.html PmWiki - Wiki the Painless Way], article by Raj Shekhar, [[Linux Gazette]] magazine, May 2005</ref> It is also employed by university and research teams.<ref>{{cite web|url=https://www.projet-plume.org/fr/fiche/pmwiki|title=PmWiki: wiki simple|language=fr|url-status=dead|archive-url=https://web.archive.org/web/20220525025519/https://www.projet-plume.org/fr/fiche/pmwiki|archive-date=2022-05-25}} (article in PLUME, an association promoting useful, accessible, and economic software in higher education and research)</ref><ref>{{cite web |last1=Kob |first1=Malte |title=wiki.audio: collaborative platform for interactive web-based education |url=https://pub.dega-akustik.de/DAS-DAGA_2025/files/upload/paper/459.pdf |website=<nowiki>DAS|DAGA 2025 Copenhagen</nowiki> |publisher=Erich Thienhaus Institute, Detmold University of Music |access-date=18 May 2025}}</ref> 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.<ref name=wikimatrix/> 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 (markup)|Creole]] specifications can be enabled.<ref>{{cite web|url=https://www.pmwiki.org/wiki/Cookbook/Creole|title=PmWiki - Cookbook / Creole|work=pmwiki.org}}</ref> The edit form, since version 2.3.0, can have [[syntax highlighting]] enabled for its own wiki markup dialect.<ref name=v230>{{cite web|url=https://www.pmwiki.org/wiki/PmWiki/ReleaseNotes#v230|title=PmWiki Release notes, version 2.3.0}}</ref><ref name=PmSyntax>{{cite web|url=https://www.pmwiki.org/wiki/Cookbook/PmSyntax|title=PmWiki Cookbook / PmSyntax}}</ref> ==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]] or [[UTF-8]] 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...''"<ref name=flat>{{cite web|url=https://www.pmwiki.org/wiki/PmWiki/FlatFileAdvantages|title=PmWiki Design - Flat File Advantages|access-date=2019-01-09}}</ref> 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]] or [[MySQL]] databases, or [[XML]] files for storage. PmWiki supports "attachments" (uploads: images or other files) to its wiki pages. The attachments can be versioned.<ref name=uploads>{{cite web|url=https://www.pmwiki.org/wiki/PmWiki/UploadsAdmin|title=Uploads administration}}</ref> There are PmWiki add-ons allowing easier management of the uploaded files, e.g. deletion or thumbnail/gallery creation.<ref name=cookbookuploads>{{cite web|url=https://www.pmwiki.org/wiki/Cookbook/Uploads|title=Cookbook / Attachments/Uploads}}</ref> ===Wiki structure=== Wiki pages are contained within namespaces, called "wiki groups".<ref name=wikigroups>{{cite web|url=https://www.pmwiki.org/wiki/PmWiki/WikiGroup|title=PmWiki / WikiGroup}}</ref> 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.<ref name=localcust>{{cite web|url=https://www.pmwiki.org/wiki/PmWiki/LocalCustomizations|title=PmWiki / Local customizations}}</ref> 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".<ref name=wikitrails>{{cite web|url=https://www.pmwiki.org/wiki/PmWiki/WikiTrails|title=PmWiki / WikiTrails}}</ref> 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]]. Here is a sample of commonly used markup rules.<ref> {{cite web|url=https://www.pmwiki.org/wiki/PmWiki/BasicEditing|title=PmWiki Basic Editing|access-date=2023-08-16}}</ref> '''Links''' are usually wrapped in double brackets, optionally with link text: <pre> [[Other page]], [[Page|link text]], [[Page|+]] (shows the page title), [[Page#anchor|Link text]], [[Link#~text to be highlighted|Link to text fragment]] https://example.com/path/, mailto:mailbox@example.com (plain links) [[https://example.com/path/|Link text]] Wikipedia:Wiki_software (InterMap links) </pre> It is possible to enable internal links for [[CamelCase]] words without brackets, and add-ons can enable other link markups like <code>@Page</code>. '''Headings''' are preceded with exclamation marks: <pre> ! Top-level heading (<h1>) !! Second-level heading ... !!!!!! Sixth-level heading </pre> 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.<ref name=toc>{{cite web|url=https://www.pmwiki.org/wiki/PmWiki/TableOfContents|title=PmWiki / Table of contents}}</ref> '''Lists''' are prefixed by "*" (bulleted), "#" (numbered), and ":" (description) and can be nested: <pre> * List item * List item ** Nested item # Ordered list # Another item ** Nested bulleted item :Term: Description :Another term: Its description ::Nested term: Description </pre> '''Directives''' for listing pages and attachments, and including pages and templates: <pre> (:pagelist group=Cookbook order=-time count=20:) (:attachlist name=*.jpg:) (:include AnotherPage#fromanchor#toanchor:) (:include MyTemplate variable=value othervariable="Some value":) </pre> 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''': <pre> '''Bold''', ''italic'', @@code (fixed-width)@@, %classname%CSS styled text%%, [-small text-], [+large text+], {+inserted+}, {-deleted-}, '^superscript^', '_subscript_', %hlt php%[@ code block, possibly with syntax highlighting @] </pre> '''[https://www.pmwiki.org/wiki/PmWiki/BlockMarkup Semantic block tags]''': <pre> >>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 </pre> '''[https://www.pmwiki.org/wiki/PmWiki/ConditionalMarkup Conditional markup]''': <pre> (:if name *.HomePage:) This is the homepage of a namespace (:elseif auth edit:) Current user can edit (:else:) ... (:ifend:) </pre> 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.<ref name=pmwikiskins>{{cite web|url=https://www.pmwiki.org/wiki/PmWiki/Skins|title=PmWiki / Skins}}</ref> 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.<ref name=darktheme>{{cite web|url=https://www.pmwiki.org/wiki/Cookbook/DarkColorScheme|title=Cookbook / DarkColorScheme}}</ref> ===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.<ref name=passwordadmin>{{cite web|url=https://www.pmwiki.org/wiki/PmWiki/PasswordsAdmin|title=PmWiki / Password administration}}</ref> 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. [[Lightweight Directory Access Protocol|LDAP]], forum databases, etc.). ===Customization=== PmWiki follows a design philosophy<ref name=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.<ref name="cookbook">{{cite web |title=PmWiki Cookbook |url=https://www.pmwiki.org/wiki/Cookbook/Cookbook}}</ref> A number of [[callback (computer science)|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]] version 5.4 or more recent. PmWiki can be installed on web servers or run locally using a provided script,<ref>{{cite web|url=https://www.pmwiki.org/wiki/Cookbook/Standalone|title=PmWiki - Cookbook / Standalone|work=pmwiki.org}}</ref> for example from a [[USB flash drive]]. == Books and articles about PmWiki == <!-- Some of these can be found at https://wikipedialibrary.wmflabs.org --> 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'', {{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}} * Karen A. Coombs, Amanda J. Hollister, ''Open Source Web Applications for Libraries'', 2010, {{ISBN|978-1-57387-400-7}} * 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'' (German), {{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}} * Frank Kleiner, ''[https://books.google.com/books?id=PqKrBwAAQBAJ A Semantic Wiki-based Platform for IT Service Management]'', Karlsruhe Institute of Technology (KIT) Scientific Publishing, 2015, {{ISBN|978-3-731-50333-0}} * Pullman, Baotong, ''[https://archive.org/details/designingwebbase0000unse/ Designing Web-Based Applications for 21st Century Writing Classrooms]'', Taylor & Francis, Abingdon-on-Thames, 2016, {{ISBN|978-1-351-86810-5}} * 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]]'',<ref name=inc/> [[Linux Gazette]],<ref name=lg/> ''[[PCMag]]'',<ref>[https://www.pcmag.com/article2/0%2c2817%2c1843783%2c00.asp Working Together With Wikis], article by Anil Hemrajani, August 3, 2005, [https://books.google.com/books?id=z_gb8AdBqj8C&dq=PmWiki&pg=PA69 scanned pages on Google Books]</ref> ''LXer'',<ref>[http://lxer.com/module/newswire/view/89566/index.html Organizing Information], article by Ian MacGregor, July 8, 2007</ref> ''[[Framasoft]],<ref>[http://www.framasoft.net/article2972.html PmWiki], September 2004, December 2010 (French)</ref> ''Linuxfr''.<ref>[http://linuxfr.org/news/sortie-de-pmwiki%C2%A02229 Sortie de PmWiki 2.2.29], article by Lucas Bonnet, July 2011 (French)</ref> The page PmWiki References<ref>{{Cite web|url=https://www.pmwiki.org/wiki/PmWiki/References|title=PmWiki | PmWiki / References|website=www.pmwiki.org}}</ref> lists publications about PmWiki in various languages. ==See also== {{Portal|Free and open-source software}} *[[Comparison of wiki software]] *[[WikiWikiWeb]] ==References== {{Reflist}} ==External links== * [https://www.pmwiki.org/wiki/PmWiki/PmWiki PmWiki Home Page] <!-- Some of these can be found at https://wikipedialibrary.wmflabs.org --> * [https://www.researchgate.net/publication/200773279 Wiki Communities in the Context of Work Processes], [https://doi.org/10.1145/1104973.1104977 DOI: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. * [https://www.researchgate.net/profile/Eric-Duquenoy/publication/272014372_Keys_to_Success_How_a_small_Keys_to_Success_How_a_small_French_university_manages_and_French_university_manages_and_supports_Sakai_CLE_supports_Sakai_CLE/links/54d881bf0cf24647581a9067/Keys-to-Success-How-a-small-French-university-manages-and-supports-Sakai-CLE.pdf 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 (software)|Sakai]]. * [https://heinonline.org/HOL/LandingPage?handle=hein.journals/dttp36&div=33 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. * [https://dl.acm.org/doi/10.1145/1823854.1823900 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). * [https://www.researchgate.net/profile/Oliver-Vornberger-2/publication/220969750_Media2mult_-_A_Wiki-Based_Authoring_Tool_For_Collaborative_Development_Of_Multimedial_Documents/links/0deec51d664bb81dde000000/Media2mult-A-Wiki-Based-Authoring-Tool-For-Collaborative-Development-Of-Multimedial-Documents.pdf 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. * [https://pub.dega-akustik.de/DAS-DAGA_2025/files/upload/paper/459.pdf wiki.audio: collaborative platform for interactive web-based education], Malte Kob et al, Erich Thienhaus Institute, Detmold University of Music, published in ''[https://www.das-daga2025.eu/ 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. ** [https://pub.dega-akustik.de/DAS-DAGA_2025/files/upload/paper/647.pdf 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. {{Wiki software}} {{DEFAULTSORT:Pmwiki}} [[Category:Free wiki software]] [[Category:Free software programmed in PHP]] [[Category:Free content management systems]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Advert
(
edit
)
Template:Cite web
(
edit
)
Template:ISBN
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Portal
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)
Template:Webarchive
(
edit
)
Template:Wiki software
(
edit
)