The thread at [1] proposes the addition of some sort of "site-wide header" to the PmWiki default, analogous to the existing Group Headers capability. There are several ways we can approach this, which are summarized in the mailing list thread and options presented below.

Use this page to cast your opinion. Ideally put your name and vote weight for each option you have an opinion on; for example, "Pm +1" means Pm likes an option, "Pm -1" means Pm dislikes an option, "Pm +2" and "Pm -2" indicate a strong like or dislike, and "Pm 0" is a neutral vote. It's okay to leave short (one sentence) comments on each proposal, but please keep them short. Longer comments can go on the VoteOnSiteHeader-Talk page, or the mailing list.

Feel free to add or offer other options if you have them. If they're wildly different from what Pm has outlined, consider describing them in detail on another page.

To make things easier we refer only to headers and GroupHeaders? here, with the understanding that we're also talking about analogous changes for footers and GroupFooters?.

Proposal 1 -- "fallback" group header

In this proposal, there would be a Site.GroupHeader? or Site.DefaultGroupHeader? page that would be used when a group doesn't have its own GroupHeader page. The (:nogroupheader:) directive would prevent any header text from being automatically prepended to the page's markup. A group that wanted to include both its own text and the site-wide header text would use something like (:include Site.DefaultGroupHeader basepage={*$FullName}:).

Option 1a - fallback group header as Site.DefaultGroupHeader?


Option 1b - fallback group header as Site.GroupHeader?


Proposal 2 -- site-wide header added to every page

In this proposal, a page in the Site group would have its text automatically added to every page on the site, regardless of the existence of a per-group GroupHeader. For this proposal, we need to decide if the site-wide header should be affected by (:nogroupheader:) or have its own (:nositeheader:) directive, and what to name the sitewide page.

Option 2a - sitewide header affected by (:nogroupheader:), page is named Site.AllGroupHeader?


Option 2b - sitewide header has its own (:nositeheader:) directive, page is named Site.SiteHeader?


Option 2c - sitewide header has its own (:noallgroupheader:) directive, page is named Site.AllGroupHeader?

The (:noallgroupheader:) directive suppresses only the Site.AllGroupHeader? display. The page is named Site.AllGroupHeader? & the only group header affected by (:nogroupheader:), page is named *.GroupHeader


Option 2d - Sitewide header doesn't have a (:nositeheader:) directive, page is named SiteAdmin.SiteHeader?.


  • CarlosAB +2 - SiteHeader? should be used only by admins and (:nositeheader:) shouldn't be allowed. (moved the rest of my comment to the talk page)
  • Kathryn Andersen -2 I don't like the idea of nositeheader not being allowed.
  • Hagan -1 -- Potentially useful, but as a recipe
  • ScottConnard +1
  • Martin Fick -2 better left as a customization
  • Simon use of (:nositeheader:) could be enabled in config file

Possibility 3

Is there any reason why there should not be a Site.DefaultGroupHeader? (1a) (similar to Site.SideBar) and Site.AllGroupHeader? (2c)? That way both camps don't have to choose, and we get the best of both worlds

 0: 00.00 00.00 config start
 1: 00.01 00.01 config end
 2: 00.21 00.20 MarkupToHTML begin
 3: 00.22 00.21 ReadApprovedUrls SiteAdmin.ApprovedUrls begin
 4: 00.23 00.21 ReadApprovedUrls SiteAdmin.ApprovedUrls end
 5: 00.28 00.27 MarkupToHTML end
 6: 00.29 00.27 MarkupToHTML begin
 7: 00.30 00.28 MarkupToHTML end
 8: 00.30 00.28 MarkupToHTML begin
 9: 00.31 00.29 MarkupToHTML end
10: 00.31 00.29 now
Peak memory: 3,721,680 bytes