[pmwiki-users] Playing with "Site" before it comes

Dominique Faure dominique.faure.1 at free.fr
Wed Jun 22 16:55:12 CDT 2005


Hi,

Few days ago, I tried to configure myself a beta38 version to handle the 
mythic "Site" group, and I've been happily surprised is was so easy: The 
resulting wiki is almost functional since I only tested what I need 
everyday. I surely have forgotten things (noticeably nothing has been done 
concerning i18n).

Here's the required steps:


1/ Depending on its storage location (wiki.d or wikilib.d directories), 
rename or copy following wikipages (a big thanks to the 
RenamePage/DeletePage cookbook recipes here...):

Main.PageNotFound => Site.PageNotFound
Main.AllRecentChanges => Site.AllRecentChanges
Main.Blocklist => Site.Blocklist
Main.SearchWiki => Site.Search
Main.WikiSandbox => Site.WikiSandbox
Main.ApprovedUrls => Site.ApprovedUrls
Main.SideBar => Site.SideBar
PmWiki.EditQuickReference => Site.EditQuickReference
PmWiki.UploadQuickReference => Site.UploadQuickReference
PmWiki.WikiHelp => Site.WikiHelp


2/ Edit your config.php file to include following code subsets:

===8<---
# Before all, set the global variable...
SDV($SiteGroup, 'Site');

# ...and make it available for wikipages.
Markup('{$var}','>{$fmt}',
  '/{\\$(Version|Author|UrlPage|DefaultName|DefaultGroup|AuthId|SiteGroup)}/e',
  "\$GLOBALS['$1']");

# Fix renamed pages code references (1)
$PageNotFound = "$SiteGroup.PageNotFound";

$RecentChangesFmt["$SiteGroup.AllRecentChanges"] =
  $RecentChangesFmt['Main.AllRecentChanges'];
unset($RecentChangesFmt['Main.AllRecentChanges']);

# Fix upload page
$PageUploadFmt = array("
  <div id='wikiupload'>
  <h2 class='wikiaction'>$[Attachments for] \$FullName</h2>
  <h3>\$UploadResult</h3>
  <form enctype='multipart/form-data' action='\$PageUrl' method='post'>
  <input type='hidden' name='n' value='\$FullName' />
  <input type='hidden' name='action' value='postupload' />
  <table border='0'>
    <tr><td align='right'>$[File to upload:]</td><td><input
      name='uploadfile' type='file' /></td></tr>
    <tr><td align='right'>$[Name attachment as:]</td>
      <td><input type='text' name='upname' value='\$UploadName' /><input
        type='submit' value=' $[Upload] ' /><br />
        </td></tr></table></form></div>",
  'wiki:$[$SiteGroup.UploadQuickReference]');

[...]

# Fix renamed pages code references (2)
$ApprovedUrlPagesFmt = array("$SiteGroup.ApprovedUrls");

$HandleEditFmt = array(&$PageStartFmt, &$PageEditFmt,
  'wiki:$[$SiteGroup.EditQuickReference]',
  &$PagePreviewFmt, &$PageEndFmt);

[...]

# Following alterations are only needed for specific Cookbook recipes

# [Cookbook.Blocklist]
$BlocklistPages = "$SiteGroup.Blocklist";
include_once('cookbook/blocklist.php');

# [Cookbook.EditTemplates]
$EditTemplatesFmt = array('$Group.Template','$SiteGroup.MasterTemplate');

# [Cookbook.AllGroupHeader]
$GroupHeaderFmt = '(:include $SiteGroup.AllGroupHeader:)(:nl:)(:include 
$Group.GroupHeader:)(:nl:)';
$GroupFooterFmt = '(:include $SiteGroup.AllGroupFooter:)(:nl:)(:include 
$Group.GroupFooter:)(:nl:)';

[...]
===8<---


3/ Edit your skin .tmpl file to handle moved pages. Modifications given 
below are for default pmwiki skin, you must adapt them to your config.

Change search form:
===8<---
[...]
  <form action='$ScriptUrl/$[Main/SearchWiki]'>
    <input type='hidden' name='n' value='$[Main/SearchWiki]' />
    <a href='$ScriptUrl/$[Main/SearchWiki]'>$[SearchWiki]</a>:

[...]
===8<---

to:
===8<---
  <form action='$ScriptUrl/$[$SiteGroup/Search]'>
    <input type='hidden' name='n' value='$[$SiteGroup/Search]' />
    <a href='$ScriptUrl/$[$SiteGroup/Search]'>$[Search]</a>:

===8<---

Change footer:
===8<---
[...]
      <a href='$ScriptUrl/$[PmWiki/WikiHelp]'>$[WikiHelp]</a> -
      <a href='$ScriptUrl/$[Main/SearchWiki]'>$[SearchWiki]</a></div>

[...]
===8<---

to:
===8<---
      <a href='$ScriptUrl/$[$SiteGroup/Help]'>$[WikiHelp]</a> -
      <a href='$ScriptUrl/$[$SiteGroup/Search]'>$[Search]</a></div>

===8<---


4/ That's all!

Regards,
Dominique





More information about the pmwiki-users mailing list