Recent Changes - Search:

Haywire's Hobbies

PmWiki

pmwiki.org

edit SideBar

WikiGroup

authors (basic) PmWiki has the capability of classifying pages into groups of related pages. By default page links are between pages of the same group; to create a link to a page in another group, add the name of the other group and a dot or slash to the page name. For example, links to Main.HomePage could be written as:

*[[Main.HomePage]]
*[[Main/HomePage]]
*[[Main(.HomePage)]]
*[[Main.HomePage | link text]]

Creating groups

Creating a new group is as easy as creating new pages; simply edit an existing page to include a link to a page in the new group, then click on the '?' to edit the page. By default, group names must start with a letter (but this can be changed by the wiki administrator).

For example, to make a page called Bar in the group Foo, create a link to [[Foo/Bar]] and follow the link to edit that page.

Groups in a standard PmWiki distribution

  • Main : The default group. On many wikis, it contains most of the author-contributed content. Main.HomePage and Main.WikiSandbox come pre-installed.
  • PmWiki : An edit-protected group that contains PmWiki documentation and help pages.
  • Site : Holds a variety of utility and configuration pages used by PmWiki, including SideBar, Search, Preferences, AllRecentChanges, ApprovedUrls, and Blocklist.

To list all the groups in a site, try the markup (:pagelist fmt=group:).

Special Pages in a Group

By default, the RecentChanges page of each group shows only the pages that have changed within that group; the Site.AllRecentChanges page shows all pages that have changed in all groups.

Each group can also have GroupHeader or GroupFooter pages that contain text to be automatically prepended or appended to every page in the group. A group can also have a GroupAttributes page that defines attributes (read and edit passwords) shared by all pages within the group.

Each page can also have its own individual read/edit password that overrides the group passwords (see Passwords).

Finally, wiki administrators can set local customizations on a per-group basis--see PerGroupCustomizations.

Group's default page

Any page that has the same name as its group is considered to be the default "start page" for that group; if such a page does not exist then HomePage is used as the start page for the group instead.

Subgroups? Subpages?

No, PmWiki does not have subpages. Pm's reasons for not having subgroups are described at PmWiki:HierarchicalGroups, but it comes down to not having a good page linking syntax. If you create a link or pagename like [[A.B.C]] PmWiki doesn't think of "B.C" as being in group "A", it instead thinks of "C" as being in group "AB", which is a separate group from "A". Wiki administrators can look at Cookbook:SubpageMarkup and Cookbook:IncludeWithEdit for recipes that may be of some help with developing subgroups or subpages.

Restricting the creation of new groups

You can set PmWiki's $GroupPattern variable to only accept the group names you want to define. For example, to limit pages to the "PmWiki", "Main", "Profiles", and "Example" groups, add the following to local/config.php:

   $GroupPattern = '(?:Site|PmWiki|Main|Profiles|Example)';

With this setting, only the listed groups will be considered valid WikiGroups. You can add more groups to the list by placing additional group names separated by pipes (|).

See other solutions to this at Cookbook:LimitWikiGroups

Origin of WikiGroups

The origin of and motivation for PmWiki's groups concept is explained in a post to the pmwiki-users mailing list.

<< Wiki structure | Documentation Index | Group Headers >>

Edit - History - Print - Recent Changes - Search
Page last modified on March 17, 2006, at 09:22 AM EST