Simon's profile

An itinerant webmaster for some clubs. Started with UseMod, tried MoinMoin, now found and converted to PmWiki.
Once a software developer (Pascal), now joined the dark side as a Project Manager, ETL Team Leader, now Data Architect. Still dabble with CSS, HTML, JavaScript, and now PHP to support the websites.

Jack of all trades ...

Features I use

the documentation to read if you're going to read documentation

Skins customisations used
Trying out, but not yet got to work
  • Cookbook.Clean Urls Enable URLs that are shorter (without .php) and/or look like paths to wiki pages.
  • Cookbook.Web admin PHP file manager, works without ftp client
  • Wiki Farms Running multiple wikis from a single installation
  • Cookbook:Total counter A statistic counter - counts page views, users, languages, browsers, operating systems, referers, locations and web bots (warning: not suitable for production systems)
Search here if all else fails
Vaguely relevant

Knows enough to be ...

Cookbook customisations used (favourites, recommended%)
Config.php customisations used
  • Markup('[[<]]', '[[<<]]', '/\\[\\[&lt;\\]\\]/', '<br style="clear:left;" />'); # break clear left
  • Markup('[[>]]', '[[<<]]', '/\\[\\[&gt;\\]\\]/', '<br style="clear:right;" />'); # break clear right
  • $PageSearchForm = '$DefaultGroup.Search'; # to fully use customised search page.
  • $UploadNameChars = "-\w. !=+#"; # allow exclamations, equals, plus, and hash
  • [[mailto:?Subject=InfoStore: {*$Namespaced}&Body=From the InfoStore: {*$Namespaced} &#40;{*$PageUrl}&#41; - {*$:Summary}|[-email page as link-]]]
My weapons

Used as a home intranet (great for the kids), and for community group websites.

My CSS suggestions and customisations

When creating a skin simply include the original pmwiki CSS file, this ensures you benefit from pmwiki upgrades, viz

 @import url("/pmwiki/pub/skins/pmwiki/pmwiki.css");

Use CSS to suppress and change some elements of the page when printing (latterly pmwiki also uses this), eg

  @media print {
  /* style sheet for print */
    #wikilogo, #wikihead, #wikifoot, #wikileft, #wikicmds, 
   .wikitrail, .noprint {
  	display : none;
My template suggestions and customisations

Change the order of the skin CSS and run time CSS lines (which replace the Headertext) to ensure your customised skin CSS overrides the page by page generated CSS, viz

 <link rel='stylesheet' href='$SkinDirUrl/pmwiki.css' type='text/css' />
General tips
Make Firefox refresh every time
type about:config in the location bar, right click on browser.cache.check_doc_frequency and select modify, change to 1 and Firefox will now check for a new version of the page on every page load
Safe Mode and uploads
try chmod 777 /home/username/public_html/pmwikiuploads/

Like to contribute where I can


(:template each:)

My configuration suggestions and customisations

Changes for config.php

 $EditTemplatesFmt = array('$Group.Template', '$DefaultGroup.Template');
 # include DefaultGroup in page search
 $PagePathFmt = array ('$1.{$DefaultName}', '{$Group}.$1', '{$DefaultGroup}.$1', '$1.$1');
 # Authors must give a name
 $EnablePostAuthorRequired = 1;
 # Create a simple 'last changed page' for including on other pages
 $RecentChangesFmt['Site.LastChanged'] = '[-[[$Group.$Name]]-][[<<]]  ';
 # try to make recent changes show all recent changes (YMMV)
 if (preg_match('![./]RecentChanges$!', $pagename))
  $DefaultPageTextFmt = '(:include Site.AllRecentChanges lines=60 :)';
 $RecentChangesFmt['$Group.RecentChanges'] = '(:include Site.AllRecentChanges lines=60 :)';
 # add a soft break
 Markup('[[<]]', '[[<<]]', '/\\[\\[&lt;\\]\\]/', '<br />'); # break without clear all 
 # make search stay in group
 $PageSearchForm = '$DefaultGroup.Search';  
 # better control over simple tables (''doesn't work, hoping for help'')
 $BlockMarkups['table'] = '<table width=* class="wikisimpletable">';
 # Additional uploads file types
 $UploadExts['dot'] = 'application/msword'; # Word document template

Set $EnableDiag and

 $AnalyzeKey = 'secret';

on one page only by creating a page specific configuration file.

My Questions and FAQs

(2006-05-02) Automatic population of the AuthorTracking field

Running PmWiki as an intranet in a fully windows environment, is there any possibility of hiding, but populating the Author name field from (say) Windows authentication, so that the author for every change is captured (and does not need to be entered (and cannot be changed) by the user)

PITS:PITS entries
PITS.01400Closed, added for 2.2.98< fixes this, I'll just change it, closedMarkup doesn't work as expected
PITS.01398OpenCategory: CookbookAdd access key for copy/move
PITS.01393OpenAdd additional markup expressionsAdd additional markup expressions
PITS.01389OpenGUIEdit toolbarImprove PmWiki Security through Content Security Policy support and removing inline javascript and style
PITS.01385OpenCategory: CookbookRecipe enhancement: Grep to allow wild cards in Groupnam*/Pagenam*#ancho*
PITS.01384OpenAdd markup for caption to table directive markupAdd markup for caption to table directive markup
PITS.01382OpenUse ARIA landmarks to improve PmWiki accessibilityIncrease PmWiki accessibility
PITS.01373Closed, added for 2.2.79added, also orange and greySupport gray and grey colours, support all basic colour keywords
PITS.01371ClosedClosed, PmWiki accepts unitsAdd support for additional relative CSS lengths
PITS.01368Openbumpadd parameter to (:messages:) page directive
PITS.01366OpenAnonymous numerical reference link not orthogonalAnonymous numerical reference link not orthogonal
PITS.01364OpenHave a separate page for PmForm templates.
PITS.01362Opennot neededAllow quoted page names in conditional markup
PITS.01354ClosedClosed, thanksftime broken on PmWiki
PITS.01353OpenAdd parameter to (:include :) to allow an inline include-] ||[-Add parameter to [=(:include :) to allow an inline include
PITS.01341Closed - added for 2.2.63Enhance Forms to support the required attribute
PITS.01329Closed, added for 2.2.68Closed, added for 2.2.68Add 'clear' as a CSS style attribute recognised by Wiki Styles
PITS.01321Openpagelist order=name does not work in some circumstancespagelist with order=name does not sort by pagename correctly in some circumstances
PITS.01315Openadd further exampleComplex page text variables in pagelist sort
PITS.01309OpenAdd Cookbook.SignalWhenMarkup to CoreAdd Cookbook.SignalWhenMarkup to Core
PITS.01302Closed - fixed for pmwiki.orgConsider for PmWiki 3Link to group incorrectly directed to page PmWiki/group
PITS.01299OpenwordingAllow "Results of search" message to be disabled from searchresults directive
PITS.01298Openup priority, please vote for this to support skin and recipe writers (with example)Page variable for Page directives
PITS.01297Openmake {$PageLogoUrl} workmake {$PageLogoUrl} work
PITS.01296OpenLink brackets should not be removed when link has text
PITS.01294Opensee alsoSuggestion for pmwiki.tmpl
PITS.01291OpenAdd anchors to page listsAdd anchors to page lists
PITS.01290OpenskinsPagelists to handle internal intermap links
PITS.01285Closed, added for 2.2.37Closed, added for 2.2.37include does not use the same definition of an anchor token as does the code that parses links and anchors
PITS.01252OpenYes, link= works when category page doesn't existAdd category= parameter to PageLists
PITS.01247OpenNew Search Term Page variableNew Search Term Page variable
PITS.01246Closed, duplicate of PITS.00908Closed, duplicate of PITS.00908Allow negation of link parameter in pagelist
PITS.01245Closed - repliedSee also Cookbook:FixURLLinks with quotes don't work correctly
PITS.01224Openbenefits from having a pagelist being able to select similarly named anchors from across a range ofEnhance page list templates to process anchors
PITS.01220DiscussionclarifyingGroup homepages not resolved correctly when group only supplied
PITS.01219Opensimplify break suggestion based on experience of using markupAdd markup for inline markup such as soft break, clear left, clear right, fractions
PITS.01211Opencan be done now; could be optimized some daySupport Group/ in pagelist name parameter
PITS.01209OpenbumpAdd more markup expressions to the core
PITS.01204Openbumppagelist frontlinks
PITS.01203OpenbumpBacklinks to incorporate pagelists, redirect, and include
PITS.01152Closed - added for 2.2.14Closed - added for 2.2.14Display empty and undefined variables as null
PITS.01140Closed - added $EnableLinkPlusTitlespacedUse $Titlespaced for [[ |+]] markup
PITS.01105OpenCorrected typo, added vote.Add %item value=resume% to list processing
PITS.01093Opensee alsoEnhance conditional markup to 'if attachments PAGENAME'
PITS.01091Closed - duplicate of 00986Closed - duplicate of 00986?Pagelist default does not handle variable in trail
PITS.01087Closed, added for 2.2.77typo (note: this PITS entry is now Closed, Petko added it for 2.2.77)Extend Conditional Markup (:if attachments:) to specify file names
PITS.00962Closed, not a bugfix example, add exampleMake >><< behave identically with other block formatting when style= is used
PITS.00957Closed - added in 2.2.3Closed - added in 2.2.3Pages to be added and updated in 2.2 release distribution
PITS.00951Closed, added for 2.2.88I am highly pleased{$SiteAdminGroup} page variable not created
PITS.00917Openadded reference to static pagelist capability and example of creating wiki trailPage lists? to be able to create wiki trails?
PITS.00916OpenSupport honeypot block listSupport honeypot block list
PITS.00915Closed in 2.2.0 beta 56fixed for 2.2.3Page text variable erroneous usage loops
PITS.00895Closed, added in 2.2.0-beta61closedAllow multiple wiki trails on a page with anchors
PITS.00894OpenProvide a better means of attaching images with spaces in their names
PITS.00885Openadd priorityDefinition list marked up as Intermap Entry
PITS.00884OpenMake pagelist parameter names not case sensitive
PITS.00880Closed, issues resolvedclosedPage text variables change request
PITS.00866Closed - not a bugBlocklist displays error
PITS.00860Closed - added for 2.2.68Closed - added for 2.2.68Add min and max width and height, clear; to table, div, block, and style directives
PITS.00850Closed, in 2.2.0-beta28closedBlocklist to optionally check Author and Summary fields, and to optionally display blocklist name
PITS.00805Closed - existsClosed - exists: label="Search Wiki"Search: allow button text to be specified
PITS.00799Closed - too difficult for benefit obtainedOdd behaviour of markup
PITS.00787Closed, in 2.2.0-beta32Closed, in 2.2.0-beta32(:else:) extension of Conditional Markup
PITS.00746Closed - declinedClosed - declinedLink markup broken in 2.1.6
PITS.00741Closed - use %-escapesSee Cookbook/FixURLEscape characters in URLs
PITS.00707Closed - available in 2.2.0-beta1re: SimonAdd conditional markup to detect if text is included
PITS.00673Closed - not a bugPmWiki changes a character with a macron to a character with a circumflex on save
PITS.00665Opensupport for filtering out extentionsAllow customization of attachlist output
PITS.00646ClosedrestoreSearch should use the page it is called from to return the result if it contains (:searchresults:)
PITS.00638Closed, added for 2.2.89Closed, added for 2.2.89Simple table have CSS class added to facilitate customisation
PITS.00615OpenI'd like to vote, but I already have!Suggested default template changes
PITS.00489Closed, added for 2.2.76Closed, added for 2.2.76classes for Image frames and captions
PITS.00485Closed -- added to cookbooklinkInclude NewPageBox in a release
PITS.00467Closedclosed, non existent page handling now changedDescribe DummyPage? here needs forced link
PITS.00466Closed - fixed for 2.0.0Saving Approved `URLs issues: Added twice; Case sensitive
PITS.00446Closed - added to documentationrestoreApprove Links tool tip
PITS.00423Closed - not a bugde-sapmTable attributes have a space added in string value
PITS.00411Openmaybe this has been done?pagelist to exclude redirects
PITS.00396Closed (added for 2.2.3)Closed (Added for 2.2.3)Creating uploads directory error message may require tidy
PITS.00269Closed - not a bug%right% need blank line before and after
PITS.00250ClosedProvide a "wikiright" to match the existing wikileft
PITS.00162Closed - fixed for 2.0.beta1Move formatting of $PageLogoFmt into template

(:template first:)

(:template each:)


Watch list

August 02, 2017, at 02:56 PMCookbook.Clean UrlsPetkoPHP72
August 22, 2012, at 02:24 PMCookbook.Web AdminDave
September 22, 2017, at 08:55 PMGroup.Namespaced?Profiles
September 22, 2017, at 08:55 PMGroup.Name?Profiles
September 04, 2017, at 01:24 AMPm Wiki.Url Approvalsp1Sidebars, headers, footers, included pages
July 25, 2017, at 05:26 PMPm Wiki.BlocklistPetkorestore
July 19, 2017, at 07:36 AMPm Wiki.Conditional MarkupSvenSecurity explanation now in Passwords#condmarkup-secrets
June 24, 2017, at 08:52 PMPm Wiki.Include Other PagesSven
March 23, 2017, at 03:54 PMPm Wiki.SecurityPeter Kayadded one link
March 18, 2017, at 06:21 PMPm Wiki.TroubleshootingPetkodespam
August 13, 2016, at 12:47 PMPm Wiki.CategoriesRandyBHow to link without categorizing
July 17, 2016, at 05:04 AMPm Wiki.Page Text Variablessimonfrom mailing list
June 08, 2016, at 10:56 AMPm Wiki.Upload VariablesPetko
March 31, 2016, at 02:44 AMPm Wiki.UploadsPetkoupdate upload types
March 20, 2016, at 09:08 AMPm Wiki.Available Actionsmfwolff?doubled line
June 05, 2015, at 05:06 PMPm Wiki.Uploads Adminsimonadd heading
June 03, 2015, at 03:39 AMPm Wiki.Wiki FarmsPeter Bowersmarkup typo (again)
March 09, 2015, at 05:48 PMPm Wiki.Wiki Trailsmfwolff?Typo
September 04, 2014, at 02:42 AMPm Wiki.Markup Expressionssimonnesting
January 11, 2014, at 09:37 PMPm Wiki.How To Get AssistancePetko?action= not &action=
December 04, 2013, at 02:29 AMPm Wiki.NotifyPetkoadd keyword watchlist to summary
August 20, 2013, at 09:17 PMPm Wiki.Deleting PagesMichaelPaulukonisadded maintenance tag
June 23, 2012, at 02:29 PMPm Wiki.File PermissionsPetkode-sandbox
January 07, 2012, at 03:29 PMPm Wiki.Site AnalyzerPetko!UpdateMe
September 10, 2011, at 11:08 AMPm Wiki.Analyze ResultsPetkotypo
September 10, 2011, at 11:08 AMPm Wiki.Comment MarkupSimonwarning about the use of HTML comments

(:template first:)

(:template each:)


Last modified by me

(thanks Pico for the pagelist)

(:template defaults order=group,-time group=PmWiki,Cookbook,Skins,PITS trail=Site.AllRecentChanges:) (:template first:) Recent pages that were last modified by Simon (:template each:)

Recent pages that were last modified by Simon

  0: 00.00 00.00 config start
  1: 00.01 00.01 config end
  2: 00.06 MarkupToHTML begin
  3: 00.33 ReadApprovedUrls SiteAdmin.ApprovedUrls begin
  4: 00.34 ReadApprovedUrls SiteAdmin.ApprovedUrls end
  5: 00.82 FPLTemplate: Chain begin
  6: 00.82 FPLTemplate: FPLTemplateLoad
  7: 00.82 FPLTemplate: FPLTemplateDefaults
  8: 00.82 FPLTemplate: FPLTemplatePageList
  9: 00.82 MakePageList pre
 10: 00.82 PageListSources begin
 11: 00.82 PageStore::ls begin wiki.d/{$FullName}
 12: 00.86 PageStore::ls merge wiki.d/{$FullName}
 13: 00.95 PageStore::ls end wiki.d/{$FullName}
 14: 00.96 PageStore::ls begin $FarmD/wikilib.d/{$FullName}
 15: 00.96 PageStore::ls merge $FarmD/wikilib.d/{$FullName}
 16: 00.96 PageStore::ls end $FarmD/wikilib.d/{$FullName}
 17: 00.96 PageListSources end count=17
 18: 00.96 PageListSort pre ret=4 order=name
 19: 00.96 MakePageList items count=17, filters=
 20: 00.96 MakePageList post count=17, readc=0
 21: 00.96 PageListSort begin
 22: 00.96 PageListSort sort
 23: 00.96 PageListSort end
 24: 00.96 MakePageList end
 25: 00.96 FPLTemplate: FPLTemplateSliceList
 26: 00.96 FPLTemplate: FPLTemplateFormat
 27: 01.26 MarkupToHTML begin
 28: 01.33 MarkupToHTML end
 29: 01.33 FPLTemplate: Chain end
 30: 01.37 FPLTemplate: Chain begin
 31: 01.37 FPLTemplate: FPLTemplateLoad
 32: 01.37 FPLTemplate: FPLTemplateDefaults
 33: 01.37 FPLTemplate: FPLTemplatePageList
 34: 01.37 MakePageList pre
 35: 01.37 PageListSources begin
 36: 01.37 PageStore::ls begin wiki.d/{$FullName}
 37: 01.41 PageStore::ls merge wiki.d/{$FullName}
 38: 01.45 PageStore::ls end wiki.d/{$FullName}
 39: 01.45 PageStore::ls begin $FarmD/wikilib.d/{$FullName}
 40: 01.45 PageStore::ls merge $FarmD/wikilib.d/{$FullName}
 41: 01.45 PageStore::ls end $FarmD/wikilib.d/{$FullName}
 42: 01.46 PageListSources end count=1433
 43: 01.46 PageListSort pre ret=4 order=-name
 44: 01.46 MakePageList items count=1433, filters=PageListVariables
 45: 05.11 MakePageList post count=82, readc=0
 46: 05.11 PageListSort begin
 47: 05.11 PageListSort sort
 48: 05.11 PageListSort end
 49: 05.11 MakePageList end
 50: 05.11 FPLTemplate: FPLTemplateSliceList
 51: 05.11 FPLTemplate: FPLTemplateFormat
 52: 05.15 MarkupToHTML begin
 53: 05.49 MarkupToHTML end
 54: 05.49 FPLTemplate: Chain end
 55: 05.51 FPLTemplate: Chain begin
 56: 05.51 FPLTemplate: FPLTemplateLoad
 57: 05.51 FPLTemplate: FPLTemplateDefaults
 58: 05.51 FPLTemplate: FPLTemplatePageList
 59: 05.51 MakePageList pre
 60: 05.51 PageListSources begin
 61: 05.52 PageListSources end count=26
 62: 05.52 PageListSort pre ret=6 order=group,-time
 63: 05.52 MakePageList items count=26, filters=PageListSort
 64: 05.53 MakePageList post count=26, readc=26
 65: 05.53 PageListSort begin
 66: 05.54 PageListSort sort
 67: 05.54 PageListSort end
 68: 05.54 MakePageList end
 69: 05.54 FPLTemplate: FPLTemplateSliceList
 70: 05.54 FPLTemplate: FPLTemplateFormat
 71: 05.58 MarkupToHTML begin
 72: 05.70 MarkupToHTML end
 73: 05.70 FPLTemplate: Chain end
 74: 05.73 FPLTemplate: Chain begin
 75: 05.73 FPLTemplate: FPLTemplateLoad
 76: 05.73 FPLTemplate: FPLTemplateDefaults
 77: 05.73 FPLTemplate: FPLTemplatePageList
 78: 05.73 MakePageList pre
 79: 05.73 PageListSources begin
 80: 06.08 PageListSources end count=727
 81: 06.09 PageListTermsTargets begin count=727
 82: 06.09 PageIndexGrep begin
 83: 06.21 PageIndexGrep end
 84: 06.45 PageListTermsTargets end count=154
 85: 06.45 PageListSort pre ret=6 order=group,-time
 86: 06.45 MakePageList items count=154, filters=PageListTermsTargets,PageListSort
 87: 07.33 MakePageList post count=25, readc=154
 88: 07.33 PageListSort begin
 89: 07.33 PageListSort sort
 90: 07.33 PageListSort end
 91: 07.33 MakePageList end
 92: 07.33 FPLTemplate: FPLTemplateSliceList
 93: 07.33 FPLTemplate: FPLTemplateFormat
 94: 07.42 MarkupToHTML begin
 95: 07.51 MarkupToHTML end
 96: 07.51 FPLTemplate: Chain end
 97: 07.52 MarkupToHTML end
 98: 07.53 MarkupToHTML begin
 99: 07.58 MarkupToHTML end
100: 07.58 MarkupToHTML begin
101: 07.59 MarkupToHTML end
102: 07.60 now