%audience% authors (basic) (:keywords trailing dot, trailing slash, default group:) PmWiki pages are organized into groups of related pages. This feature was added to PmWiki to allow authors to create their own ''wiki spaces'' of specialized content on their own, without having to become, or rely on, wiki administrators. See [[~Pm]]'s [[http://pmichaud.com/pipermail/pmwiki-users/2006-March/024838.html|post]] to the pmwiki-users [[mailing list(s)]]. 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/WikiSandbox could be written as: (:markup class=horiz:) *[[Main.WikiSandbox]] *[[Main/WikiSandbox]] *[[(Main.Wiki)Sandbox]] *[[Main.WikiSandbox | link text]] (:markupend:) To link to the default home page of a group (discussed [[#groupdefaultpage|below]]), the name of the page can be omitted, like this: (:markup class=horiz:) *[[Main.]] *[[Main/]] (:markupend:) !! Creating groups Creating a new group is as easy as [[creating new pages]]; simply edit an existing page to include a [[link(s)]] to the new group's default home page (or any page in the new group) then click on the '?' to edit the page. As a rule, group names must start with a letter (but this can be changed by the wiki administrator). For example, to make a default page in the group Foo, create a link to [=[[Foo/]]=] (or [=[[Foo.]]=]). 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 searching for "[@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(s)]] 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 administrator]]s can set [[local customizations]] on a per-group basis--see [[PerGroupCustomizations]]. [[#groupdefaultpage]] !! Group's default page The default "start page" for a group is a page whose name is: (1) the same as the group (Foo/Foo), (2) HomePage (Foo/HomePage), or (3) a name that the administrator has assigned to the [={$DefaultName}=] variable in the configuration.php file. (Note, on this site, the value of [={$DefaultName}=] is `{$DefaultName} and, thus, the default home page would be `Foo/{$DefaultName}. As noted above, when linking to the default home page, authors can omit the page name and simply identify the group followed by a dot ([=[[Foo.]]=]) or forward slash ([=[[Foo/]]=]). Note the trailing dot (or trailing forward slash) is required to ensure that the link unambiguously points to the identified group. If the dot or slash is omitted, the link can end up being interpreted as pointing to an existing (or new) page in the current group (if the group, or its default home page, do not exist). This ''trailing dot'' markup was added in version 2.1.7 !! 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]] %trail%<<|[[Documentation Index]]|>>