Home  

Random  

Nearby  



Log in  



Settings  



Donate  



About Wikipedia  

Disclaimers  



Wikipedia





PmWiki





Article  

Talk  



Language  

Watch  

Edit  





PmWiki is a wiki-based[4] content management system designed for a collaborative creation and maintenance of websites.[5]

PmWiki
Original author(s)Patrick R. Michaud[1]
Developer(s)PmWiki community
Initial releaseJanuary 2002; 22 years ago (2002-01)[2]
Stable release

2.3.35[3] / 2024-07-07[±]

Preview release

SVN only / nightly

Repository
Operating systemCross-platform
PlatformPHP
TypeWiki
LicenseGNU General Public License
Websitewww.pmwiki.org

It is free software written in PHP,[6] licensed under the terms of the GNU General Public License.

Design focus

edit

The PmWiki philosophy[7] prioritizes writers over readers, aiming to facilitate easy document authoring despite limitations in document types. It supports collaborative website maintenance with built-in tools for access control, delegation, monitoring, review, and edit reversion. Ease of maintenance is a key design goal, and PmWiki is configurable and extensible, allowing independent updates to the core while maintaining compatibility with local customizations.

In addition to standard collaborative features like content management and knowledge bases, PmWiki is utilized by companies and groups[8] as an internal communication platform[9] offering tools for task management and meeting archives.[10] It is also employed by university and research teams.[11]

The PmWiki wiki markup shares similarities with MediaWiki (used by Wikipedia) but includes unique features not found in other wiki engines.[4] 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.[12] The edit form, since version 2.3.0, can have syntax highlighting enabled for its own wiki markup dialect.[13][14]

Features

edit

Content storage

edit

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

The storage class is extensible, allowing add-ons to enable other storage systems and formats. For example, with add-ons, a website can use SQLiteorMySQL databases, or XML files for storage.

PmWiki supports "attachments" (uploads: images or other files) to its wiki pages. The attachments can be versioned.[16] There are PmWiki add-ons allowing easier management of the uploaded files, e.g. deletion or thumbnail/gallery creation.[17]

Wiki structure

edit

Wiki pages are contained within namespaces, called "wiki groups".[18] 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.[19]

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

edit

The PmWiki markup shares similarities with MediaWiki. Here is a sample of commonly used markup rules.[21]

Links are usually wrapped in double brackets, optionally with link text:

[[Other page]], [[Page|link text]], [[Page|+]] (shows the page title), [[Page#anchor|Link text]]
https://example.com/path/, mailto:mailbox@example.com (plain links)
[[https://example.com/path/|Link 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.[22]

Lists are prefixed by "*" (bulleted) and "#" (numbered) and can be nested:

* List item
* List item
** Nested item

# Ordered list
# Another item
** Nested bulleted item

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+], {+inserted+}, {-deleted-}, 
'^superscript^', '_subscript_',
[@
code block, possibly with syntax highlighting
@]

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

edit

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

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.[24]

Access control

edit

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.[25]

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

Customization

edit

PmWiki follows a design philosophy[7] with the main objectives of ease of installation, maintainability, and keeping non-required features out of the core distribution of the software. This design encourages customization with a wide selection of custom extensions, known as "recipes" available from the PmWiki Cookbook.[26] Creating and maintaining extensions and custom installations is easy thanks to a number of well documented hooks in the wiki engine.

System requirements

edit

Recent PmWiki releases require a web server that can run PHP version 5.4 or more recent. PmWiki can be deployed to standard hosting providers, or locally. There is a "recipe" to allow running PmWiki "Standalone", with the PHP built-in webserver, for example from a USB flash drive.[27]

Books and articles about PmWiki

edit

The following books analyse PmWiki, have dedicated chapters or sections, compare it with other wiki and CMS software:

PmWiki has been featured in a number of printed and online magazines including Inc Magazine,[9] Linux Gazette,[10] PCMag,[28] LXer,[29] Framasoft,[30] Linuxfr.[31]

The page PmWiki References[32] lists publications about PmWiki in various languages.

See also

edit

References

edit
  1. ^ Dr. Patrick Michaud. About Page
  • ^ PmWiki version 0.1 (tgz archive) has its most recent file from Jan 08, 2002. The PmWiki-Users Mailing list exist since August 2002.
  • ^ "Release Notes". pmwiki.org. Retrieved 2024-07-07.
  • ^ a b WikiMatrix / PmWiki Features - Compare Them All, WikiMatrix. Cosmo Code, 22 Nov. 2005. Web. 30 Nov. 2011.
  • ^ PmWiki home page
  • ^ "PmWiki - DreamHost." DreamHost. New Dream Network, LLC, 7 July 2005. Web. 30 Nov. 2011. Archived 2016-05-14 at the Wayback Machine
  • ^ a b PmWiki philosophy
  • ^ PmWiki Users
  • ^ a b The End of E-Mail, article by Darren Dahl, published in Inc. Magazine, February 2006, page 41
  • ^ a b PmWiki - Wiki the Painless Way, article by Raj Shekhar, Linux Gazette magazine, May 2005
  • ^ "PmWiki: wiki simple" (in French). Archived from the original on 2022-05-25. (article in PLUME, an association promoting useful, accessible, and economic software in higher education and research)
  • ^ "PmWiki - Cookbook / Creole". pmwiki.org.
  • ^ "PmWiki Release notes, version 2.3.0".
  • ^ "PmWiki Cookbook / PmSyntax".
  • ^ "PmWiki Design - Flat File Advantages". Retrieved 2019-01-09.
  • ^ "Uploads administration".
  • ^ "Cookbook / Attachments/Uploads".
  • ^ "PmWiki / WikiGroup".
  • ^ "PmWiki / Local customizations".
  • ^ "PmWiki / WikiTrails".
  • ^ "PmWiki Basic Editing". Retrieved 2023-08-16.
  • ^ "PmWiki / Table of contents".
  • ^ "PmWiki / Skins".
  • ^ "Cookbook / DarkColorScheme".
  • ^ "PmWiki / Password administration".
  • ^ "PmWiki Cookbook".
  • ^ "PmWiki - Cookbook / Standalone". pmwiki.org.
  • ^ Working Together With Wikis, article by Anil Hemrajani, August 3, 2005, scanned pages on Google Books
  • ^ Organizing Information, article by Ian MacGregor, July 8, 2007
  • ^ PmWiki, September 2004, December 2010 (French)
  • ^ Sortie de PmWiki 2.2.29, article by Lucas Bonnet, July 2011 (French)
  • ^ "PmWiki | PmWiki / References". www.pmwiki.org.
  • edit

    Retrieved from "https://en.wikipedia.org/w/index.php?title=PmWiki&oldid=1230941774"
     



    Last edited on 25 June 2024, at 15:12  





    Languages

     


    Čeština
    Deutsch
    Español
    فارسی
    Français

    Italiano
    Português
    Русский
    Svenska
    Тоҷикӣ

     

    Wikipedia


    This page was last edited on 25 June 2024, at 15:12 (UTC).

    Content is available under CC BY-SA 4.0 unless otherwise noted.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Terms of Use

    Desktop