This is a page where you can ask questions about PmWiki. You will need to count on someone coming along and answering your question, so please be patient.

A quicker, more effective way to ask a question is to join the pmwiki-users mailing list and send your question to the list. Unfortunately answers to the list do not always get posted here, perhaps you can help keep PmWiki up to date by making sure your answer is added here or elsewhere in the documentation.

See also How to get assistance. In particular please try to reproduce the issue in a Test? page.

Is this the right place to post my question?

It might be. Posting to the mailing list would work better, but adding it here may get you an answer. Make sure your question doesn't appear on the PmWiki FAQ page first. You might also try searching to find an answer.

If your question is about a specific Documentation page or Cookbook?/Skins? recipe please ask it on the recipe-Talk page (if it doesn't exist, just create it).

If you still can't find what you need to know and you don't want to use the pmwiki-users mailing list, then post your question on this page.

Once your question has been answered, it may be moved to the FAQ Candidate page or even the PmWiki FAQ page, so if it disappears look for it on those two pages.

How can I edit the group name?

You can change the title of the group homepage, as in (:title New name:), see Page directives, or you can install a recipe and set a group title?. Or you can create a new WikiGroup and place your pages there.

This is not a simple operation, if you already have pages in the old group, you could rename the page files in your wiki.d folder and update any links to the old group. Do this carefully, the new filenames need to be in a format expected by PmWiki otherwise the files may be unreachable / invisible to PmWiki. --Petko?

Looks like I'm the first one adding to this in nearly a year!

I'm trying to decide whether to set up a new instance of PmWiki on a self-hosted NAS, or to migrate an existing instance.

What's stopping me from just migrating the older one are things like changes in IP address. When I look at a page from the old instance, I see something like this:

version=pmwiki-2.2.130 ordered=1 urlencoded=1
agent=Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0 Waterfox/56.3

This last line, the host IP, is the previous IP, not the one for my NAS. So I worry that simply copying the installation folder from one server to another won't work, if all the pages refer to some other IP address. The documentation about PmWiki.BackupAndRestore is a bit sparse in this regard. It seems that it's referring to restoration onto the same server. So, I can simplify my question: can an instance be copied across from one server to another, provided the folder structure remains intact? dp? October 05, 2020, at 11:59 PM

The "host" page attribute is the IP address of the last editor, not of the server, see PageFileFormat. It is not used to make links, stored for reference, for example to be able to block a user or review the raw server logs for activity from that person. To answer your question, yes, mostly. Move your entire installation (pmwiki.php, scripts, cookbook, local, wikilib.d, wiki.d, uploads), and review local/config.php and other scripts you may have modified in the local and cookbook directories to see if some local configuration in that file refers to the old IP address or the old server name, you may need to update it, notably $ScriptUrl, $FarmPubDirUrl, $PubDirUrl. --Petko? October 06, 2020, at 06:20 AM

I manually purged hundreds of spam files from the wiki.d directory. Is there a way to have AllRecentChanges regenerate itself so it no longer shows these purged files but continues to show all the others? (I'd like to see just real changes made by our group on this page and not what has been purged.)

Try Cookbook:RebuildRC. --Petko? November 25, 2019, at 02:27 PM

Thanks!! This worked great when I used it with this string:

$RebuildRCPattern = '*.*,-PmWiki*.*,-Site*.*,-Category.*,-*.RecentChanges,-*.AllRecentChanges';

How to set a custom bookmarklet favicon (not the default website favicon) in Firefox?

I'm not sure there is a way to change the icon of a specific bookmark different from the icon for the domain. This or this may work, or not. This is something not specifically related to PmWiki though -- maybe ask at some forum(s) dedicated to Firefox? --Petko? May 22, 2019, at 10:39 AM

How to put large preformatted text into a scroll-able area.

Coming from wikimedia (and as such a PmWiki noob) i'm probably going the wrong way about this but it is totally unclear to me how one manage to put some (pre-formatted) text into a box. fwiw, i've read the documentation many times and the closest i seem to be able to get is something like this:

>>frame indent color=green bgcolor=blue font-family=monospace height=auto max-height=200px width=550px overflow=scroll padding-botttom=10px border=3px<<
hundreds of lines of pre formatted text that contains long lines (about 200-500 characters width) and can not be wrapped.

No matter what i try, the overflow attributes keeps being removed, which results in display havoc :-) SomeNoob? May 15, 2019, at 06:29 AM

Overflow is indeed not supported out of the box, but you can add it with such a line in config.php: $WikiStyleCSS[] = 'overflow'; then it should work. Alternatively, or in addition, especially if you reuse these styles you can create a file pub/css/local.css and place there any custom styles for a "class" like .monoscroll { font-family: monospace; overflow:scroll; [other styles] } then in the wiki code just use the classname like >>frame indent monoscroll<<. Or, if you include the "frame" and "indent" styles into the .monoscroll class, simply >>monoscroll<<. If PmWiki doesn't recognize a keyword as a WikiStyle, it considers it a CSS classname. --Petko? May 15, 2019, at 07:21 AM

Thank you very much for the quick reply @Petko. Works like a charm and thereby you've included 3 additional answers on (followup) questions that i (still) had. Saves me from asking those separately :-) SomeNoob? May 15, 2019, at 08:23 AM

How can I make a reaction to wrong password input? I have the readonly site with ?action=login link on every it's page. If user types the wrong password (wrong could mean that there is not such password in config.php OR that user access level was not changed after login attempt), I want to show him a message about it. Is it possible in any way? The problem is that after user loggin in PmWiki makes redirect to $pagename with no params. Finar? April 22, 2019, at 05:20 PM

There is no wrong password for PmWiki, just wrong password for a particular action at a particular page. When a user types any password, PmWiki remembers it. If the user tries to access a protected page or action, PmWiki tries all passwords the user knows (typed within the current session), and if one of these is sufficient for the page and action, the user is permitted to access, otherwise the authentication form is shown. Instead of ?action=login you can use ?action=edit. Alternatively see Conditional markup for either (:if authid:) or (:if auth edit:) which you could place in a sidebar, topbar or in Site.PageActions. That way users can see a change in the interface after the ?action=login form. --Petko? May 08, 2019, at 08:59 AM

Or, you can try this in config.php: $HandleAuth['login'] = 'edit'; --Petko? May 09, 2019, at 06:27 AM

Is it safe to name a group and/or a page with a single letter (e.g. A/A, A/B, etc.)? (Frank? April 30, 2018, at 10:55 PM)

Yes: A.A, A.B, A.2 are all fine. Note that in the default installation a WikiGroup name cannot start with, or be a single digit like in 1.1, this is controlled by the variable $GroupPattern. --Petko? May 01, 2018, at 01:15 AM

Thanks. (Frank? May 01, 2018, at 01:33 AM)

I've set $ScriptUrl and $PubDirUrl to, but PmWiki redirects to I can't find this redirect anywhere in the config, .htaccess file or in pmwiki.php. Where do I disable this obnoxious behaviour?

Try a simple HTML file like If it still redirects to the "www." subdomain, it has nothing to do with PmWiki, this is either a DNS redirect (sometimes a TXT record) or an Apache configuration (in httpd.conf or another config file). Check the documentation at your hosting and DNS provider(s). --Petko? April 12, 2018, at 09:38 AM

Thanks, it turns out somebody messed with the domain config, yeah. I was pulling my hair out because I know the apache config is correct (and I can't access the domain control panel). Thanks!

In older versions of pmwiki (e.g. 2.2.91) it was no problem, to create a page with name starting with small letter (e.g. [[Main/test]] . If I do this now in newer version (2.2.102) it does not work. The system trys to create a page like this: cb_toupperbcb_toupperoupperest. How can I get it work? Thanks for your help. Astrid, October 19, 2017

Make sure you have updated all files, especially pmwiki.php and the files in the scripts directory. Also, and this is very important, you must not rename pmwiki.php to index.php, index.php needs to contain simply <?php include_once("pmwiki.php"); otherwise you may forget to update it and may run an older, incompatible, or vulnerable version. --Petko? October 19, 2017, at 03:55 AM

Thanx. The pmwiki, where the error appears, I installed fresh from downloading the tgz and putting the german language on it. I did not rename the pmwiki.php, I did it with the include.

It does work here: test? (PHP 5.2) and also on my home server (PHP 7.1) so I assume there is something different in your installation. 2.2.102 doesn't have a cb_toupper reference, so either you run 2.2.103-104, or on 102 you have some newer local customization that requires 103 or later. Does the German installation include custom $MakePageNamePatterns variables? --Petko? October 19, 2017, at 08:45 AM

Thanx. test? is working for me. I updated to 104 with German. Now it is working with pagenames beginning with small letters for me too. Thanx. :)

I'm very happy with PmWiki's syntax. But with hundreds of pages sometimes it's hard to find out the correct name of a page I'd like to set a link to. Is there a possibility to create something like a popup where I can select an internal page from a list instead of typing the link? DokuWiki for example has this built-in. I could create something with Fox, but perhaps there is an easier way. Thanks for help. Daniel, October 3, 2016

You can do it yourself. I will describe one possible way (I used in my project):

  • edit Site.EditForm adding some pagelist which will generate the list of links you want to be on hand. Actually this is 80% of the goal, if you are happy with ctrl+c/ctrl+v, you can stop here. If you want get more pretty result, then continue;
  • use some CSS code for styling this list;
  • use some jQuery solution to make this list of links clickable.

Finar? August 14, 2018, at 03:44 PM

After copying one complete wiki from one server to another the wiki works great with one exception: GroupHeaders and Footers are not shown anymore. There are only two things that changed at the new server: It is a Unix server (Windows before) and the authentication runs via LDAP. I tried almost everything: Setting new access rights, creating new groups and pages, but PMWiki won't show any header or footer. What reasons could there be? August 31, 2016

Hi, now I resolved the problem. It was about lower/upper case letters, which is important to unix, but not to windows. All my header an footer files were named "Groupheader" and "Groupfooter", while the pmwiki.php needs "GroupHeader" and "GroupFooter". So it was very easy to fix!

How do I create a link to firefox "about:addons" ? Augst 9, 2016

You can add an intermap prefix, see InterMap, however most browsers will not follow such links: about:addons.

I Need to Change the way, the form-Buttons work (Save, Save and edit, Preview, Cancel). I allready deleted the preview button, because I don't Need it. For the save and cancel button: They should perform as they do but instead of linking to the edited site, they should link to a defined site (on this one, I want to write something like this: "Your Input has been saved" - so no linking to the edited site). Please help.

Found the answer myself on EditVariables !

I just installed pmwiki through GoDaddy. When I try to save an edit, or enter a password to get into the administration site, instead of taking me to the appropriate webpage, I get a message that says that the server sent no data. It also says, "Error code: ERR_EMPTY_RESPONSE" Does anyone know why this would happen? This happens every time I try to save an edit or enter a password. "I have the same there anyone who can explain this - DR"

Recent PmWiki versions (2.2.56 and newer) should work fine on GoDaddy hosting plans. If the problem appears only when a Cookbook recipe is enabled, we may be able to help updating the recipe too.

I'd like to define links within Site/InterMap using a dynamic method based on what pages currently exist in two groups. I was intending to use a custom page list template (and still would like to) however, entries only seem to count if they're entered manually. I'd hate to have to manually copy and paste the results for the links to update. How can I automate this?

Perhaps you can define PmWiki:InterMap links in your configuration file instead of on the InterMap page. Also, although it's not dynamic, you can partially automate any copy and paste chore by generating the markup you want to paste using a custom pagelist. Use [@ and @] tactfully to ensure that the output is markup.

Is there a way to integrate Matomo (formerly Piwik) - web analytics to PmWiki sites? (

You can put the JavaScript code (and the noscript image URL) in $HTMLFooterFmt['matomo']

Is there a way to link to a local pdf document such that the link in PmWiki opens it in the browser?

I am using OSX Safari. If I type a link file:///Users/.../file.pdf into Safari, it will open the file. If however I add that link to a Wiki page (web-based, but accessed through Safari on the same machine), it will not. Is there a way? Many thanks, Conrad?, 23 August 2012

Is it possible to have blocklists by group?

I want to block URLs on Talk pages which are world editable, but allow them in Main pages which are editable only by @contributors. It seems intuitive that Talk.Blocklist should be the blocklist for the Talk group, but (as the documentation does say) all blocklist pages are used. I tried this conditional in Talk.Blocklist

(:if equal "{*$Group}" "Talk" :)

but this continued to block all URLs in all groups.

You can reset the $BlocklistPages for the Talk group. In the file plwiki/local/Talk.php, add such a line:
  $BlocklistPages = array('SiteAdmin.Blocklist', 'Talk.Blocklist');

You may also want to enable Blocklist only for the Talk group, in that case, set the line $EnableBlocklist = 1; in Talk.php, and remove it from config.php. If the Talk.php file doesn't exist, create it with a first line containing <?php then the other lines below, see LocalCustomizations. --Petko? April 15, 2012, at 10:33 AM

I am trying to create a link to a different port on the same machine as the wiki, where I have a different service running (like: https://name.tld:8000/); with a ":" and port number before the trailing "/". The best I can get with Intermap is (https://name.tld/:8000.), or (https://name.tld..:8000/), neither of which work, of course, and a static link is out of the question. Any ideas?


You can enter in your page [[Site.InterMap]] the address with the port number. The following works on my wiki. --Petko? December 24, 2011, at 03:24 AM


In guiedit.php line 71, I removed "style='border:0'" and added "class='guieditbutton'". I defined this style class in my skin class file. It's work well but I'm searching for a way to do that without modify the PMWiki Core. Is someone have a hint for me? Thanks! CarolineGuénette?

Le plus simple serait de copier ce fichier du dossier pmwiki/scripts au dossier pmwiki/cookbook. Puis, dans local/config.php, ajouter:

  if ($action=='edit') include_once("$FarmD/cookbook/mon-guiedit.php");

(et supprimer ou commenter la ligne $EnableGUIButtons = 1;) (email answer from Petko?. merci!)

My favourite statistic tool needs to have a <?php include_once('whateverpath/statinclude.php'); ?> statement include into the pmwiki code. Which is the best place to put it into? Posted by Arno on November 8 2011

See this post on the mailing list. --Petko? December 24, 2011, at 03:30 AM

Posted by GaryW on July 21 2011

Is it possible to create buttons or links for invoking the various page actions instead of manually typing them in the URL?

You can append to any URL "?action=". For example:

[[{$FullName}?action=source|View this page's source markup.]]

View this page's source markup.

You can edit your page Site.PageActions and add such action links there. Then, the links will appear in the actions bar on all pages.

Posted by Ericp June 7th, 2011

Is it possible to have a bilingual site?

To be more precise, I want each page to have 2 different copies, one for language A and B. If the user currently see a language A page, clicking on other pages will only show A page. Then the uses can click a special link to switch his language to B. Then all pages clicked will show the B version of the page.

Can it be done?
Is there a cookbook to do the job?
Else, is there another way to have a bilingual site?
Thank You

Yes, it is possible.

See MultiLanguage? and MultiLanguageViews? for 2 different approaches.

Note also the XL capabilities

i'd like to add figure markup(html5).. but i couldn't find the way... can you help me?


(:fig $arg:) // $arg like class or id or style="attr:value;"
 imgpattern or [[imglink|img]]
 caption (with some inline markup)

<figure> // this is block element.
      <img ~~> or <a href=""><img ~~></a>
            blahblah (with some inline markup)


<figure> // this is block element.
      <img ~~> or <a href=""><img ~~></a>
      <img ~~> or <a href=""><img ~~></a>
      <img ~~> or <a href=""><img ~~></a>
            blahblah (with some inline markup)

she? March 02, 2011, at 07:35 AM

Would you have a idea about using natsort($array); into the function to make Page List? it's not good when numberic list displays.

You could use $PageListSortCmp['natsort'] = 'strnatcasecmp($x, $y)';
See also CustomPagelistSortOrder and CustomPagelistSortOrderFunctions?. --Petko? February 01, 2011, at 02:07 AM

oh! thank you!! i'll try~! ;) --she?

Is it possible to make the "text" part of (:title text:) be an image reference?

I'd like to have a particular font (which isn't a "usual" font) for my titles, and I figured the best way to do that would be to create title images. Thanks

I have some problems with Pagelists and Conditions

I installed the Cookbook Cookbook.MovePage?. As soon a page ist moved from the Group e.g. "Shows" to "Showsarchive" it still exists in the group "Shows". Therefore I want to give out all the "Shows.*" pages in a pagelists but not showing the pages that are already in the group "Showsarchive.*".

It should be a conditions something like this:

(:pagelist group="Shows" fmt="#simple" if="!group Showsarchive.*" :)

But i have not clue and invested already hours in finding out. Maybe you can help me? That would save my day! Jean Baptiste? On May 24, 2010 - at 13:28 PM

I just found out, Yeah:

(:pagelist group="Shows" fmt="#simple" if="!exists Showsarchive.{=$Name}" :)

Jean Baptiste? On May 26, 2010 - at 1:13 AM

I have some code that is part of the HTML of my page. It is encapsulated in a DIV and has style information. These divs control the location and style of the :trail: and :audience: information. Since there is no Div Id, I can't assign -my own- style to this. I have dug EVERYWHERE in the files and not found where this is defined. I have even used the command in the config file to shut off all the styles from the script files. Yet the formatting of the light blue and light yellow boxes remains.

How can I link files to intranet (local) files?

I have followed the recipe described "including the prefix 'file:///' (for Internet Explorer at least) and file:///S:\ProjPlan.mpp and [[Shared S drive->file:///S:\]] on a Windows file system" but it didn't work. I have also followed the procedure linking to "(eg \\server1\rootdirectory\subdirectory)" without any success at all. The path to Windows Explorer inside the PmWiki pages are prompting the page "file not included on this server". I would like to open the file on the source folder and not on the browser. Can somebody give me a hint? Burialmound? On September 10, 2009 - at 17:12 PM

The recipe Cookbook:DirList provides a workaround. --Petko? January 18, 2011, at 02:13 PM

How can I have a SideBar the will be presented to every existing group?

I have installed PmWiki and the corresponding Brazilian Portuguese translated pages. When I click the PmWiki icon on the top left, I am redirected to the Main page. There is no problem about that! However, when I click the Search button on the top right or on the bottom of the page, I am redirected to the Search page corresponding to the Brazilian translation, which has a different SideBar from the one where I built all our pages. I mean, all our pages were created based on the main Site/SideBar and not on the PmWikiPtBr. I have tried to redirect the Brazilian Portuguese Search engine to the Main page and was lucky, (but I fear I did something not the way it should be). What I did exactly was: I changed lines 28 and 55 that have the codes

<a href='{$ScriptUrl}/$[{$SiteGroup}/Search]'>$[Search]</a></div>


<a href='http://192.../pmwiki/pmwiki.php?n=Site.Search'>$[Search]</a></div> <div id='wikifoot'>

on the pmwiki.tmpl. I did that because I don't want to have two different SideBars on our Wiki but still want to have the translation to the buttons (recent changes, search, view, edit etc). I am desperate, my friends and hope you can help me. Burialmound? August 19, 2009

Remove your page [[PmWikiPtBr.SideBar]] and possibly the file pmwiki/wikilib.d/PmWikiPtBr.SideBar to get rid of the existing sidebar. Another way to do is to edit [[PmWikiPtBr.SideBar]] and to replace all of its content with (:include Site.SideBar:) . --Petko? August 19, 2009, at 04:19 PM

Petko, thanks for your help. I erased the content of [[PmWikiPtBr.SideBar]] and included the line (:include Site.SideBar:) and it worked. P.S. I undid all the previous changes described by me above (and Petko's suggestion still worked). Burialmound? On August 20, 2009 - at 11:52 AM

How can I deny the access of non authorized users to the index of mywiki/uploads page?

Thank You, Tomita? July 18, 2009 Please see information and faqs on the uploads and uploads admin pages.

I want a simple events display. For this matter I added a pagetext variable "EventsDate:2009-04-12" and for grouping the events a variable "EventsGroup:200904"

For the pagelist I created something like this, but sadly it doesn't work. If there are two ore more events in one month, then the heading (in template first) ist repeated for every event. Why?

(:template first {{=$FullName}$:EventsGroup})}:)
!! {(ftime "%m / %Y" {{=$FullName}$:EventsDate})}
(:template each:)
* [[{=$FullName}|{(ftime %d.%m.%Y {{=$FullName}$:EventsDate})} {=$Titlespaced}]]

Is there a way to change the background colour on the total page? Not just a block but all background? I am familiar with Triad but the colours are wrong and that also introduces more problems.

Posted 2/6/09

Yes, >pub >skins >your Skin (example: pmwiki) >.css >body { background-color: #xxxxxx; } 2/26/09 Hirsch?

Is there a searching equivalent of Ctrl+F (Find) in PMWiki? I have an internal page (sorry, no link to provide) that contains a table/catalog of about 1,000 entries that I would like my audience to be able to search thru using a searchbox to enter a keyword and skip down the page thru the instances of that word, rather than using Ctrl+F. It needs to be confined to searching on that page only. So far, i can only find searching options that return a list of pages that include the search word. Is there an option that mimics the "find" functionality of Ctrl+F?

posted 1/29/09

Images - page describes as a picture-frame with %rframe% or %lframe% is generated.

Where I can modify the PmWiki-predefined formula %rframe%?

Thank you very much

Norbert Hirsch

Set in config.php this line :
$WikiStyle['rframe'] = array('class' => 'myframeclass');
See WikiStyles for more information.

Thank you, Hirsch?

Is there a way to convert my entire website to html based documentation tools like Microsoft HTML Help ?

how can i hide the standalone server window so that it runs in the background without getting diplayed?

Pranab 13.11.08

Do special characters in links require prepratory configuration?

Is PmWiki "out of the box" supposed to support special characters in links? I have some problems with umlauts after moving the server, and umlaut links don't work either in my own wiki or in a fresh install with everything at the default settings. I tought after the implementation of PITS.00053? umlauts worked in links, but I'm not sure if they require some additional configuration, and can't find anything in the documentation about it.

Instead of well-encoded links like this: PageNäme?, I get: "Main/PGeName" in the URL and accordingly as page name.

--Henning? October 07, 2008, at 01:29 PM

It appears that PmWiki does not require prepratory configuration for special characters, but the Server (Windows/IIS) has to be enabled to employ (for example) German umlaut characters.

Unfortuately, my service provider (while solving the problem) did not tell me exactly what settings of the server had to be changed to fix the problem, but after he made some changes to the server, PmWiki worked just fine with special characters. --Henning? October 13, 2008, at 06:56 AM

Is it possible to change the standard - setting "text color" from black to green ?

Thank you !!

Norbert Hirsch

The easiest way to change the text color for your entire wiki is to change the "color" setting in your skins' .css file. For instance I have changed mine to:
color: #1a1a1a;
Ian MacGregor?

Thank you very much Ian MacGregor
I thought too, that's the normal way, but I only try "font-color:" and "text-color:"
Now it works.

Norbert Hirsch

How do I get comments into my code?

Thank you

September 14, 2008

The various types of comments are discussed here. Ian MacGregor?

Is there a way that you can identify who made which edits on the wiki page?

For example, if Bob adds a comment or makes a change to information on a wiki page is there a way that you can have the author name, "Bob", show up next to the changes they made? This seems like a really simple and useful idea, and its what I expected when I think of a collaborative wiki, however I can't find ANY information about this type of function? Can anyone help me?

Thank you,

September 8, 2008
September 9, 2008

You can require people to put something into the Author box when editing by adding $EnablePostAuthorRequired=1; to the config.php file. Then whatever they put will appear next to Recent Changes. I'm guessing that if you require people to log in then you'd have more control over what was in the Author box as well. Hope that helps,


Page text variables and tables?

I'm trying to have variables in a table (advanced) that are used from other pages, but the variables doesn't seem to be recognized when embedded in a table (following a (:cell:)).
I'm running the latest version, 2.2.0-beta65, and the variables are working correctly when not in a table.

Is there a way to get this working or am I perhaps trying the wrong thing?, are there any other way to do this? Thank you,


To answer myself I have gotten it to (partly) work. There are two different markups that works from within a table.

1. (:variable01:value:) If you place this within a table cell the value does not show in the table but at the place that are calling the variable. As expected.

2. (:variable01 :value:) with a space after the variable render the value as "(:variable01 :value:)" in the table cell and as "value" in the place calling the variable.

I haven't found a way to render the above as "value" in the source table cell.


Can you please issustrate this issue by creating a test? page?

Disabling buttons like "View", "Edit, "History" etc.

I would like to disable the buttons at the top of my pmwiki page, but i don't know where to do. I hope someone could help me! Also i would like to disable the "text" on the top of my wiki, there's always posted the name of my wiki and the directory the user actually is. Thanks a lot!

Apr 8, 2008

This is possible by changing the SkinTemplates. (Note that by merely editing out the buttons, the actions they command will still be available for users who know how to operate PmWiki by typing the request URL manually.) --Henning? April 10, 2008, at 06:59 AM

You could also use the page directive (:noaction:)

Using pmwiki with WebAuth

I'm trying to use pmwiki with access restricted by WebAuth at my university (Stanford). When restricting access with WebAuth (, I am able to view the wiki, but am not able to make edits to pages--kind of defeating the purpose of the wiki! I think it's a sessions-related problem, but am not sure.

Has anyone figured out a work around, or solution to this problem?

I wasn't able to find anything discussing this problem on the FAQ, or elsewhere online. I know pmwiki has a password protection feature, but I want to both keep the wiki secure while not forcing my users to remember yet another password.


Apr 4, 2008

Core.<number> files in my PmWiki root?

I just looked in the PmWiki folder on my site (I've been using PmWiki for a few months, but I only have about 50 articles in it) and I found these files that I never noticed before:
  • core.15468 (size 14 004 224 bytes)
  • core.15615 (size 0 bytes)
  • core.16138 (size 0 bytes)
  • core.16211 (size 0 bytes)

What's up with these (especially the 14-meg one)? Are they essential to the functionality of PmWiki or just some error-dumps I can safely delete?


Mar 22, 2008

These are not PmWiki files. They are possibly traces of programs that crashed at some point. You can most likely safely delete them. --Petko? February 01, 2009, at 11:39 AM

XML export/import filters?

I've been asked to translate documentation that is kept in about 200 Pmwiki pages. The translation has to be performed in a translation memory system (TMS - basically, a specialized database system, if you've never heard of it).

Ideally, this means getting the database to import the Pmwiki page source, extract the visible text from all the formatting, let us translate it, and then export Pmwiki page source again with all the formatting intact but the translations inserted in place of the original text.

The main problem here is that no TMS (to my knowledge) understands Pmwiki syntax, and the project does not justify programming a custom filter for this purpose. A feasible workaround would be to export the page source from Pmwiki as XML and write a filter for that TMS' usually have pretty good XML support which would only need to be configured right.

Therefore my question: Do XML filters for Pmwiki exist that preserve all the formatting? Or are there other filters that may be useful (e.g., Word), i.e., that export all formatting so that it can be imported again with the translation? Or are there even more direct TMS interfaces?

Searching on this site and the wide interwebs has failed to turn up anything, so any hints would be welcome.

Thanks Jan

Mar 16, 2008

I can't get my pmwiki site to ask me for a password.

I put: $DefaultPasswords['edit'] = crypt('edit_password'); in local/config.php and i can edit every page of my site from any computer without using a password. I know local/config.php is working because I changed my title:'''

$WikiTitle = 'example';

I would like to set a password so that only people who know my password can edit my site. I also tried setting passwords in the attributes page and it seemed to have no effect
Feb 14, 2008

Your situation has too many possible explanations for this to be an adequate venue for solving it. You need to address your Q to the mailing list. I'm sure someone(s) there will be able to help you. Do include what version of the software you're using, and whether you've added any other recipes (add-ins). Best of luck!

See also passwords and Passwords admin

Ensure there is no "#" before the $

Is there anyway to use Javascript, PHP, or some other language in a .tmpl file?

I'm trying to hide the sidebar when a page is being edited (?action=edit is at the end of the url). I wrote some code to do this in javascript, but I think its disabled. Is there anyway do this with some kind of code?

Your could use the (:noleft:) page directive with conditional markup, (see EditNoLeft?), but this doesn't work quite as you would expect.

Instead add the (:noleft:) page directive to the Site.Edit Form.

Is it correct that there is a Site.PageNotFound, but no Group/PageNotFound? --Henning? November 30, 2007, at 11:22 AM

That is correct. Site/PageNotFound takes care of any instance in which a page is not found anywhere in the wiki, so there isn't really a need for a Group/PageNotFound since that would be taken care of by Site/PageNotFound for any group. --Ian MacGregor?

How can I define what PageNotFound page to use?

My wiki does not use my Site/PageNotFound page, but instead displays "Describe FooBar here.", and I have no idea where it gets that message from or how I could change it. $SiteGroup is set (implicitely) to Site, and I have no idea how I could have screwed up the configuration of my wiki so that Site/PageNotFound is not respected. (I'm using 2.1.27) --Henning? November 30, 2007, at 11:22 AM

Your problem is caused by the MarkupExtensions? recipe which defines the default text for a page that is not found. Comment out the line ...

$DefaultPageTextFmt = 'Describe [[$Group/$Title]] here.';

in extendmarkup.php to restore normal Site/PageNotFound behaviour. --Henning? November 30, 2007, at 12:07 PM

Is it possible to run PmWiki on a server that does not run on port 80, but on port 8080 for example? I could not find any configuration setting for the port number.

Simply set $ScriptUrl to a url that includes the port number. For example:

$ScriptUrl = '';


Thanks a lot! Great piece of software. Your support is even better than a lot of commercial companies are going to achieve ;-)

-- Markus

I added some users and passwords via AuthUser.

I also added ++include_once("$FarmD/scripts/authuser.php"); $Author = $AuthId;++ in two rows to my config.php.
Although I am able to login, my name is not preset in the author field, and in All Recent Changes there is a question mark. I can type in a name in the author field, then this one is shown in All Recent Changes. But I want to have just the login name.
I know that this is possible and works fine because I have another wiki and everything is fine. The new wiki uses the files from the "old" wiki, I just copied them to another folder. So I really don't know why they don't work and I can't find the mistake! Can someone help me? Marvin? November 12, 2007, at 09:45 AM

Ok, I think the problem is, that the $FarmD veriable uses the wrong wiki, because recently I was logged in with a username I use in one of my other wikis, although this name doesn't exist in the new wiki. So my question now: How can I tell my wiki, what URL for $FarmD to use? Here it says, that the wiki finds $FarmD by itself.. but it's the wrong one! I want the new wiki to be independent! Marvin? November 15, 2007, at 06:10 AM

$FarmD isn't a url -- it's a filesystem path that indicates where the PmWiki software is loaded. The problem you're describing sounds like it has more to do with cookies than anything else. Try removing the $Author = $AuthId; line from your config -- PmWiki automatically sets the author name from a login name if present. --Pm?

It doesn't work :( I log in with the username and password, and in allrecentchanges it shows a "?" instead of my username. Marvin? November 25, 2007, at 08:23 AM

How can I get PmWiki to support links that include special characters, such as in Notepad++ ?

At the moment the ++ just gets stripped.

Maybe using special Characters will give you a work-around.

How do I remove a space from the value of a variable? It's not a page name.... need a trimleft (trimspace?) type function.

I have a lot of personnel records that have their names embedded {FirstnameLastname(dollarsign):Blah1} and a form where a name is entered "Firstname Lastname" into say {thisPerson}. So I would like to be able to do something like {{thisPerson}$:Blah1} and have it point to whichever variable I was looking for at the time. When I try it now I end up close but no cigar... just need to lose the space and I'm there. Any help?

Thanks! mk

16 Oct 2007

Non-answer: This is getting into fairly advanced material. You really would do well to refer it to the mailing lists!

Non-Answer-Ack: Thanks!

Hey, I managed to install, and its running pmwiki off my root with a index wrapper, but when i click on InitialSetupTasks it just returns with "No input file specified" - what did i do wrong!? Thanks, Chris

A bit juvenile to ask but can I directly show html code through the cms.

e.g. I have like a 10 page (i.e. 10 html files) document connected together with an index.htm , can I directly show it one of the frames? Secondly, Is there any applect which can go through a complete folder and sub folder to generate a page with links to these index files (each connecting to a different document and thus sub folders)?

I believe the recipe IncludeUrl? might be useful to display html directly. --Henning? October 05, 2007, at 06:50 AM

I am unable to upload files with the upload password enabled.

If I attach the file as usual while editing, save the page, click the link to add the file, enter my password, browse to the file, press the upload button, enter password again, enter password a third time, then I receive the error no file uploaded and I am back at the browse for file screen. I can upload files fine when the upload password is disabled. The edit and read page passwords seem to work no problem just not the upload password. Admin password does not work either for upload. I am running wiki on a stick cookbook recipe with the abyss webserver.

I had this exact same problem, for me the problem was with my browser rejecting cookies so that the password didn't get saved correctly (appears to be a bug with Safari 6.0). Check to make sure your cookie setup is correct and that you don't have an adblocker blocking cookies. To test that it's nothing to do with your php setup or permissions set your password to nothing and try again (eg. in config.php set $DefaultPasswords['upload'] = "";), for me I could suddenly upload images. Then I tried with a different browser and it worked fine. YMMV. -- AdamShand?

How do I limit the page width or word wrap independently of spaces?

I have a very long piece of text with very few spaces. I want to show the text on the page without having it increase the page width. I also want the user to be able to copy the text as is, which is the reason I don't want to use the forced linebreaks. When they copy the text, I need it still to be copied as a single line.

I've tried putting the text into a cell in a table and setting the width to 100% but this seems to have no effect. Is it possible to enforce word wrapping at 100% of the window, without regards for space characters?

How can someone insert Project Wonderful ads into their wiki?

I've seen them used here before, but I can't find any information on how they can be added.

I'm trying to configure some custom markup.

It's basically a markup word and a path+filename. Example (:testmarkup /pmwiki/pub/picture.jpg:). This will have to be translated to <a href='/pmwiki/pub/picture.jpg'>Image</a>

How would this look like?

Related question: How could I add a 2nd argument?

Example: (:testmarkup /pmwiki/pub/picture.jpg This is the picture description:) that translates to <a href='/pmwiki/pub/picture.jpg'>This is the picture description</a>

How would this look like?

August 14th 2007

Why when I save a page and the browser timesout?

We have been working with no problems for a few weeks now with version 2.2.0-beta55 without a problem. Today, on certain pages, when we edit them and try and save them the browser timesout (PHP timesout on the server). I cannot edit the page from then on. I manually delete the page from the command line, create a new page through pmwiki, paste the old text into the new page and save it. But it hangs again. I upgraded to beta63 with no change. Can we rebuild an index file somewhere to fix the problem?

We ran into a similar problem. Our problem was that a page was being included by itself (recursive). A footer was including itself. Once we eliminated that, the timeouts went away.

"action=edit" and Searching doesn't respond anymore.

I used pmwiki since about 1 year without any trouble, but since 6.8.07 whenever I try to edit a page, the browser starts "loading" but absolutely nothing happens. It's the same, when i try to search something using the search-field - no response, and a timeout after waiting a while.

I updated to the newest beta-release but this changed nothing. How can i solve this?

How do I enable searching?

Whenever I use the search box, site/search or ?action=search&q=... I do not see any results. Do I have to enable search, or make an index, or something? I have a pageindex file, it has some stuff in it.

Have you got a URL we can look at? Does the Search documentation provide you with any assistance?

No, sorry, no URL, its for a private intranet site... The documentation doesn't provide any help, but i did get the search results to display, kind of.

It now just displays:

Results of search for  /:
0 pages found out of 0 pages searched.

Does PmWiki need a special index file? what should I do?

Another possibility:

I had a similar problem with a locally hosted copy of PmWiki. Eventually I tracked it down to line 154 of scripts/pagelist.php. If I removed "@$_REQUEST" from array_merge function call, my search worked fine. Because the $_REQUEST array includes all cookies for the server, including cookies for unrelated projects, I think some cookies for other testing sites were conflicting with PmWiki's search. I removed some unneeded cookies, restored pagelist.php to its original form, and search has worked fine.

To recap:

  1. Remove @$_REQUEST from line 154 of scripts/pagelist.php.


  1. Delete any cookies you don't need for that server.

Can I preempt the edit password prompt on links that don't yet have pages?

The nature of my wiki requires edit passwords. When I started my wiki, I encouraged editors to insert what I call "pre-links" in articles. For example, an editor creating an article about "Bob" will go ahead and link references to "Mary" or "Joe" even if no articles exist on Mary or Joe. My reasoning was that other editors would notice these links and future articles would be encouraged as a result. This is very confusing to a common non-editor/reader, though, whose only interest is browsing the site. They click one of the links with the ? mark beside it, and can't understand why they're getting a prompt for a password. I would like to insert a message, "This article has not been written yet. Please check back later" and also have a way for editors to click from THAT page, submit their password, and proceed to create the new page. For the moment, I've asked editors to stop inserting pre-links until this can be sorted out.

The page that is displayed when you are prompted for a password is Site.AuthForm. You could take the contents of the AuthForm page and place them in a new page, are change the AuthForm page to have the message you require, and a link to the new page (and a link to where you came from).

How can I limit the pages users can see?

When I browse to my pmwiki on (for example) https://<ip>/pmwiki/pub/skins, people can see the contents of that directory. Should I put empty index.html's in those directories? (any specifics I have to watch out for?)

Putting index.html in these directories is a good solution. The approach PmWiki uses is to add a .htaccess file to its directories. You can copy this into all the directories you wish to restrict the contents to, but additionally you could enable the access to index.html (which could redirect to, say, your homepage).

When I browse to https://<ip>/pmwiki/sdofhaewh98awe (i.e. garbage) I always get some default page.

Which default page is this and can I change it? If people type a wrong URL I would want them to see nothing. (would this interfere with creating new wiki's from non-existing links?)

The default page is Site.PageNotFound. What do you mean by nothing - do you mean you don't want to navigate away from the page you are at? After you are making a request, something has to be displayed?

Ideally I would likie to show a 404-not-found when a user types a URL that doesn't exist. When I delete the Site.PageNotFound file I still get some empty page that contains my sidebar and tabmenu (simpletab skin).

Thankyou! August 6th 2007

PmWiki seems to be unable to read the config.php file.

Should I change permissions to "/local" folder to 755? Should I change all permissions to all folders to 755? Is it safe? Nikos

Changing permissions to 755 didn't solve the problem. By the way the installation is in a free hosting service and they place ads in the pages (if it is of any importance). Nikos

Problem solved: I should have deleted the "# " before an option. That is # $EnableGUIButtons = 1; should become $EnableGUIButtons = 1; . Wish you said so in the beginning of the the config.php file. Nikos

Source page for Page Text Variables?

If I use in a page many Page Text Variables from same source page, can I somehow set it as default for Page Text Variables?


Does this make sense?

I added this rewrite-engine line to block bad urls in .htaccess The aim is to exclude all requests trying to attack the php-engine with special characters. Now calls like:§\@age
but not§
will be blocked.

# Define the rewrite base.
RewriteBase /
#Allgemeine Regeln: Schutz vor Sonderzeichen
RewriteRule [^a-zäüößA-ZÄÜÖ0-9?:#+.%_=\/\s]+ not_accepted_go_away.txt [L]

To block request content with special characters (like ?action=browse§ ),
I needed to include a check-function in my protect.php
(more information under: )
Many greetings


I am using the TraceTrail? recipe on my wiki.

It shows the trail in this structure: Category/Pagename. Is there a possibility that it only shows the Pagename, but still links to the right page? Thanks for answers, Marvin? May 31, 2007, at 02:36 AM

Have a look at WikiTrails-Talk? : « In the bulletted list of links, use [[Group.Page|+]] to get the page titles, both in this list and in the trails. » gb? February 08, 2010, at 11:58 AM

My Search-Field does not work anymore after I created a new Skin.

I left the form action the same ("action=''"), though. You can have a look at . Everything else works fine, after I got a bit into the system.

Best Greetings Roman

Hallo Roman,
wo genau ist Dein Problem? Das Suchfeld funktioniert bei mir wunderbar, du musst nur neben die Lupe klicken und zwar erstaunlicherweise relativ weit rechts in das weiße rein, ich hab erst auf die Lupe gepatscht, da springt der Cursor nicht rein. Dann einfach auf enter drücken, dann kam ich ganz normal auf die Suchergebnis-Seite und wenn ich z.B. "Vorstand" eingebe kriege ich als Ergebnis "DerVerein".
Liebe Grüße, Marvin? June 11, 2007, at 03:07 AM

I tried to realize the hr line with different colors.

Is this the right way?

%define=blockline block  border-bottom="dashed 5px #00EE00" border-top="solid 1px #00FF11"%
%blockline% %blockline%
%define=blockline block    border-top="solid 5px #FF0000"%
%blockline% %blockline% my pmwiki:   more Examples:

my pmwiki: more Examples:

It works. Another solution might be to change the formatting of hr in your local.css[1] file.

Many thanks! (It doesnt work in some older private Wikis. I will try to find out why and which configuration is necessary!)

Our pmwiki sidebar has gotten longer over time and gets cut off at the bottom by pages with little content on them when we use the IE7 browser.

How do I make the sidebar take precedence over the length of the main page content so that the sidebar does not get cut off at the bottom on IE7?; Thanks - CR

If you are using the default template the sidebar is simply a cell in a table. Therefore neither should take precedence. Check to see if some CSS or change to the template has caused this behaviour.

I want a gui button that adds the code "&nbsp;" .

(Hah - figured it out by writing this question. Sorry.)

$GUIButtons['nbsp'] = array(660,'&nbsp;', , ,'$GUIButtonDirUrlFmt/nbs.gif"nbsp"'); Thanks - LFS

I have a link in my SideBar for an FTP location, is there anyway I can carry my login credentials through from the initial Wiki Login to autopopulate the FTP login box so I can just go right through to the FTP site?

When the box pops up to login to the FTP location, the credentials are the same as the credentials used to login to the Wiki site. Please help! -Brent

How do I get a checkbox on wiki page?

It is not defined in the special character section. Please help tami clark?

Hi: have a look at Cookbook:Input, which describes PmWiki's built-in forms markup. Also look at Cookbook:Cookbook#FormTools for other, related information. Try also searching for box html entity, and you will find ☐ ☒ ☑ ✓ ✔ ✕ ✖ ✗ ✘

I've added a comment-button to my wiki which does this: pmwiki/pmwiki.php?n=Comments.Main-HomePage?action=view

It shows the content of the group "Comment" that is made for the respective page (in the above case for Main-Homepage). Now if I use this comment-button for pages that do not have a comment yet it says something like "Page not found". Of course it does so because there isn't such a page yet. Is there a way if I am on the page "Main-Articles" which hasn't a respective comment-page yet for making such a comment page automatically by clicking on the Comment-Button? Also at the moment the small question mark with the dotted underline for non-existing comment-button's will not show. Thanks a lot. -- Torsten? April 30, 2007, at 02:45 PM

I figured out why I were having trouble installing. New question: Why all the different file-extensions instead of making them all something like .PmWiki and .Site files?

Here's the thing: The browser based file manager I was using couldn't read all of your files because it didn't have the necessary fileextensions added. And who can blame it. You have a load of these weird fileextensions seemingly for no reason. Why is it that you have to have a load of different files like PmWiki.WikiWord, PmWiki.WikiPages and Site.AuthUser? Why couldn't you just make two new filetypes instead of 108!? You could just make .PmWiki and .Site files, making the files mentioned above become WikiWord.PmWiki, WikiPages.Pmwiki and AuthUser.Site. Or maybe they could even be textfiles?.. I guess I'm way too unexperienced in this area to know what I'm talking about, but it just seems like such a weird thing to do seeing as most other wikis do just fine without it, and maaany people out there prefer to make use of browserbased filemanagers. Isn't there some way to work around making hundreds of new fileextensions? Aray? April 17, 2007, at 23:44

They aren't extensions in the conventional way. The files are wiki pages, where the filename is each page's name in a GroupName.PageName format. I don't think there's a way around that. --Hagan?

Hi! Why is e.g. my local folder empty when I view it in the filemanager ( and all I can see is a .htaccess file in there when I check it out on the comp?

I am quite new in everything that has to do with web-developing. I have managed to establish this webpage, and now I wanted to give your wiki a try. I've installed other wikis with success, but this one is giving me some problems. All I can see in the zip is these .htaccess files, where I thought there should be various other files... Anyways, I upload the zip, I unzip the folder, I create the index.php, and the page kinda works. But on pretty much everything except the HomePage link, there are these questionmarks attached for some reason. Every link that's got a questionmark attached has no content. I just can't figure out what's wrong :(

Will I get slapped for my extreme lack of knowledge now? :o

Edit: Oh, I realized that those questionmarks might be supposed to be there, so I'll add this then: Editing doesn't work, it just reloads the page. The same thing happens if I try to access the recent changes, or the search for instance. In short: Nothing works!
Aray? April 15, 2007, at 02.10 AM

The question marks indicate a link to a wiki page that doesn't exist.

You are correct that there should be various files in most of the directories, although the local/ and cookbook/ directories are empty except for a .htaccess file. Make sure you have installed all of the files in scripts/ and wikilib.d/ . --Hagan?

Edit2: That's the problem. The wikilib.d folder is just stuffed with files like .authform and .pageactions, and the browserbased filemanager I'm using can't seem to read these. Anywow, if I simply upload the whole zip (pmwiki-2.1.27), unzip it and run the pmwiki.php file, that page with the questionmarks is loaded. If I take a look at my filemanager after doing this, I see that a new folder called wiki.d is created, and it's got one visible file in it called ".flock". I still can't figure out what's causing this problem :(

try reviewing and following carefully the installation instructions.

Hello there! For controlling access, I decided to set an identity-based system, which works pretty well, but I would like to know if it would be possible to let each user change his/her own password. Thanks!

yes, via "Site.AuthUser". It's explained there, how it works. But it's a little complicated and I am not sure if users can "destroy" other user's passwords when editing this page and deleting another username, so you should only use this option when your users are people you trust in.
Marvin? April 09, 2007, at 02:48 PM

Hi, I tried more things to solve my skinchange-problem, perhaps now someone has an idea to solve it:

I use some graphics in my SideBar (pictures for navigation). I would like to edit the content of the SideBar so that it uses different contents depending on the skin that is active. I tried sth. like (:if equal $Skin Skin1:)graphic with blue background(:ifend:) (:if equal $Skin Skin2:)graphic with green background (:ifend:) but that doesn't work. ( Marvin? March 31, 2007, at 10:29 AM)
From Petko on the pmwiki-users mailing list:
You can define a customPageVariable {$CurrentSkin}, see PageVariables#custompv
and in a wiki page, use (:if equal "{$CurrentSkin}" "mobileskinname":), see ConditionalMarkup#built-in-conditions

So now I tried to simply put the graphics in the skin folder, so that the URL is the same.

I thought that now I'd only have to write "quotes.gif" and when using setskin=pmwiki it takes the pictures from pub/skins/pmwiki/quotes.gif and when using setskin=sw it takes pub/skins/sw/quotes.gif (of course in both folders there are pictures with the same name but different "design"). But all that happened was, that the picture disappeared and was replaced by a textlink "quotes.gif" (so the link was not transformed into a picture). So I tried $SkinDirUrl/quotes.gif... and I am soooo close: now I get the right URL depending on the skin I am using, but the problem is, that it is still a textlink. So again, the picture is not shown (do you know what I mean... difficult to describe, my English is not good enough). Well.. now I either need a clue how I can transform textlinks into pictures (usually this happens automatically :( ), if the URL is correct, or another solution. I even tried to use the multilanguage skin and used "de" for one skin and "eng" for the other... but my firefox doesn't accept the cookie or there is an error in the code, because the script works fine the first time and after one hit on a link everything is set to default :(Marvin? April 06, 2007, at 03:24 AM

I am trying to install PmWiki on the account given to me at school.

The solaris server has php installed. When I follow the installation instructions and type the url (, I get the following error

Warning: main(/home/(username)/public_html/pmwiki/scripts/stdconfig.php) [function.main]: failed to open stream: Permission denied in /home/(username)/public_html/pmwiki/pmwiki.php on line 305

Warning: main() [function.include]: Failed opening '/home/(username)/public_html/pmwiki/scripts/stdconfig.php' for inclusion (include_path='.:/usr/local/lib/php:/usr/local/lib/smarty') in /home/(username)/public_html/pmwiki/pmwiki.php on line 305

Warning: Cannot modify header information - headers already sent by (output started at /home/(username)/public_html/pmwiki/pmwiki.php:305) in /home/(username)/public_html/pmwiki/pmwiki.php on line 885

(:groupheader:)(:include .PageNotFound:)(:groupfooter:) <:block>

I substituted my username with (username) above.The permissions to pmwiki folder are set to 2777. Can somebody please help me solve the above problem?

  • it looks like the file /home/smarty/public_html/pmwiki/scripts/stdconfig.php can't be found
  • also check Troubleshooting

I got it resolved. The problem was with the permissions that are set to the scripts folder and other folders. I changed them to 755 and now they work fine.

30.3.07: Hi there, I have a little problem, getting the Skins:SkinChange to work.

I downloaded skinchange.php and added it to my cookbook. I added the two lines to the config.php. I created a folder named "sw" that contains sw.css, sw.tpl and sw.php. Adding ?setskin=sw or ?skin=sw doesn't show a reaction. The only difference to here that I see is, that my URL e.g. looks like pmwiki/index.php?n=Main.Intro and not like here with subfolders and pagenames (your URLs look like wiki/PmWiki/Questions so there is no .php etc.). So how can I make the skinchange work? Thanks, Marvin

Is the folder sw in the pub/skins directory?

: yes; Back again: I did some tricks now. I uploaded my first skin into the pmwiki-folder and renamed all files pmwiki. Deleted the skin='monobook' in the config. Then my fake pmwikiskin became default and the skinchange now works.
Marvin? March 30, 2007, at 01:19 PM

(Mon, 26 March 07) Hello. Can a timeout be enabled for when passwords are used, and the site is set with a READ password?

(03/19/2007 '''Searching %comment%

Is there a way to prevent the search from searching the %comment% markups? I only want the search results to include pages which match the 'visable' text on a page.

(03/14/2007) paragraph rules not working in list item?

I noticed that if I start a new line without leaving a white line
like here I have just one paragraph, which is good and the expected behaviour.

# But if I do
the same
in a list
the result is quite different.

I noticed that if I start a new line without leaving a white line like here I have just one paragraph, which is good and the expected behaviour.

  1. But if I do

the same in a list the result is quite different.

Is this expected behaviour? If yes, is there any switch that I can use to change it?

Yes, this is expected. Within a list-item, a linebreak is reflected in the output. A workaround, allowing you to break lines but stay on the same line in the output, is to put a back-slash at the end of the line (being sure there are no spaces following the backslash):

# If I end \
with a backslash, \
the output \
is all on one line.
  1. If I end with a backslash, the output is all on one line.

Thank you for the answer (Romano_Giannetti?). I had another answer on the list by Patrick, that I copy here, given that it adds information and maybe can promote this item to a FAQ candidate.

If you want all of the text to be part of a single list item, then indent the second and subsequent lines to align with the first character of the first line. Thus:

# But if I do
  the same
  in a list
  the result is quite different.
  1. But if I do the same in a list the result is quite different.

This results in a single list item containing "But if I do the same in a list the result is quite different".

This indentation can also be used to put paragraphs within list items, as in:

# This is
  list item
  number 1.

  This paragraph is part of the above list item.

# This is
  list item
  number 2.

This paragraph terminates the above list.
  1. This is list item number 1.
    This paragraph is part of the above list item.
  2. This is list item number 2.

This paragraph terminates the above list.

(03/16/2007) Getting PmWiki on CD

Is there any possibility to copy/export/transfer/whatever PmWiki on CD? I would like to create a guide with the help of PmWiki and give it out to customers on CD so they can run it locally without the hassle of installing something. Is that possible, and if yes, how is it done?

Try Cookbook:Standalone. --Henning? March 16, 2007, at 10:35 AM

(03/12/2007) Wanted Pages (missing pages). I understand how to use RefCount, but I'd like to provide my users a pagelist of all WantedPages without asking them to use the RefCount form. I've been searching but havent found a way. Ideas?

(03/03/2007) I've included the authuser.php to activate user log in, but nothing appears.

I need a log in in my page and I've added the line include_once("$FarmD/scripts/authuser.php"); in my local/config.php file but nothing seems to appear, do I have to do something else too? Thanks

(03/02/2007) I have implemented authuser with LDAP authentication. I password protected a page.

When I edit the page it prompts me for my password and appears to work fine. The issue is when I click preview or save it prompts me again for my password before I can continue. It also prompts me for my password on every other page I try to edit within this session. Why does this occur? Am I missing a setting somewhere? I am running release (pmwiki-2.1.27).

I did not have the problem on pmwiki-2.0.13

Thanks for any help!

(02/03/2007) To convert all of MediaWiki pages into PmWiki besides copy-and-pasting each page into PmWiki.

Hello, I ask to respond those who passed from MediaWiki on PmWiki - the script for this transition of MediaWiki database(SQL)is necessary. It is very necessary and is very urgent. Please, help.

I can't get any dropdown menus to work, I am using pmwiki version 2.2.0-beta29... am I missing something or does this version have some kind of resistance?...

(01/03/2007) Standalone use.

Hello, I use pmwiki in standalone mode, if I make a link towards a local file (pdf or html) it can't be viewed, is there a solution ? Thank in advance. Christian

Have you tried linking to "http://localhost/etc" or "file:///C:/etc/etc"? - Renato?

I tried the two things here are the tests lines
%newwin% [[lien fichier pdf -> http://localhost/entretiens/doc%20formation%20evaluation.pdf]]
%newwin% [[fichier pdf -> file:///G:/pmwiki-2.1.27/entretiens/doc%20formation%20evaluation.pdf]]
%newwin% [[lien fichier html -> http://localhost/entretiens/grille-evaluation.htm]]
%newwin% [[fichier html -> file:///G:/pmwiki-2.1.27/entretiens/grille-evaluation.htm]]
%newwin% [[mail cict ->]]
Only the "external" link in the last line works fine.

from Links

Links to intranet files
You can link to a file system by including the prefix 'file:///' (for Internet Explorer at least). So file:///S:\ProjPlan.mpp and [[Shared S drive->file:///S:\]] are both valid links. On a Windows file system you may want to use network locations (eg \\server1\rootdirectory\subdirectory) rather than drive letters which may not be consistent across all users. - Renato?

Yes I know, in the documentation it would work, but in standalone use it works just with external links, not with links to 'intranet files', it is the same thing with IE and with Firefox

By the way, where do the links point to? (the links you got, not the links you want). Renato?

for the pdf link , a new window is opened but is empty ( no error message in the window) for the html link a new window is opened with an error message : Unable to find /entretiens/grille-evaluation.htm on this server. for the files nothing occurs when i click on the link

Have you tried with backslashes? Not G:/ but G:\ etc. (I'd try to replace all slashes with backslashes)? Because probably just the link is wrong... Marvin? April 12, 2007, at 03:22 AM

The recipe Cookbook:DirList provides a workaround to using file:// links. --Petko? January 18, 2011, at 02:13 PM

(26/2/2007) Netware Issues.

As per below I am trying to configure PmWiki on a Netware box. Got around the regular expression check on $FarmD by setting this conidition to true. However PmWiki uses the crypt function which does not appear to be supported by PHP for Netware. I replace this with a call to md5 and am still having issues. Any ideas? Matthew

My GUI edit buttons have disappeared. I have reinstalled but to no avail. I have included the line $EnableGUIButtons = 1; in my config file. I'm running under IIS6 on Windows Server 2003. Any ideas?


My wiki has to be moved onto a new server. Everything looks fine on the new system - only pages with special characters can not be linked properly. A page like PageNäme? (PägeName?) would be linked as non-existing page PageNMe?action=edit . Any solution for this problem? Thank you, Lars

Do you use UTF-8 encoding? I set up my installation with 'Locale' => 'de_DE' on the XLPage, but no UTF-8 encoding. I get a link like pmwiki/pmwiki.php/PmWikiDe/PageN%e4me from that, which works properly. (I'm having some Umlaut problems with direct downloads after moving my Apache from Linux to Windows, though.) --Henning? February 07, 2007, at 08:11 AM

No internationalizations installed on either version (as far as I can remember). Both machines are Apache. Php version is ok. I have two versions on the new machine: a plain installation of the latest stable version and the copied files of the old server. Same problem on both versions. The only difference was, that after uploading, the files in wiki.d on the new server were with UTF-8?, while the ones on the old server were with special characters. Any input welcome - maybe it's a server side problem. Thanks, Lars

I'm running 2.1.21 on Apache 2 under Windows. I have commented out the UTF referral in the config.php:
# include_once('scripts/xlpage-utf-8.php');
I am loading the German xlpage in the config.php:
And on the XLPage I have:
'Locale' => 'de_DE'
I'm not aware of any other configuration settings I might have made.
I had some problems with non-functional Umlaut links, too, in context with this still unresolved PITS.00588?. I haven't fully understood what is going on there, but maybe you would like to have a look at this PITS entry to see if there is any connection to your current problem. --Henning? February 09, 2007, at 06:38 AM

Thank you that you took the time to look into it. Unfortunately, also installing of i18n didn't help. And the problem's much more basic as in that PITS entry. Maybe I'll post it again when the new server is live, so you can check it out. Lars


I recently noticed that my PmWiki installation responded quite a bit slower than it once used to. It's my impression that things improved after I cut down the AllRecentChanges page to about 100 lines. (It had been several thousand - the Wiki has 7600 pages, but not all of them show up in AllRecentPages). Does AllRecentChanges objectively have that kind of impact on performance, or am I imagining things? If the impact were confirmed, I'd make cutting down the length of the list part of my regular "wiki housekeeping" ... --Henning? February 06, 2007, at 06:45 AM


We have a Netware system and want to use PmWiki. The "if (preg_match('/\\w\\w:/', $FarmD)) exit();" line in pmwiki.php fires because our path in $FarmD is SYS:\apache2\... . Is there any possibility?


I feel like I'm familiar enough with PHP and CSS, but for the life of me, I can't figure out what generates the <SPAN> with the bacground-color of #ffffcc, containing the text: "administrators (basic)" in the top right hand corner of the page: Thanks.

Try editing PmWiki.GroupHeader and adding a definition for the audience tag. I had problems with this, myself, so I know how lost you are. :) Take a look at the edit page of GroupHeader. - Renato


On the categories page they give this example of how you can list movies with categories. I copied it exactly, using the same movie names, genre, etc, and what I got was a top category that listed only genre and year, which I could click to get a list of those genres or years, which I could then click to get to the movies. Is it possible to get a list like what they display on the page or is that just an example of what it does?

Currently on my site, whenever someone posts... their name does not show even if they put their name in the Author box. Is there a way to set it up that each time someone posts, their name will appear next to their posts?

Thanks, Amy


Using UserAuth, when someone with just edit permissions signs in (and only edit permissions on certain groups; I don't know if this matters), and they click edit on a page that should allow them to edit and they sign in, a permissions error comes up. Yet, when they navigate back (and are now signed in) and click edit again, it allows them to edit. How do I stop this permissions error from showing up when people sign in to edit pages that they're allowed to edit? Thanks!!!


Using the Beeblebrox template, how do I stop the "edit history print" links from appearing at the top and bottom of the pages? Thanks!


I want to use the webfeeds feature. When I use a feed to Site.AllRecentChanges, i get a channel with *no* items. I guess the following reason: I have all pages read-protected. The i set AllRecentChanges to "nopass" for everything. I can look at .../pmwiki.php/Site/AllRecentChanges correctly, but the feed is empty. TIA, Sebastian.

Found it myself: set $EnablePageListProtect = 0;

can you create sub-menus for navigation, i.e I have sidehead = faculties, then under faculties I have facutly of vlogging, now I wish to have a submenu for vlogging, something like, history then cultural information.

thanks in advance for any help Steve try lists and indentation - see basic editing Faculties

Faculty of Vlogging
Cultural Information

(2006-01-06) is there a page or repository of PmWiki logos in difference sizes? I'd file to find a Powered by PmWiki or Get Pmwiki logo, in additional to the logo. (There are some from 2004 here?)

(Jan 3, 2007) I placed the enablehtml.php file into my cookbook directory in the hopes of allowing me to make new pages using HTML. Then I put include_once("$FarmD/cookbook/enablehtml.php"); in my local/config.php. Then beneath the "include_once..." line I put EnableHtml([a-z!]+) so that it enabled all HTML tags but upon doing so it made my page unviewable. Any help? Thanks a lot, Happy New Year.

(Dec 19, 2006) I have tried to define a custom markup for but it doesnt work. Can anybody help me, please? lots of thanks

show use what you tried, eg on a Test? page.

(Dec 12, 2006) How do I remove pmwiki's search box from my site? (I'm using the beeblebrox skin, if it matters) Thanks!

Try removing/commenting out:

  <form id="headerSearch" action='$ScriptUrl/$[$SiteGroup/Search]'>
    <input type='hidden' name='pagename' value='$[$SiteGroup/Search]'/>
    <label for='searchbox'>$[Search]</label>
    <input id='searchbox' class='searchbox' type='text' name='q' value='' />
    <input class='searchbutton' type='submit' value='&raquo;' />

from the tmpl file. - Renato

Worked wonderfully, thanks!

(Dec 10, 2006) I'm using AuthUserDBase so I can relate my pmwiki to the phpbb we use online. Integration has been working fine until the moment one user named 'Paulo Arruzzo' had to go through authorization in the Wiki. It seems that the space in the nickname made PmWiki go crazy and say he's not allowed to edit the Wiki. Any ideas on how to solve this? I know it's only a matter to find where I should put the "", but I'm not too familiarized with PmWiki code. Thanks for helping. :) - Renato

(Dec 6, 2006) I have installed cookbook "HtpasswdForm". When i try it (create user), it doesn't work and all my user are deleted. Someone have the same problem? Thanks for your help in advance.

(Dec 3, 2006) I want my wiki to understand carriage returns, that would make it easier for my users to edit pages. anyway for me to do that? Thanks for your help in advance

See Cookbook:LineBreaks

(Nov 29, 2006) While experimenting with adding my own cookbook recipe, I may have accidentally changed something somewhere else.

Now, I cannot get cookbook recipes to work. I include_once() the recipe .php file, but I just see the markup being displayed rather than the recipes intended result. Placing the code directly into local/config.php gives the expected and correct result, but not if the code is located in cookbook/myrecipe.php. Then its just the markup that gets displayed. Any suggestions for what I might try next?

(Nov 15, 2006) The topbar on each page of our website is in a different place.

Have no idea as to why or how to fix it. Anyone? Thanks! ( just FYI) yv-

If "place" refers to the graphical output, try a different browser to see if an HTML interpretation peculiarity (or bug) is responsible for this. If you use a custom skin (or just a custom CSS), try the default skin/CSS combination to see if the problem perhaps is caused by your skin. Another idea would be to check the logo graphics (or any graphics file you might use) for correct dimensions. Just some ideas to narrow down the problem ... --Henning? November 17, 2006, at 03:53 AM

(Nov 12, 2006) In using the pagelist formats in a sidebar menu, how do I get the menu link to the currently viewed page to stop disappearing from the pagelist? The group links don't seem to have this problem, only the article links. Thanks! -jibegod

Check the PageLists#pagelistlist information, also are you using Cookbook:MarkupExtensions?

(Nov 11, 2006) I found it not possible to create a wiki trail by including a part of the sidebar in a trail index page. Is there nevertheless a way to do this? Thanks for answers!

(Nov 9, 2006) How to I get a longer editing session length without changing php config?

FixShortSessions suggests increasing session.gc_maxlifetime. But is there another alternative? Can I set a cookie when I login, which then allows unlimited editing until I logout?

(November 6, 2006) How do I save just the page text to a file with a link for the user to "download page text"?

Profiles? November 6, 2006, at 17:55PM See Uploads or try action=source

(November, 2006) When i try and save a change to any page, the change disappears and reverts back to the previous format. There is no error message and I created the wiki.d directory with access 777. I have just installed PMWiki.

Profiles? november 2, 2006, at 14:37AM

A - by a mere user ;-) : Can happen if you have installed PmWiki at where has weird and wonderful mod_rewrite rules. Fix by putting a .htaccess file with "RewriteEngine off" in the root of the PmWiki install (which obviously wont work if you've set up the clean URL feature of PmWiki which uses rewrites itself.)

(October 28, 2006) How do I make a link to a file (in order user to download it) if the file is in the same server but not in the web tree (not in public_html, and so on) ?


 Profiles? October 28, 2006, at 03:44 AM

Simply use the complete URL of the file. You don't need to have the files in the wiki-files, not even on the same server. Just add http://yourfile-URL.ext and it will be converted to a link. When your extention e.g. is *.pdf, then - depending on the browser-settings of your users - a hit will either start a download, or will open and can then be saved manually. You can use [[http://www.yourfile-URL.ext|My Downloadname]] to give the link an alternative name.

Marvin? October 28, 2006, at 01:33 PM

(October 24, 2006) And once again, I really searched like maniac but couldn't find anything. Is it possible to edit the AllRecentChanges so that it lists page titles instead of filenames?

I tried to edit pmwiki.php (in RecentChangesFmt I added |{$titlespaced} to the links, but with only the effect that editing the recent-changes file didn't work anymore... which happend every time I changed ANYTHING there... e.g. I tried to remove the ":" after the author's name with the same bad result. Where can I change this? When I edit the Site.AllRecentChanges all I can do is remove entries, but there is no :pagelist: variable or sth.
A very puzzled Marvin? October 24, 2006, at 12:45 PM

I'd be wary of making any changes to pmwiki.php In general, you should be able to make most changes by adding entries to your config.php. In this case, I think what you are looking for is the $RecentChangesFmt variable. Click on the word $RecentChangesFmt and it will take you to the page where that variable is briefly described with the code to enter in config.php I don't have any experience with that, so I can't say much more. (But I got there with a search for "AllRecentChanges" If you want a more targeted search on, try using the following page that I setup: Search It isn't part of the PmWiki distribution, but its a good resource for search for documentation, recipes and PITS issues.

LAYOUT VARIABLES! *bangs head on table* I really searched the whole wiki here!! Thanks, Pico, I will have a try (and bookmark the page!).

(2) :( doesn't work.. it doesn't overwrite but add after the normal lines. And there are no links, but everything looks like when you post it with [@ I copied the code that is shown in the LayoutVariables page.

(2) Yup, I tried it and see what you meant. Looking at the code, it makes no sense that the format markup ends with a pair of escapes, and in reversed order too (" =] [="). When I removed those, it works fine. But note that the screwed up entries that were created with the prior format will persist, and the open escape may cause subsequent entries for that page to be appended to the existing entry. Test with changes to a different page to confirm that the new format works. You may have to edit or delete the existing RecentChanges / AllRecentChanges to get rid of the screwed up entries.

On a related note, if you are using the beta series of PmWiki the $RecentChangesFmt may have to be revised for the group specific RecentChanges pages to work, but simply adding an asterisk didn't fix it for me. I'll post to Pm and the list for help.

(3) Wheee! I think I had deleted a ' when I first tried to delete the [= , because the whole page was broken then.. but now it works (nearly) fine:

[=$RecentChangesFmt['$SiteGroup.AllRecentChanges'] =
  '* [[$Group.$Name|$Title]] - $CurrentTime $[by] $AuthorLink ([=$ChangeSummary=])';
$RecentChangesFmt['$Group.RecentChanges'] =
  '* [[$Group/$Name|$Title]] - $CurrentTime $[by] $AuthorLink ([=$ChangeSummary=])';=]

Just one tiny thing: The changes are sorted by date, but the older entries stay on top and the newer ones are added BELOW. Is there a possibility to change this, so that the newest changes are always on top? I am using pmwiki 2.2.0beta14 at the moment.
Best wishes, a very pleased Marvin? October 27, 2006, at 09:19 AM

(October 22, 2006) Hi, I host a MediaWiki for somebody on my webspace, but I need to move their wiki to another service which does not work with MediaWiki but does work with PmWiki.

Is there an easy way to convert all of her MediaWiki pages into PmWiki besides copy-and-pasting each page into PmWiki? --Dr. Doog

Sorry for a very unqualified answer, but perhaps it helps at least a little: PmWiki stores pages to the wikilib.d directory. The pages are named Category.Pagename. I don't know MediaWiki, but if they also have a file for every page, then it would do to simply rename the files (isnt't that easily possible with a program like irfanview?) Marvin? October 22, 2006, at 02:30 PM

(October 14, 2006) I'd like the search to find only pages with the searched word in the TITLE and if no title is set, in the pagename.

So that the content is not included. If I type in "marvin" I want it to find the page "Vells Marvin" and "Marvins wife", but not a page named "Children" and the content "These are Marvins children". And if no result is found, I'd like to have a link to a page with the "normal" search as it is now, where all pages are included. Like "no result for Marvin found, would you like to search page contents as well, then enter your Search here". Is this possible? I thought of putting fmt=#title in the search-code, but didn't know where... and I don't have any clues of php.

You don't need to know php. You can do this easily for searching page names. You should be able to enter "name=*Marvin*" into a searchbox to return all pages where the string "Marvin" appears anywhere in the title. (Try it on this site with, say "name=*Page*" which should return pages with the string "page" anywhere within the page name. Now, to take this further and setup specialized searchboxes, or results, you can create searchboxes, or searchresults, that supply some parameters, such as "name=*Marvin*" Take a look at the (non-distrubted) search page that I added at Search. For more information, look at the distributed documentation at PageLists.

Now, if you want to do this for page "titles," I'm not sure what the answer is right now. Pagelists support specifying pages using the "name" parameter, and support wildcards within that parameter, but I do not think that titles are supported parameters and, if they were, the question remains whether they would support wildcards. But lots of changes are being introduced with the new beta versions of PmWiki 2.2.0-beta# with respect to pagelist and support for more flexible page text variables that can supplement the existing page variables (such as name and title).

sorry, but I still can't find a solution for what I want... I want the search to find the titles automatically... or pagenames.. that is not so much the problem.

But I don't like it that my users have to write name=*sth*, because everyone usually uses a search by simply typing in the word you are searching for (seems to be the google-generation ;o) )
(:searchresults fmt=#title:) doesn't work, I tried this... I still get all pages that contain the word :( So I think I have to write sth. into the (:searchbox:) or in my template, if I want to change the behaviour of the Searchbar on top of my site.
Probably someone can have a look at to see what I mean.

Marvin, first of all, please be careful when you write about wiki markup because when you spell it out it PmWiki will try to interpret it unless you are careful to "escape" the markup (with [@ and @]). The content and ordering of this page got pretty strange and eventually I tracked it down to your references to (:searchresults:) and (:searchbox:) and, even though they did not include the closing portions :), your smileys eventually kicked in.

As for the underlying question, there is no really easy answer, but it can be done. Maybe the easiest thing to do right now is to refer you to the thread on the mailing list where we discussed it and you should just follow that thread and decide what you want to do (and, in the meantime, maybe someone else has come up with another idea). The starting post for the thread is here

As for other options, (1) You could have your searchbox prepopulated with an example query, like "name=*Marvin*" and hope that your visitors would see that they could replace Marvin with something else. Not very good, but if you are interested, the way to prepopulate a searchbox is to use the "value=" parameter, like this:

(:searchbox value="name=*Marvin*":)

Read more about this at PageLists

(2) Have you thought about making use of Categories, by placing links in your pages, for example, [[!Marvin]] in those pages that do more than just mention Marvin, but deal with Marvin in significant detail (regardless whether the page name include Marvin). Then you could provide visitors with a pagelist of the category group, which would provide an alphabetical listing that visitors could browse. If they click on Marvin, they get a listing of pages that you decided to display for Marvin (by adding category links).

Hope this helps.

Thanks so much, I will read the thread carefully! Thanks also for editing the posting. I tried several times to edit it myself, but always got the message: "blocked by administrator", so I couldn't do anything.. maybe the system thought I was flooding *sigh* I am happy to see that everything is all right now!

(October 13, 2006) When I edit a page and click on preview or save, the edit page reloads and erase all my changes.

This is a brand new installation using the latest stable version. After untarring and creating wiki.d, I copied docs/sample-config.php into local/config.php and edited $WikiTitle and $DefaultPassword['admin']. I have a perfectly working pmwiki on another computer so I'm pretty puzzled right now...

It might be easiest if you give us an address to a page that we can edit on your site, so that we can see what is going on. Otherwise, try observing very carefully what happens on the address bar when you do a save and compare that with what happens on

Rolfijn: I am not sure whether i am supposed to awnser here. Please erase if i am not supposed to. I am awnsering because i have a similar problem when i try to update my wordpress blog from work. At work i am behind a proxy, which i suspect to be the problem. Can this be true in your situation also?

(October 13, 2006) Ugh.. I really searched a lot, but all I found was a script for "_" in the cookbook that didn't really work... I'd so much like to use the pagelist function, but it's so ugly to see all the Names listed in one big Word.

Instead I want to have spaces between the words like when I first created the page. So that the spaces don't disappear, you know what I mean. So "This is a Title" gets "ThisisaTitle" now in my index, but I want it with spaces. I also created the links with spaces and they work perfectly well.

What I do is: (1) Add $SpaceWikiWords = 1; to my config.php file and (2) use the fmt=#title in my pagelists, which formats links as [[$FullName|+]], where the alia "|+" grabs the page title, if any, otherwise the page name. Together, these end up giving me what I want.

The other thing you could do is to start giving your pagenames a title (:title This is the Name of This Page:) and, as above, using fmt=#title.

Great! It works fine, I am happy (did the Spacewikiwords solution). Thanks a lot for your competent and quick help!

Even better, just use the Page Variables {$Namespaced} or {$Titlespaced} in your pagelist template (Site.LocalTemplates?). See Pm's post. Update to update: someone just added this to the Site.PageListTemplates. It will be up to Pm to decide whether to leave that change for future distributions.
Here is an alternative to the first suggestion (add $SpaceWikiWords = 1;) from a recent post by Pm to the list:

If you want to change the '+' to mean $Titlespaced instead of $Title, try the following in local/config.php:

  Markup('[[|+', '<[[|',
    "Keep(MakeLink(\$pagename, PSS('$1'),
         PageVar(MakePageName(\$pagename,PSS('$1')), '\$Titlespaced')),

(October 13, 2006) How can I add the .7z archive to the uploadable formats?

(Do I have to edit upload.php or config.php?) And will it be added to the default settings as it is an opensource archive?

Well, I added the following line to the config.php: $UploadExts['7z'] = 'application/x-7z-compressed';

But why not adding this archive as a default in one of the next pmwiki releases?

Is there a way to allow HTML in PmWiki RSS feeds (such as image, href, list tags)?

(October 08, 2006) How do I find out a users ip address when it is hidden in the History if they type in their name when editing?

Mouseover: Hoover the mouse cursor over the name and you will see the ip address appear in a tooltip. (This only works in the history view).

(October 06, 2006) I have installed the latest version. The homepage appears, but when clicking on Edit the page does not switch to the edit mode. I have set the permissions to the directories wiki.d and wikilib.d to 777. What is missing?

Hard to tell from your description. If you provide the address, we can take a look at it. Otherwise, you should carefully observe what, if anything, changes when you click the edit link. Also, when you hoover the mouse cursor over the edit link, what address appears at the bottom of the screen (if your skin shown this on a mouseover? What address appears in your browser after you click the edit link. (What was the address before you clicked the edit button?). In answering these questions, you can just identify the last portions of the address.

Why does the following syntax ignore the line breaks on each link and produce all links in 1 row?

Link1? Link2? Link3?

In PmWiki, a single carriage return that produces a line break in the editing screen's markup does not produce line breaks in the page that is finally rendered in html (i.e. a carriage return is not translated into <br> or <p>). The fact that link markup is placed on separate lines does not change this. If you want these links to appear on separate lines, there are several things you could do to tell PmWiki your intentions, including: use list markup (* or # at the start of each line), use two carrage returns instead of one, or add two slashes at the end of each line.

(September 29, 2006) Is it possible to create a Group.PageNotFound page similar to the Site.PageNotFound page?

I didn't find anything like that in the documentation, but as most things work on group level just the same as on site level, I suspect I somehow missed something.

(September 26, 2006) Is there a way to add in a creative commons license to PmWiki?

I want the content my site visitors and community members write to be credited.


(September 5, 2006) I'm having trouble with the initial setup of my wiki.

The links always go to Main.Homepage, no matter where they are supposed to point. None of the PmWiki reference links work. When an edit command is given, whether it be edit SideBar or a link to a new page, it brings up edit Main.Homepage. Am I missing a file, or are my permissions set incorrectly? I've tried 2.1.15, 2.1.14, and I'm now on 2.1.13.

Also, is there a list of what files I should have so I can check?

I think we need more information. Is there an address that we can look at? In the meantime, if you want to try something, at least to rule out a possible issue, you might try explicitly setting the address to your PmWiki location in the $ScriptUrl entry of your config.php file. As the documentations for $ScriptUrl explains, "PmWiki is usually fairly good about 'guessing' the correct value for $ScriptUrl on its own, but sometimes an admin needs to set it explicitly because of URL manipulations by the webserver (such as Cookbook:CleanUrls, mod_rewrite, bizarre PHP configurations, and so on)."

The site is

I've set the scriptUrl to I'm having no luck. None of the links work. I've done several fresh installs in the hope that I was missing a hidden file. The external links to work, but not the internal wiki links.

Ok, looking at your site, I would guess that you were trying to setup the CleanUrls recipe and that you are almost there, but not quite. When I click on a link, the page and group are formatted as a regular path with slashes, which tells me that you have $EnablePathInfo = 1 set in your config.php file. Then, when I try to manually enter a group and page by appending them to the address using PmWiki's own format ( I get an internal server error. It is only when I omit the pmwiki.php that I can get a the page to load ( Wait, I also get the page to load when I try

So, where do you go from here? Personally, I would take a step back first and make sure everything is working without the CleanUrls recipe: comment out the EnablePathInfo line in your Config.php and rename your .htaccess file for that it isn't being interpreted. If the links work fine after that, then go back and double check (and triple check) your assumptions and entries in implementing the Cookbook:CleanUrls recipe. If you need more help with that, you should probably provide some more specifics, like the contents of your .htaccess file and the exact location of that file in relationship to your PmWiki file structure.

The internal server error came from messed up permissions on pmwiki.php. I commented out the enablepathinfo, and that worked. Thanks for all your help. You (and I'm not sure who you are and how many of you there are) are the best.

(August 31, 2006) I expect my wiki to be very large. How scalable is PmWiki?

Short answer: It all depends on the server. One user with a small, slow server and 4000 pages claims his site is barely tolerable. Another user, with a bigger and faster server, is happy with 200,000 pages. Performance can also be affected if you use some of the advanced features.

If it does get large enough to impact performance, there are things you can do to speed it up.

Longer answer:
This thread includes ideas how to speed things up.

(keywords: "server size")

(August 29th 2006) I want to include a php counter in every page generated using bbclone:

    define("_BBCLONE_DIR",  "/public/homepages/username/web/bbclone/");
    define("COUNTER",  _BBCLONE_DIR."mark_page.php");
    if (is_readable(COUNTER)) include_once(COUNTER);

The problem is if I put these in /pmwiki/pub/skins/pmwiki/pmwiki.tmpl, they are not interpreted as php command and instead are outputed as plain html text. How to do this property in pmwiki?

You should put those commands in your local/config.php file. Additionally, consider adding a line of:

 define("_BBCLONE_TITLE", $pagename);

above those lines.

You might also want to have a look at available cookbook recipes: Cookbook:TotalCounter (and Cookbook:CurrentVisitors) - although they provide less functionality than BBClone.

(August 26th 2006) I found that after I put a include_once('scripts/xlpage-utf-8.php'); in my config.php, I found a line of meta ( Content-type: text/html; charset=UTF-8 ) is still not added which indicates the UTF-8 encoding of the page (though Firefox can recognize the encoding itself and I can edit my wiki without any problem on my desktop computer but not on my PDA). Can anyone help fixing it? Thank you.

(August 24th 2006) I've looked around the cookbook and I'm not seeing an option for putting in anchor tags for links within the same page.

This is done in HTML but I don't see an option for doing it in a PmWiki. Let me know if I missed it. I will continue to look in the meantime. Thank you.

The Cookbook is for 'advanced' add-ons, you're just looking for a standard link option. You'll find the anchor link described on the Links page under the Links to specific locations within a page heading, near the beginning. Enjoy. Des? August 24, 2006, at 08:44 PM

(August 24th 2006) I have PmWiki setup at when you edit a page and click "save" the information is indeed saved but doesn't leave the edit mode.

If you click on any of the links it remains in edit mode until you close the browser and reopen the page. Any ideas on how to fix this?

We're working on this. I added some comments to your home page and posted the question on the mailing list at Click on that link and look for followup posts on that thread.

Thanks for the information. That pointed me in the right direction. I didn't edit the config file for the $ScriptUrl, it was still commented out with the default information placed there. After I uncommented it out and filled in the url it works fine now.

(August 22th 2006) Which is the best RSS feed to keep informed on important PmWiki-updates?

(August 19th 2006) Is there any way just to show the pagegroup (of the css wikititle) to people with edit or admin rights?

Right now I am using css visibility:hidden but then it is always hidden. Same would be with deleting (or setting) the line within the source (as a comment).

It is possible, but only partially. If a user has some IT-savvy, he'll still be able to easily find the group name. And the more places you want to remove the group-name from, the more difficult it will be - especially I can't imagine removing the group name from the URL at the moment, if you still want it to be available to admins somehow.

Some ideas where to try to remove include:

  • the wiki's skin (but you'd better work on a copy, not the original)
  • removing the {$Group} page variable

(August 18th 1006)Trying to add some custom mark up but i cant quite work this out any ideas why this does not work

Markup('hotkey', 'directives', '/\\(:hotkey.*?:\\)/e', "Keep(\"<span class='hotkey'>$1</span>\")");

Try using single backslashes ('/\(:hotkey.*?:\)/e' in place of '/\\(:hotkey.*?:\\)/e') - that's how it works for me; I'm not quite sure if the double-backslashes info in the manual is an error, or is it that one version works for some people (that is, some PHP installations), and the other works for others. I'm quite puzzled here.

(August 7, 2006) Hello, i try to put out a rss-feed / webfeed from only ONE site of my wiki.

But i can't find a possibility to Display the RecentChanges for on site or section of my wiki. But the webfeed doesn't make sense, if it contains irrelevant informations... Searching didn't help! Regards, erdballer

(August 4, 2006) I've downloaded Cookbook:ExcelPaste, but am having a problem with the GUI button alignment, the skin used is Triad.

Is there markup that can be used as a button definition in the config.php file or is there a different workaround for this?

I have latest version of PMWiki. I have 2 pages, which are spammed every day, but it isn't allowed.

I have changed the password of "edit" some times. First the group had a edit-password, then the page too. No changes. Any idea? flox? August 01, 2006, at 06:09 AM

You should give some more information about the situation. What's your configuration (especially regarding spam and it's "non-allowance")? How did you change the edit password for group/page? (changing it for the page with ?action=attr should really make it inaccessible for non-password-knowing people) Maybe you could link to the page which gets spammed, or at least show what kind of spam gets written there?

I don't say all (or any) of this information will be helpful, but it might give at least some clues.

See Security

I edited Site/NotifyList to get e-mails which should tell me changes.

But - I never got e-mails... I have latest version installed over an older one, edited config.php and edited Site/NotifyList. flox? August 01, 2006, at 06:09 AM

You mean that you edited config.php to have $EnableNotify = 1; ?

(2006-07-20) After Installing PmWiki and following all the instructions given in the Installation dir, I can view all of the wiki pages, but can't edit even one of them.

I noticed when extensively trying to correct the problem, and when editing the config file it says: DefaultPasswords['admin'] = crypt('secret'); So can I ask how can you edit pages, and allow the world to edit your pages ? Is this a failed installations or is this normal default behaviour installation. I am guessing all file permissions are set to charmod 755, aside from the ("chmod 777 wiki.d") directory, so this I guess should not be a server file permissions problem.

Hope someone can help :- Just to recap the actions ?action=attr work but the actions of pages ?action=edit do note:. added please help still can't edit my wiki !!

Ah, now I see. When I looked at your site I understood the problem. Edit works, but the edit screen has no content. Knowing that the content of the edit screen is determined by a template page called EditForm that is located in the Site group, I looked at your site group and see that the EditForm page does not exist (the link appears on Site.Site as a link to a new page). So, how to add that page if you can't edit? Get the file from a distribution and copy it over to the directory.

On my wikis, links to pages with dates (formatted a certain way) in their pagenames get converted to long date format, so the links don't point to the pages.

Thus this:



on my wikis comes out like this:

Thursday, 3 May 2007
TestThursday, 3 May 2007

What setting is likely causing this? I'm running 2.1.11, but the problem goes back to 2.0 days. (I am posting the Q to the mailing list, but also have it here for demo purposes) Thks! -- TeganDowling?

Solution: disabled wikilog.php (Cookbook:WikiCalendar recipe), thanks to PM!

(2006-07-05) I'm using CookbookExpireDiff? --the latest version.

It doesn't seem to work--I followed the instructions, adding to the config file as it lists. Still doesn't delete when one tells it to. Any possible ideas on what's been done wrong? I C/P'd the listed text into the proper config.php file, and it pops up a textbox in the history asking if I wish to delete history, as it says it will. It just doesn't actually -delete- anything. Any ideas?

(2006-06-29) How do I get a list of categories (as opposed to a page list of category pages)?

When a user creates a new category, eg [[!new category]] this doesn't create a page in the category group,

consequently if I have, say, on the category home page, a list of categories (aka a pagelist) it doesn't reflect the new category my user has created!

Don't know if this is too specific for your needs. By adding -PageName1,-PageName2 etc. to the PageList markup, the PageNames included can be excluded from the Category listing. Obviously only works on those specific pages, and not across the wiki in general. For example, this prevents the pages HomePage, SecretWiki and SandBox being included in the list of Categories --Des? July 06, 2006, at 07:28 AM:-
its got to work without manual action for every new category added, so thanks, but sorry, its too specific

(:pagelist group=Category list=normal fmt=dictindex name=-HomePage,-SecretWiki,-SandBox:)

I'm not sure that I understand what the difference is between a list of categories, as opposed to category pages, since categories are simply pages within the category group. If what you want is a list that doesn't create links back to those category pages, then create a pagelist template that does not enclose the reference to the page in double brackets, i.e. instead of * [[(=$Name}]] just write * (=$Name}. Then, when you add a pagelist directive that uses that format (to group=Category), the pagelist will generate a list of the names of categories (i.e., of pages in the category group), without creating links to those pages.
Is that what you were looking for? If not, do you want a list of links to all categories, but are worried that the listing will cause the listing page to appear on each category page? If so, I'm not sure that including a pagelist of categories on some page, lets call it NewPage, will cause NewPage to be listed in each of the pages in the category group.
I think the problem arises when using the method where the listing is created by placing the PageList in the Category.GroupFooter page, as described in the Categories page. I dispensed with this as it gave me a double listing when I used a customised PageList, and included pages where the Categories were referred to (as I think the original questioner found). I just create a Category/Categories page with a PageList similar to the above in it, and it seems to list only the Categories, and not any pages that refer to Categories (unlike the GroupFooter method). After testing Pico's NewPage thought (it didn't list NewPage) I found that the name=-HomePage, section appeared to be redundant too. --Des? July 06, 2006, at 09:21 AM
A category is the text placed in the markup [[!Your Category]]. Of itself it does not have a page in the Category group.Furthermore there are pages in the Category group that are not categories, for example Category/HomePage.


How do I refer to a category (eg [[Category/example]]) without joining (being listed in) the category (eg [[!example]])

Another approach

How I do understand the original question, is:

How can I find categories linked to (by using [[Category/something]] or [[!something]]), but not having the category-pages created (that is, when nobody cared to fill the Category.something page)

A first answer that gets to my mind is to use something like:

 (:pagelist "[[Category/":)

- that should list all pages containing "[[Category/" text in them - and this text usually means the page is linking to some category.

This solution unfortunately has some drawbacks:

  • it doesn't list pages using the [[! syntax - if you add second pagelist, you can get some doubled pages, and even if not, the sorting will be done separately. You can avoid this by forcing users to use the Category/ syntax, e.g. by disabling the [[! markup at all.
  • the list will generate longer than a simple backlinks list; still, in new versions of PmWiki it's faster (or not?...) than in old ones thanks to implementation of the indexing system.

(2006-06-24) When Pages are included with (:include:) in another group the text will be displayed but the pictures will not.

I could use the Groupname in the Attach-Markup like Attach:Groupname/Picturname.gif, but I think it's better not to define the path of an attachment so strictly. How can I tell PmWiki to load the Pictures from their original group?
I already looked up all the WikiPages telling anything about the include-Markup...

The simplest possible solution is the Cookbook:UploadGroups recipe, given that you don't mind if your images get attached globally to the site, not to certain groups.

(2006-06-19) Problems making the home page work with index.php?

Hi All, I have created the index.php file and put this in the same directory as pmwiki.php but when i go to my page it just shows my index of the files, but if i enter the full path to the index file it works, am i missing something. that is if i go to then i get the index of the files but if i go to it will work but i cant get it to go straight to index,php by just entering is this a problem with what i have doing wrong or is it a problem with my host/isp. can anyone help me with this please.

Most web servers look for index.html before looking for index.htm, and then, if that is not found, index.php. So, it sounds like you probably have one (or more) of those other files in your directory that is being loaded before (and instead of) index.php. If so, you can get rid of (or rename) those files, so that they are not being automatically loaded, or you can use them as a front end, or splash screen, to call pmwiki.php. Unless you have a particular need to use a separate index.html file, the easiest thing will probably be to just delete (or rename) that file (or files) so that index.php will be loaded.

(2006-06-13) How to add call to an external script ?

I have a set of scripts doing several stuffs. Some are made in perl, other in php, ... I'd like to have their result appear in pmwiki.

Actually, my question is how to make the page, for example GiveMeTheListOfHosts call a script named list_of_hosts.php and show correctly the result of it ? What variables should I fill in list_of_hosts.php ? What wrapper can I use in pmwiki ?


(2006-06-08) I got this information when I upload a file:

Warning: move_uploaded_file(uploads/IdeaBoard/charslist.jpg): failed to open stream:
Permission denied in /home/bbbw/public_html/scripts/upload.php on line 198
Warning: move_uploaded_file(): Unable to move '/tmp/php4GefOm' to 'uploads/IdeaBoard/charslist.jpg'
in /home/bbbw/public_html/scripts/upload.php on line 198
PmWiki can't process your request
?cannot move uploaded file to uploads/IdeaBoard/charslist.jpg
We are sorry for any inconvenience.

My host- recently upgraded php to 4.4.2 from 4.4.1. I searched mail archive, it's said that "Safe Mode" was turned on while you crashed such a problem.

Does anyone have some ideas on solving this? Thanks a lot!

I posted this on the list for you here and there are several replies (just click next message). Perhaps the best thing might be for you to read those and then add the solution that worked to this page.

(2006-06-02) I set the group password for reading the sites. BUT, I want only ONE site, which has no read protection... what can I do? Thanks!

I'm not sure that I understand your question, so let me start by making sure you know about the two main documentation pages and approaches for passwords. Passwords can be set by administrators by editing the config.php file, see PasswordsAdmin, or by authors by using ?action=attr to edit a regular page or the special page in each group called GroupAttributes. See Passwords. Sounds to me like you started down the narrower road of setting passwords as an author by using ?action=attr to edit the GroupAttributes pages, when what you may have wanted to do was setting broader site wide passwords as an administrator by editing the config.php file. If that is the case, at this point you may need to: (1) edit the config.php file as directed at PasswordsAdmin and then (2) go back and examine what you did as an author using ?action=attr to edit the GroupAttributes pages to see whether you need to undue your prior password settings. Hope that helps.

I know this - very bad English. Sorry. I want to set a read password for the hole group (via .GroupAttributes?action=attr). But 1 page shouldn't have this read password (I want to "clear" it with .Site?action=attr), it should be readable by everybody. Is there a easy way to do this or do I have to set the attributes for all pages (many pages) in the group?
What happens if you set the password for the group, and then clear the password for the page? (To clear the password on the page, you would probably have to explicitly go to the page and "assign" a password that means no password, which should be @nopass, but check the documentation to be sure).
Thank you very much, I hadn't found @nopass!

(2006-05-27) Why not use frame on preview page? I mean, there're 2 buttons under the edit textbox: "Save and edit", "Preview".

While I click these buttons, I hope to see the result as soon as possible. By using a frame, edit page takes 50% and view page takes the rest(horizontal). Once I click those two buttons, the frame of view page will be refreshed, then the new view appears. This method is far more convenience than what it is now.

(2006-05-24 #1) How do I put a word with an apostrophe as a keyword?

On the site where I'm using pmwiki (version pmwiki-2.0.13), when I use use something with an apostrophe, for example it doesn't convert it to a keyword, but just leaves it as text on the page. If I remove the apostrophe, it works as a keyword. If I try it as o'clock it appears to work, but when I look at the source code of the generated page, it has a bunch of squares and stuff instead of the word o'clock in the meta tag. I don't know much about search engines & meta tags though -- perhaps I should just leave it as oclock and it would work the same way?

I don't know the answer, but I might try using the ascii code for apostrophe instead of the gylph itself in the keyword. A useful trick I sometimes use is to type a string into the search box and compare it with the string that gets displayed on the address bar. For example, if I type "O'Clock" in the search box, the address bar ends with "O%27Clock". A google search confirms that 27 is the unicode html hex code for apostrophe. I'm not sure, though, whether you will need to type the code in the form &#27; or &#027;. Take a look at the Special Characters page for some more info about those codes.

From this version's Sandbox, I looked at the html source code it generated, and used the same thing in my version of pmwiki. Now, when I look at the html source code of both this version's Sandbox testing and on my 2.0.13 version, they look the same. Thanks.

(2006-05-24 #2) Question regarding anchors, included pages, and if/then/else logic:

For example, say I have Page01, Page02, and Page03, all fairly lengthy with unique anchors embedded in them (I'll refer to these as the Numbered Pages). I also have PageALL which just contains include statements for the other three pages. On each of the Numbered Pages, there are links to anchors which are either on the current Numbered Page, or one of the other Numbered Pages. Let's say that on Page01, there's an anchor link named anchor006 pointing elsewhere on Page01, and an anchor link named anchor007 pointing somewhere on Page03. Can I code it so that if I'm currently on the all-pages-combined-by-includes PageALL and I click on either my anchor006 or anchor007 link, it just jumps elsewhere on the current page without having to load up the smaller Numbered Page?
One approach might be to use Conditional Markup to select one of two alternate links (with, and without, the page name). For example, if you want a link on Page01 to refer to Page02#anchor006, then you could create two different links embeded in conditions, like this:
(:if name Page01:) [[#006|GoTo 6]]
(:if ! name Page01:) [[Page02#006|GoTo 6]]

While that may seem like a pain, you would only need to do that when you are linking to an anchor that originates on a different page from the link. One note of caution, make sure that your anchor names are unique, e.g., don't have anchors with the same name, i.e. #006, on Page01 and Page 02, because your links to #006. (I believe in such a case, the link will work, but will jump to the first of two anchors with the same name. Check it out for yourself. Maybe you might even find a way to incorporate such behavior into your system).

Looking at the Conditional Markup page: it seems to have exactly what I want:
(:if ( name Page01 ) OR ( name PageALL ) :)[[#006|GoTo 6]]
(:if ( ! name Page01 ) AND ( ! name PageALL ) :)[[Page01#006|GoTo 6]]

If the current page is either Page01 or PageALL, then jump to elsewhere in the current page, otherwise load up Page01 and then jump to the specified spot. But, either I'm not coding it correctly, or I don't have a new enough version of pmWiki (I'm using 2.0.13), because I can't get it to work (two "GoTo 6" links appear on the page). Hopefully, I'm just coding it wrong, but I have a feeling my version is too old to support this kind of logic.

(2006-05-10) I want to use a numbered list inside a table, but I cannot get the automatic numbers to be any color other than black. How can I change the color to something else?

(:table border=1 cellspacing=5% frame=border rules=none width=100%  :)
(:cell width=15% :)%purple%Column1:
(:cell width=85% :)%purple%blah blah
(:cell:)%red%this is the description
(:cellnr:)%purple%Notes A:
(:cell style="color:blue":)%purple%
#%purple%this is the first note
#%purple%how do I make the note numbers appear in a different color??
*%purple%no, not working
(:cellnr:)%purple%Notes B:
%purple%#%purple%this is the first note
%purple%#%purple%how do I make the note numbers appear in a different color??
%purple%#%purple%no, not working ''- order of style and bullet is wrong''
(:cell:)%green%more data here
Column1: blah blah
Number: 12345
Description: this is the description
Notes A:
  1. this is the first note
  2. how do I make the note numbers appear in a different color??
  • no, not working
Notes B:

#this is the first note #how do I make the note numbers appear in a different color?? #no, not working - order of style and bullet is wrong

More: more data here

Asked and answered

(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)

Web-pages (such as the wiki) are quite limited in what they can "spy" from page viewer, to protect viewer's privacy - and Windows user-name is among things not revealed. One possible method might be to fill the author name based on user's IP - but that's useful only if there won't be more than one person using the same computer. Second possibility might be requiring users to use passwords - that would make it reasonably impossible for people to pretend others - but wouldn't solve the problem of not needing to login. Then, storing password and login in a cookie would help - but cookies aren't a safe place when used in such way. Finally, it's possible to imagine an external program, installed on users' machines, doing some additional identification work - but it'd be quite a challenging programming task. I don't have any more ideas now.

(2006-04-28) I just upgraded my wiki from a beta (I installed it on 9-15-2005) to 2.1.5. My image upload seems to be broken now. When I go to the upload page, it displays links to the images that are in myurl/pmwiki/upload/, but each link is of the format myurl/pmwiki/pub/upload/Main/image.jpg. Is this a bug? Did I configure something wrong?

I figured it out. The answer was on the uploads help page and described how to fix this via the config.php file.

How do I change the group of many pages? I have made a lot of pages in the Sandbox and now I really like, what I did with PMwiki - but of course I want to get it out of the Sandbox and create a new group for these pages. How can this be done?

If you have FTP file access to the wiki.d directory, the easiest way is to rename the files with the new group name.

You could also see if the Cookbook:RenamePage recipe will do what you want.

Is there a way to access today's date (a PHP function) to, say, show overdue items in red, or items due today in black?

What is an overdue item? Is it a wiki page with a due date string as the page name perhaps? Or how would the due date be present in the page (we need page properties here, but pmwiki has not quite go them yet)? You could define a page variable for today's date in config.php, for instance like

# add page variable , formats today's date as yyyy-mm-dd
$FmtPV['$Today'] = 'PSFT("%Y-%m-%d", time() )';

and then you could compare today's date with the page's due date as the page name: use conditional markup like (:if equal {$Today} {$Name}:)The item is due today(:if:) Something similar could be used in a pagelist using a special custom format, so the pagelist will list items(pages) in a group, and will highlight today's due pages.

Is it possible to always open external sites (for example in a new window without always typing %newwin%?

Add to config.php:

$UrlLinkFmt = "<a class='external' target='_blank' href='\$LinkUrl'>\$LinkText</a>";

When I put the following in the wiki:

%center%centred text
%right%right aligned text

centred text right aligned text

then BOTH pieces of text are centered; how do I delimit the scope of %center% !?

Sometimes adding %% to the end of the line (not paragraph) can help - but not in this case, but this may help

%center%centred text

%right%right aligned text

centred text

right aligned text

The default scope is the paragraph. Insert a blank line to start a new paragraph to make it work. I'm not if it is possible without a new paragraph which also adds vertical space in between. If you cannot live with the vertical space you can still use pure HTML in this special case.

But the WikiSyles page claims "the style is applied to any text that follows up to the next wikistyle specification or the end of the paragraph, whichever comes first", but %right% *is* a wikistyle specification before the end of the paragraph, so why doesn't the scope end there?!

A solution for this is in development.

Some people has problem with editing a site. Seems that there are problem with some browsers with long lines in forms. Or it is a Wiki bug? I am using latest version. Also the RyeVoting extension seems to have problems sometimes... but can it be the browser? Thanks!

If you could be more specific, maybe someone could help. At the moment, I believe there are unfortunately way too much somes in your question.

About search/pagelist results: Is there a way to either list matches in the name of the page before the normal results (ie searching for "pie" puts anything with "pie" in the pagename at the top of the list, results with "pie" only in the page below that), or to limit it to only looking for matches in the pagename?

By default the search looks at page content. But you could do a special "name with wildcards" search, which will only look at page names, by entering name=*searchterm* into the searchbox.

I want to set up a "did you know" function on my front page. I tried to use the RandomQuote markup at first, which works but it can only do one line. I want it show about 5 "did you knows". How would I go about setting this up? I tried just adding the markup a few more times but that doesn't work, just uses the same quote everytime.

the new random quote script can have several include random directives, and they won't repeat on one page.

I do not want users to be able to show images from other websites on open wiki pages (I'm worried about getting into trouble for "bandwidth Theft")... Is there a way to disallow linking/displaying of offsite images?

See UrlApprovals. But it does not differentiate between links to images or links to web pages for instance. I think it would be good to ask the question on the user list.

How do I make the search box search for uploaded files?

You can't. search searches the wiki pages, not the upload directory.

How do I stop users from creating new groups? Sorry if this is obvious, but it isn't included in the documentation on groups and it's difficult to search for. Thanks.

See Cookbook:LimitWikiGroups

Thanks alot. That's exactly what I needed. Maybe there should be a link to that page in the documentation on groups? Anyways, I <3 pmwiki! Mike?

How does one prevent words from extending beyond menu borders when using extended menus cooks?

If words are too long it usually requires a change to the skin's css stylesheet to make the whole sidebar wider.

Can I force SSL for a page? I have a single page that I would like to force SSL to without forcing SSL to the rest of the site. I've seen how to force SSL for the entire site, but I don't want to do that.

Try putting such lines:

 if( $pagename == 'Your.Page' ) {

in your local/config.php file, where foobar is the "entire-site" solution you're talking about. Maybe that can help you.

How can I embed selected PmWiki page content inside an existing web page?

Basically, I'd like to add an edit capability to selected pages. Their layout is content managed and different, they already posses a group / menu structure. A pmwiki layout template admits some per page individualisation but does not integrate with the existing solution. Thus I don't want to outsource them as a separated wiki but I imagine embedding wiki page content like this

<html> ... <body>... ''custom layout and stuff''\\
<p> The next paragraph shows a list of common questions, feel free to add yours.</p>\\
<p><?php include(pmwikiembed.php);\\
pmwiki_page_content(PmWiki.Questions); // here goes the content of PmWiki.Questions\\
pmwiki_edit_button() // and the obligatory edit button\\
?></p> ...\\

Apparently, this approach should disallow the creation of new wiki pages and makes no use of the pmwiki group structure.

As far as I noticed, pmwiki.php fetches the $pagename from POST, GET etc. parameters. Encapsulated the follwing page processing in a function pmwiki_page_content($pagename) presumably would suffice as the pmwiki page layout already can be configured down to bare bones.

I have one WikiFarm with 8 fields and I would to know if it's possible to open a page of my field1 in my field2, like if the page is on the field2, without be redirect by a link on the field1 ? Thanks!

see Cookbook:IncludeFieldPage.

I saw that support for groups of users ("authentication groups"?) were added in 2.1beta8, but have been unable to find any information on how to configure such groups.

I have a wiki that's basically closed to non-members, but would like to make a certain subset available to several collaborators. I'd like the ability to make different sets of pages available to different individuals and would like it user-based, not just a password for a group of pages, as that's not very secure and harder to manage in the long run. Does the authentication groups mechanism added in beta8 support what I'd like to do? Is there a document somewhere on setting up these groups? Thanks!

See Site.AuthUser.

Under Authentication Groups at the bottom, it says:

This page can be used to define custom authorization groups (indicated by a leading "@" sign):

  # @editors: alice,bob
  # charlie: @editors,@visitors

... what is "This page" where we can define these groups in this format? Should I: $AuthUser['@editors'] = 'alice,bob'; or $AuthUser['@editors'] = 'id:alice id:bob'; or, hopefully, is there some file or page where I can actually just define it as specified in Site.AuthUser?

A: "This page" is the Site.AuthUser page itself -- edit the Site.AuthUser page to define groups. --Pm?

The AuthUser groups functionality doesn't seem to work as I'd expect it:

I want to keep the records of the users outside of the pages (eventually in a mySQL database). At the moment I have a .htpasswd* file thus:

  1. ...

Dave Test:$1$iU3.Dz1.$aPCjq./rHgsFNR/391cdU.

  1. ...

@editors: Dave Test

In the config.php I have

$AuthUser['htpasswd'] = 'local/0.htpasswd';

  • The file is called 0.htpasswd because windows won't allow me to have a file without a name; well it won't let me create one.

Where am I going wrong?

Just to add an extra bit

Dave Test can log into the wiki with the password "@editors", which isn't what I want at all! The wiki is going to be used for collaboration in a similar style to Lotus Notes - unfortunately I can't give access because it's behind several firewalls...


Is it possible to change the file names create automatically by PmWiki? The files I'm talking about are: Category.Category; GroupName.RecentChanges; GroupName.AllRecentChanges; Site.Form;Site.Preferences;Site.Search;Site.GroupAttributes;Site.PageNotFound;Site.PageActions and all the files that have a fixed name for it.I'am doing a site in Brazilian portuguese language and they also requested to change the name of the files and It got me worried about loosing some functionality. Thank you.

Yes, nearly all filenames can be changed via various configuration variables in PmWiki. I'll see about compiling a list.

I want to create a three level hierarchy for my wiki. A.B.C I read about categories and tried to use it but still if I am on Site C and want to go back to A.B pmwiki wants to create a new B Site. With A.B going back to A everything works fine. And I dont understand this subpage markup stuff. Is there a possibility for Non-Coders to create three level hierarchies?

See PmWiki.HierarchicalGroups.

Is there (or will there be) a way to include OpenDocument text in PmWiki as an alternative way of "Basic Editing"? (Currently you have to decide wether a text may be reusable or not. If the text may be reused someplace you won't put it in the wiki as you would have to do all the formating again after including the text in Word.

Help! On our "All Recent Changes" the Wiki now resorts to using a ? for the author rather than the actual author's name (after logging in). Any ideas of how to solve this? Thank you in advance.

Main.HomePage . . . Mon 14-11-2005 12:22 by ? Calendar.20051102 . . . Thu 10-11-2005 15:05 by ? Main.SideBar . . . Thu 10-11-2005 14:20 by ? TechUpgrade . . . Thu 10-11-2005 12:39 by Liam

I keep getting this error after I copied over my wiki.d/ and config.php to a new server, any ideas as to why?

Parse error: parse error, unexpected $ in /var/www/htdocs/pmwiki/pmwiki.php(816) : regexp code on line 1

Fatal error: preg_replace() [function.preg-replace]: Failed evaluating code: ' '.str_repeat('<br />',strlen('\')) in /var/www/htdocs/pmwiki/pmwiki.php on line 816

I am editing a page from my own wiki at and when trying to save, I get: This post has been blocked by the administrator!

Why is that? I normally have enabled mt-blacklist.php and e-protect.php, but I commented them out in local/config.php, but this makes no difference? I am stuck here... Additional info: When I removed the "code block", that is the section of the text that was copied from a configuration file (/etc/apt/sources.list), I could save the document. The way I treated this section was to use a single space as the start of each line in order to get it "un-touched" by Pmwiki.

I wish to have a right margin per page to install a debat php shoutbox per page.would a right side bar do it ? like an indépendante right side bar per page ?

Skins:Gemini, Skins:FixFlow and Skins:Triad are using a RightBar page as part of the layout, which can be configured per site, per group or on a per page base.

Is it possible to have indépendante side bar per différent group ?

Most skins (including the PmWiki default) allow every group to have its own sidebar. Simply create a page in the group called "SideBar" and it is used in place of the Site.SideBar page.

Is there a way to synchronize two PmWiki instances - e.g. a central server with a local instance on a laptop for offline usage?

Yes, copy the wiki.d folder to your portable with a file copy tools like robocopy (Windows)

This is copying, not synchronizing. The latter one would mean: Changes on an e.g. central server are copied to the local instance, but also vice versa. (The timestamps in the history should make it possible to find out which change was the last one, but it is nevertheless not that easy to resolv clashes. Imagine to paragraphs A and B, A is deleted on the server, B later on the local instance while A is kept on the local instance. What should the merged instance look like? Empty document? Only A? What if paragraph A was changed on the server before deleting? ...?) Maybe there is already something done for this?

Cookbook:AuthUser vs. Cookbook:UserAuth

I know one or both of these have people working on their development, but could we get a comparison of these two vs one another and vs the default Group/Page Authorization? Is there already a page with this info?

Is it possible to allow user registration? I searched the site and found no answers. The only way seems to be that the admin has to add users manually?

At present (20-Oct-2005) we don't have user self-registration.

I installed the beta54 version. I got some php errors. The errors I recieved were as follows :

Warning: session_write_close(): open(C:\PHP\sessiondata\sess_d47ee2b2746e04b6c717e301938216f8, O_RDWR) failed: No such file or directory (2) in C:\Program Files\Apache Group\Apache2\htdocs\pmwiki\pmwiki.php on line 1248

Warning: session_write_close(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (C:\PHP\sessiondata) in C:\Program Files\Apache Group\Apache2\htdocs\pmwiki\pmwiki.php on line 1248

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Group\Apache2\htdocs\pmwiki\pmwiki.php:1248) in C:\Program Files\Apache Group\Apache2\htdocs\pmwiki\pmwiki.php on line 694

I tracked this down to a bug in the auth feature. I attempted to correct the bug and removed the errors, but the auth no longer worked. If you can figure anything else out, please let me know. ausmal(at)nospamaol(dot)com (Remove nospam)

This looks like a bug in the PHP configuration or setup on the server, not PmWiki. The value of session.save_path is incorrect.

Also, check to make sure that your session.save_path directory exists. If it doesn't, it won't be created and the above errors will occur.

I have just set up PmWiki and it displays the main page fine. I would like to import a document tree from another web server and install it on my new Wiki, replacing the PmWiki home page with the top-level page of the document tree. All pages in my document tree are HTML only. Can this be done? If so, a pointer or two would be really appreciated. Please email: ricst (at) usa (dot) net.

I want change this CSS code,but I don't know where I can edit it...Can you tell me the path? Thanks a lot....

See FAQ#customcss

Fight spam - can i avoid that other people create "new pages" while keeping my wiki open (no passwd) for content changes?

How about putting an easy password and say explicitly : "to avoid spam, you need to enter this password in order to edit the page"... after all, bots don't know how to read.. yet

How do I change the default home page from Main.HomePage to OtherGroup.OtherPage?

Set in config.php: $DefaultPage = 'OtherGroup.OtherPage';

I've done that and nothing happens. Any ideas? - Renato - January 5th, 2007

I've just installed PmWiki on a Linux server that uses cgi-php. Will this affect the pmwiki.php file functionality?

For the most part, everything will work the same. The biggest difference occurs if you try to use HTTP-based authentication instead of session-based authentication (PmWiki's default).

How to update the PmWiki?My system is Windows XP,and use SSH client to connect the Linux server.....I can use the zip file only...thank you

If you're connecting to the Linux server via SSH, you may find it easier to use the ".tgz" distribution. Simply copy the ".tgz" file to the new server, unpack the distribution using "tar", and then copy the resulting files into your existing PmWiki directory. See PmWiki.Upgrades.

Can you tell me how to clear up the history by hand but not by $DiffKeepDays?

thank you very much.... I'm from China....

A1: Take a look at Cookbook:ExpireDiff for a recipe to remove history by date.

A2: With FTP file access download the page from the wiki.d directory, then open it in a text editor. After editing upload the file again to wiki.d/ directory. Be careful when you manually edit the page file. The content of the current version is near the top, followed by all the history revisions. You can remove the revisions from the bottom, and some of the material from the top, too. See this list of fields to keep: PageFileFormat#creating

I just downloaded and succesfully unpacked the i18n.tar-file for internationalization. How can I make the system to create e.g. the approriate 'PmWikiDe.XLPage' file in the appropriate directory? Is the target directory wikilib.d? (- If there are no XL-files it is not surprising that a call to this page in the config.php has no effect). What is wrong or where is the misconception? Thank you for help ... . Ulrich

You can put the PmWikiDe.XLPage into wikilib.d/, together with all the German documentation files. If you subsequently edit it, the edited page will be in wiki.d/

Im trying to do a danish translation. But I can't get it to work.

I have created a PmWikidk.XLPage (based on Localization.XLPageTemplate? page) and put it in wikilib.d and i have add the function call XLPage('dk','Pm.XLPage'); in local/config.php but nothing get tranlated :-(
NB If I echo the value of $text in the XLPage function it is empty
Any ideas ?!?

Followup : I just copied another XLPage and edited it. So now it

Any change you could post your translation here? --Pm?

Are there any tools for saving the contents of PmWiki into wiki-formatted file(s). Or into LaTeX? Or some form of XML?

Is there any way to exclude some pages while using the $RecentChangesFmt method to show the latest modified pages? Thanks. - Pedro

If the number of excluded pages is small, you can create a per-page customization for each excluded page, and then set $RecentChangesFmt = array(); in each. This will turn off RecentChanges for those pages.

How do I enable PHP in local/config.php?

Ummm, PHP is already enabled.

Where do I get support for custom tags?

How could I put php and htm code in my sidebar ?

One easy method is to edit the skin's template file and add the html or php you need there directly.

I am happy with my wiki, but I have a problem I can not solve.

Sorry to ask it here, I went all over to see where I could find an anwser but no luck. This my local/config.php file:

$WikiTitle = "COOP ZEN HAPPY";
$PageLogoUrlFmt = "";
?> But nothing happens when I start my pmwiki, once I got the picture, but not the text, and now I get the default page. Could you help?

Is there any way to make the page title not be capitalised?

For example, I make a link tablename? and it links to a page called "Tablename". I want it to link to a page called "tablename".
thanx, bomdemais (Sorry if this is the wrong place to ask questions - I didn't see a forum)

PmWiki uses capitals to create valid page names. You can change the titles for individual pages with the (:title:) markup, i.e use (:title tablename:).

To change the page titles for every page, add the following on each page

(:title {(ucfirst "{$Namespaced}")} :)


(:title {(lower "{$Namespaced}")} :)

I'm having trouble setting up security.

I set up the Default-Passwords for 'edit' and a blank page comes up when I go to edit (how do I make the password page come up? And how do I sign on as admin?). I also have the same results with action=attr. Can you help? I'm using version 2.0.beta12. --Tony

First I would suggest updating to beta54 It's a huge jump.

 Then please give more description of the problem.
  1. Does it work right without the 'edit' password in config.php
  2. There are several site passwords in config.php 'admin', 'read', 'edit', 'attr', 'upload'. Are they commented out ("#" in front of the line)?
  3. Is it a blank page with or without an edit area?

Which variables/functions do i need to set, in order to display dynamic content on a page, for example a contact-form.

Thinking of a syntax like (:myscript mail:)?

For some layout-modifications on my site i needed to change background-images on different sites. Therefore i raped the "Attach:"-markup:

e.g. bgimage:flowers.jpg (within the page) and following script in my included bgimage.php.

$BGImage = "bg_white.jpg"; ##standard-background-image

function getit($pagename,$imap,$path){
  global $BGImage;
  $BGImage = $path;

... i don´t think thats very clean, but it works. that way i can change some environmental variables, but i also need to output dynamic content on the wikipage. - Please help!

Is it possible to use the CustomInterMap to allow WikiWords to be links to external sites, without having to specify a destination point?

ie, can I put something in the InterMap so that the WikiWord RRDTool always links to without having to go through the pain of entering it as [[ |RRDTool]] each time?

This probably ought to be a cookbook recipe. --Pm?

Q : Is there a way to search and replace strings ?

Is there a way to see which actions are protected with a password?

You need to look at the page attributes by adding ?action=attr to the page url in the browser address bar. and check the Group aatributes by opening GroupAttributes?action=attr

How do you set up user rights for PmWiki intranet?

I would like to setup a website using PmWiki that is completely access restricted (intranet). In order to be able to read content a user must log in first. The login page itself, however, must not be access restricted. How do you do that in PmWiki?

So far I have given all individual users the following rights (userauth.php):

In config.php I set the following:
## $DefaultPasswords['read']='default_pw_read';
## $DefaultPasswords['edit']='default_pw_edit';

If I uncomment the "read" default password the whole site is password protected but a user then needs 2 passwords ...

Thanks for a little hint ...

Anyone ...? ;-)

This is something that Cookbook:AuthUser does rather easily, unlike UserAuth. If you were using AuthUser, you could just do $DefaultPasswords['read'] = 'id:*'; which would restrict reading the pages to anyone with a valid id.

How to get $WikiTitle not to be a link?

I don't want any implicit Links on my Wiki. So I used $LinkWikiWords = 0;. But $WikiTitle is still a Link on I don't have set $WikiTitle to be a link, so it shouldn't be a link.

Check your template. It's probably a hyperlink there. Just remove the hyperlink, and leave the $WikiTitle, and that's what will show up on your wiki pages.

After following installation steps, editing of pages fails without any errors: when clicking save, save and edit or preview edit window reloads with all changes lost. Please advise.

Unfortunately, we need more details for this one. Try sending your problem to the pmwiki-users mailing list.

How can I add pages into my pmwiki site programmatically?

That is to say, add pages to my wiki without going through the web interface to add content. (I have a database driven, dynamic web site which I would like to convert into a wiki. I would like to write software to spew out pmwiki pages by reading the db and writing out pages. I would do this once to "seed" the wiki and let it grow organically from there.) Is there an API or file format/structure that can be used?

I had this same challenge with ~1200 pages and did some study. There are only 3 fields necessary to create a pmWiki page as explained here: PageFileFormat. When you're done make sure you have the correct file permission to read/write the file from pmWiki. I spent an hour trying to figure out why I couldn't see my files from pmWiki and I finally remembered to check permissions. chmod 664 * or chmod 666 * should do it (note these commands change file permissions from within a terminal session.

That gets someone most of the way there, but (:pagelist:), doesn't know about $Title values, and refcounts are all wrong for each page that hasn't been edited via PmWiki.

Is there someway to ask for a global update? I could swear I saw some code to do that somewhere on this wiki once, but I can't find it again. StirlingWestrup?

When I upload a file to my pmwiki using the attach, the file successfully gets uploaded...i.e.

I get "test.txt: successfully uploaded" at the top of the returned page and the file exists in the upload directory. However, I do not get the "list below" Step 3 which gives me the example of how to post that file. I hope that made sense. Any ideas how to fix?

Could you expand on "I do not get the 'list below' Step 3..." part? By "do not get" do you mean that something is missing, or do you mean you "don't get it", as in not understanding the instructions?

How do I rename a group without copying, recreating and pasting all pages in a new group?

Connect via FTP to your web-server, go to the directory wiki.d and change the groupname of the desired file(s). Or have your administrator install the Cookbook:RenamePage recipe.

Problems with uploads (especially graphics) with standalone version of pmwiki 2.0.6

I have used the standalone package in order to install the pmwiki on a Windows XP machine and use the monobook skin. Everything works fine except uploads. config.php contains the following lines:

 $EnableUpload = 1;
 $EnableUploadOverwrite = 0;
 $UploadDir = "uploads/";
 $UploadUrlFmt = "http://localhost/wiki/uploads";
 $UploadPrefixFmt = '';            # sitewide attachments
 $DefaultPasswords['upload'] = crypt('upload');
 $UploadMaxSize = 200000;

I can upload pictures to the directory /uploads by using e.g. [[Attach:exmple.jpg]] on a page. The link is red for showing still not available (monobook skin specific). After uploading the picture, the link turns blue to show that the specified link is available. Putting my mouse on the link shows the correct directory http://localhost/wiki/uploads/example.jpg However, clicking on the link leads me to the page http://localhost/wiki/Example/Jpg with the comment: "Describe Jpg here." So I am not able to view any pictures that are uploaded on my local implementation.

Does anyone have a clue as to what went wrong in my approach? Any other details you need from my local installation?

I have problem with sidebar.

I want every action to require password and it's working fine but how can I make editing sidebar asking passwd too? Now anyone can edit sidebar.

The sidebar usually is part of the Site group. It would be a good idea to set a special password for all pages in the Site group. To set a password for the group, you access the GroupAttributes page. For more information, see Passwords. -Jefferson
You should set the same edit password for Site.SideBar as your site password you set in config.php. Set it via Site.SideBar?action=attr. ~HansB?

How do I browse my wiki offline via a web browser? I want to view my wiki on my local machine.

You need a program to download all of the files and follow all of the links. At there are a number of programs called offline browsers.

I found a great program called HTTTrack which can be found at It appears to be an open source GPL'ed program. It will download your wiki to a folder on your hard drive. A tip on using HTTTrack or other website copiers is to not follow any links that have action= since these involve things like editing.

the actual links is [the page|the legend] is it possible to have [the page|the legend]|title to explain briefly ?

thanks, Pierre79

'the page' means the URL (pagename, link, address where to go or where to redirect your browser) 'the legend ' is the text to show instead of the text of the URL

[[PmWiki.Questions|Go to questions page]] Jiri

Go to questions page Jiri

I know : the question was : how build a link with a title, a tooltip

(:div title="This is a tooltip":) [[PmWiki.Questions|Go to questions page]] Jiri

Is autovoting possible?

I am interested to learn about the possibility of including two different voting opptions in every page or section (splitsection) when they are created without the user to insert one of the kind. Is such an automation possible? Is globalsettings module is of any help? New to PMwiki, so be explicit. Thanks! Sichendra

How do I include a documentation-licence or a disclaimer into the editing page?

You can edit the page "Site.EditForm" to achieve this.

I set the edit and attribute password of a site.

(Before it had been a guestbook with commentboxstyle.) Because of spammers, I removed the input form of the header and set the edit password of this site. BUT: Every day, some spammers still edit it!! Why? flox? April 11, 2006, at 12:17 AM

Is there a variable, for example $CreatedBy, like $LastModifiedBy, where I can get the creater of the site? Also a variable, which shows the date would be cool! flox? April 11, 2006, at 12:17 AM

How do I put an image (e.g. from a local disk) on a page if the filename contains spaces.

For instance: Drive:/My Image.gif. This will show 'Drive:/My' as a link and 'Image.gif' as a piece of text instead of 'Drive:/My Image.gif' as an image. tdoo? 13 April 2006, 13:15

First, ideally: you change the name during the upload process to close the gaps. An uploaded file does not have to have the same name on the server that it had on your source disk. Second, for files that have already been uploaded with spaces in their names: in wiki links, replace the spaces with the code %20, for example use Drive:/My%20Image.gif.

When login in with admin password (set in the $DefaultPasswords) the authid does't reflect the authentication.

After login the (:if authid:) still reports false. Isn't admin also a user? Shouldn't the authid be true?

I really would like to know why PayPal or Amazon are used, when other options exist.

  • So what options are available or where considered for accepting donations, credit card payments?
  • And why was PayPal and Amazon chosen over other options?

How do you delete a page on

Replace the content of the page with the word "delete" and then save the page. See DeletingPages.

I am trying to use PMwiki in my company, internally.

I try to make links to local files, using "file:U:\directory\file". The links do not work, why?

Those links are usually disabled by your browser. The recipe Cookbook:DirList provides a workaround to using file:// links. --Petko? January 18, 2011, at 02:13 PM

I'd like to create a page listing all pages within a category,

looking like "fmt=#forum" in Cookbook:PagelistTemplateSamples, i.e. a table with some columns like Fullname, LastModified and LastModifiedBy. I am not an advanced user, can somebody help me?

I would like to use ReStructured Markup in pmwiki? Is it possible?

I followed the installation instructions and the mainpage of the wiki displays fine, but when I click any of the links I get... "Security Alert! The PHP CGI cannot be accessed directly.

This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGI variable is set, e.g. via an Apache Action directive.

For more information as to why this behaviour exists, see the manual page for CGI security.

For more information about changing this behaviour or re-enabling this webserver, consult the installation file that came with this distribution, or visit the manual page."

How can I fix this?

I've tried putting

" Action php-script /cgi-bin/php AddHandler php-script .php "

Into my Apache config file...but it has not worked. Any help is appreciated thank you!

Q. Is there a recipe for using a mysql database instead of flat files? What would need to change for this to be implemented?

I would like to display a list of all the pages that appear in two categories. Let's say I would like to know all Animals that are also Pets. How to do that ? (pagelist link=Category.Animal,Category.Pet) doesn't do the job.

Don't know if this helps you, but as all Pets are Animals, would be enough.
I would name the page e.g. Animal.Dog and write [[!Pet]] in the content. Then you can make a pagelist group=pet and list all pets. How can you have pages in two categories? I think that's impossible.. link=Category.Animals always lists pages that are named Animals.Animalname but Animals.Animalname can be in the grounp pet, tame, ugly, fluffy, carnivorous etc.

OK, but what I have movies in different categories and I want to know all movies that are both a comedy and a western ? Those pages would be in at least two categories (comedy and western). How can I list those pages ?

Is it possible to have charaters like commas, spaces, parentheses, single and double quotation marks, em dashes etc. in page names? If so, how?

Some answers to this are in the pmwiki-users thread at

Q. I want to create a Wiki page dynamically with a script and include it or import it into the Wiki. How can I do this? See Cookbook:ImportText, and PageFileFormat

If your script will create files, then you need to provide think about the following:

  • Where to save it? Ussually in the directory called wiki.d/ but that can be changed and the value is controlled by $WikiDir (click on $WikiDir now to see the appropriate section in the documentation for PathVariables.
  • What to name it? The format is GroupName.PageName
  • How to structure the contents? PmWiki looks for a line that begins with "text=" and uses the remainder of that single as the underlying PmWiki page markup (what you see in the text edit box). There are many different lines (fields) that get saved in a file by PmWiki, but only a few are required. Pm suggest the following three as the minimum: version= text= and ctime= See PageFileFormat
  • How do I tell PmWiki about the new page I created? If you create a new file and then edit it through PmWiki, then PmWiki will know everything it needs to know when it does a save. If you want force PmWiki to know about the file before it is edited and saved, you need to hook into PmWiki's existing function(s) for storing pages. I believe the relevant function is called PageStore and a see a reference for that at FunctionList
    • For more information about this, do a search on the MailingList for PageStore and narrow it down to the threads during the past month (or two) between Pm and Ben Stahl (sp?) or containing "mySQL" or database. There are also many references in threads between Pm and CaveMan involving "Zap" or "FAST", but the most helpful may be Pm's posts to Ben.
    • In general, CaveMan has been doing this in his various recipes called ZapData and FAST Data (and variations starting ZAP* and FAST*). Find the most recent one and look at the php code).

I just set up a PmWiki. I changed all the attr fields to the same value. But now I never get prompted to login and I never get any links on the left navigation.

So the site is basically useless to me. How I can "unlock" all the pages? I've tried a variety of things to no avail. Now action=attr does nothing as well. Help!

If you set the attributes in a group attributes page, you should be able to find the GroupAttributes page(s) on your server using an ftp program and just delete it. Caveman?

All of my page names are dates in a particular group (ie Group.YYYYMMDD) and I would like the following:

  1. From any valid, display it and the previous two entries
    • Group.20061225 - Christmas post
    • Group.20061223 - previous post
    • Group.20061213 - previous post
  2. have a wiki trail that will show the third past/previous post and the third next post.
    • Group.20061212 | Group | Group.20070123
      • Note that there are Group.20070103 and Group.20070113 posts.
    • If there isn't a previous third or next, don't display anything...
  3. or have a trail that shows links to every third (or fourth, etc) post like Prev|1|2|3|4|...|Next

See Cookbook:WikiTrails and in particular Cookbook:DynamicTrails or Cookbook:DynamicWikiTrails, also wiki trails

How can I get a plain (non-javascript) TOC (Table Of Contents) generated from the headings on the page?

I know of Cookbook:QuickPageTableOfContents, but I want the TOC be plainly listed on top of my pages. Try also Cookbook:PageTableOfContents

How can I have new pages created containing some default text such as: date of birth, location, etc. ?

See Cookbook.EditTemplates?

How can I redirect a Pmwiki page to an external URL? I read up on PageDirectives - specifically (:redirect:) - but external URLs are restricted for security.

Why aren't changes being logged in Main.RecentChanges or Site.AllRecentChanges? (I'm getting a blank page after saving, so I don't think it is parsing through all the $EditFunctions that it should.)

Since you mention Main.RecentChanges which is no longer used by the current PmWiki versions, I assume you're in the process of upgrading from an older version? Try deleting Site.AllRecentChanges to see if it's written correctly when starting from scratch! (I remember that helped me when I was upgrading.) --Henning? June 20, 2007, at 11:15 AM

Site.AllRecentChanges already doesn't exist. You are correct that I was in the process of upgrading, but I only ran the upgrade after discovering this problem in the hope that it would fix it. btw The question below [now a part of the question above, Henning?] was supposed to be a footnote to this question - I'm running PmWiki on a local install of Apache (for testing/dev before "go live"), and I tried uploading what I had to a proper server to see if it was something with my Apache/PHP install. Bizarrely, on the server, Site.AllRecentChanges works, but the individual history pages don't update! Somewhat confused. Chris? June 20, 2007, at 02:08 PM

This sounds a bit like the problems I had when upgrading. Have a look at PITS.00500? and PITS.00378?, there be something in there that applies to your problem as well. (I have to admit that I don't remember any details, so I'm glad the PITS are still in the archive :-) The MarkupExtended recipe was responsible for some of the symptoms I had - perhaps you are using it, too? --Henning? June 21, 2007, at 09:12 AM

I'm not using MarkupExtended, and $RecentChangesFmt is not defined in any of the recipes I am using. I have just found out that my AllRecentChanges page does update - but only when I delete pages. Any more suggestions gratefully received, it's going to be a fair while before I need to upload anyway. Chris? June 23, 2007, at 07:20 AM

I'm afraid I don't know what to try next :-( Sorry I couldn't help! --Henning? June 25, 2007, at 09:58 AM

Sorry for the delay :) Pm has kindly unblocked my IP address so I thought I'd better update this while I'm here. The problem was a combination of the server and the web browser. I changed servers and everything seems to work quite nicely, except saving pages goes into an endless loop with this dodgy web browser (AWeb). Curiously exactly the same thing happens on - you'll probably see that I've made several edits without changing anything in quick succession in the history, before managing to stop the connections. I'm not sure where the problem lies, so I'll leave it at that. Thanks for your help anyway! Chris? March 03, 2008, at 04:02 PM

(:searchresults:) is only returning "X pages found out of Y pages searched."

I set $DefaultPasswords for admin, read, edit, upload, and attr. I set $EnablePageIndex = 0; and $EnablePageListProtect = 0;. I set the GroupAttributes of several groups to have @nopass for read only. When a visitor searches for something, say "Saturday," the (:searchresults:) pagelist only displays the "4 pages found out of 37 pages searched," but not the results/pagelist itself. When I login as an administrator, the search works fine. Is there some attr somewhere that I am leaving out?
A: The reason my search results were not appearing was because the search results format on the Site.Search page was not permissible to read. When I changed the attributes (?action=attr) for read to @nopass for Site.Search and Site.PageListTemplates everything worked dandy. I guess I still don't understand why the search allowed me to see the search format in the first place, even if it didn't list the results. How did the format and number results get through the permissions? Anyway, problem solved. (Diafygi?, July 6, 2007)

Is there any way to have categories in languages other than english? I tried to do it standard way and (translation from russian) instead of "action" I got "ac tion". Is there any way to avoid this (PmWiki 2.2.0 beta57)

Author: Vasanth

Question :

need help in resolving the issue -

Suppose I've hit a link (new page link) near the bottom of a long source page so that the top of the source page has scrolled out of view, then the new page *position* does not return to the top, rather stays at the bottom.

ex:- Suppose the link is @ 60th line of a page, when i clik on the link , normally it shud take me to first line of the page but the cursor(page position) is starting @ line 60, i had to scroll up to see the page.

currently we are using IE7 and IE6 on WinXP/WIn2000Server. this problem is with every browser in our LAN :(

Is there something I can do about this?

Hm, not sure what you mean. Are you viewing the original page with ?action=browse and click a link with a URL of another existing page so that you get an ?action=browse there, too? Or does the link refer to the same page you are already browsing? --Henning? July 17, 2007, at 06:36 AM

How can I have an RTL PmWiki and customize and Translate PmWiki for rtl languages such as Persian, Hebrew and...? If it needs programing can you tell me what I should do with PmWiki and where I should begin, Please?

'''Q. I don't know if this is a technical issue or a site management issue. I'm spending lots of time creating pages with links, fonts, outlines, page sections, etc. that look just right. Is there any way to password protect (or otherwise restrict) edits on my original text/formatting? I just want people to be able to add information below each heading/section, without the ability to mess up my formatting. If there is no technical solution, does one have to just monitor page edits on a daily basis?'''

You could look at the various recipes for comment boxes under Cookbook.Cookbook#FormTools?. I'm not sure if they provide exactly what you want, but I think at least the issue has been discussed there. (If there is no way around comment boxes, I'd suggest to do as much of the formatting as possible over the CSS - fewer opportunities for others to mess that up :-) --Henning? September 04, 2007, at 11:31 AM

I am trying to add the ShowHide feature on my wiki site but it just wont work.

It displays the link (show/hide) but doesn't hide the text even when it is initially set to hide. Here's what I used:

(:toggle  init=show div=box1:)
>>id=box1 border='1px solid #999' padding=5px bgcolor=#fed<<
my text here

(:toggle init=show div=box1:)

my text here

Thanks for the help.

How do I disallow anonymous edits?

In other words, I want only registered users to be able to edit a page. But I still want anyone to be able to see all pages. I assume it's just a setting or something? Thanks.

To disallow anonymous edits, it seems that you'd have to password protect edit rights for all pages. I guess you have already set up a user group for your registered users with edit rights, so that logging in would give these users the desired rights. --Henning? October 05, 2007, at 06:50 AM

If you mean "How do you require an author to enter a name in the Author field" see $EnablePostAuthorRequired

Is there is user-friendly way to create new pages? My readers aren't very techno-savvy and telling them to link to a nonexistant page and then follow the link tends to make their eyes glaze over. And don't even think about telling them to edit the url!

One possibility would be to use the Cookbook.New Page Box Plus? recipe.

I've been asked to make the logo on our wiki link back to a different website than the main wiki page, see The UC logo needs to link back to the main UC website at I have searched the FAQs and various discussion lists but can't seem to figure out how to do this. I'm not fabulous with PHP either, so step-by-step instructions would be VERY much appreciated! -- Fleep, 10/9/07

I believe you could simply change the HTML template and hard-code the logo URL there. It could be that it is some kind of variable originally, but I switched to hard-coded URLs a long time ago anyway :-) --Henning? October 10, 2007, at 07:28 AM

How do I center a div and not have text wrap on either side of it? Something like this, I suppose:

| text text text text text |
| text text text text text |
| text text text.          |
|                          |
|      *************       |
|      *    DIV    *       |
|      *************       |
|                          |
| text text text text text |


I want to prevent certain lines in a file from being included.

Is there markup I can use to achieve this? Something like this, I suppose...

Text to be included.
Text not to be included.

I mean for purposes of including the file in another page with the (:include:) markup. In my above expample, "Text not to be included." would be visible when viewing the page normally, but if the page were included in another file, it would be ignored.

On original page, say it's named Group.Source, you have

Text to be included.
(:if name Group.Source:)Text not to be included.(:ifend:)

OR else on Group.Source, have

Text to be included
Text not to be included

and on including page, use (:include Group.Source#incl#inclend:)

Note that the two anchors can be named anything.

Can I change WikiTrails to show the pages $Title variable instead of it's name?


How do I customise image captions from local.css or pmwiki.css?


Could anyone please tell me how I might go about having a little box on each page that summarises the page's access permissions?

For example, for a restricted-read page, a message that reads `this page is viewable only by logged in users.' Thankyou!

I don't like how everyone is able to view IP addresses by hovering the mouse over the author's name. Is there a way to disable this and only allow administrators to be able to view IP addresses?

I would like to have at least most important PmWiki documentation translated to my language (in this case, Polish) - either by someone else or by me; how can I know there is someone working on such a translation to avoid duplicating of the work? how am I to make my translations accessible for all?

From the StateOfTranslationTemplate? seems such an information should be on StateOfTranslation page, but it does not ever exist.
I need a place where I can tell "I made a translation page Xy, but with a problem P, can any kind soul fix it?" JerzyTarasiuk?

I added some information on PmWikiPl - a link to PlTranslationPage

   and I uploaded my translated page; it had problem with WikiTrails, which are not shown as on original.

(:pagelist:) does list all groups and pages!

I can't figure this out, and I can find no mention of similar problems anywhere. I'm just trying to list all groups in the side bar of but it's not working. —Sam Wilson? June 02, 2008, at 06:53 PM

Right0, I figured it out (after reading this pmwiki-users post: the pagestore MUST end with {$FullName} and not just {$Name} as I had it. I've renamed all my files, and all is as it should be. —Sam Wilson? June 02, 2008, at 07:46 PM

A number of users have complained that they would like their IP addresses to be invisible to everyone except administrators. Is it possible to disable or restrict the IP address view mouse-over function? E - November 4, 2009

When i search a word in my wiki i wish find all words with and without accent example i search chateau i will find pages with chateau, château and if i search château i will find pages with chateau, château how can i get it? Thanks. Jean.

Is there a way to make the upload and attach fit into a single interface?

For instance, you want to attach an image file to a page, you don't have to type the name of the file when you're attaching it after uploading. When you click the attach button, you'll just look for your file and then after selecting your file, the markup for that image is already generated.

Yes, use, say Cookbook:UploadForm and Cookbook:ThumbList.

See for example a template upload form, place this say, in the group header.

Then place a thumblist or thumbgallery direct in the group footer, or in the page (an example) simon? July 22, 2010, at 06:50 PM

Command { $ LastModified } is to get time and date of last modificated page .

Is there something similar for file that was attached?

Why are translations not loaded ?

I've downloaded and installed the language pack for Norwegian in my wiki, added the XLPage line to the config.php according to the Internationalizations directives but the translations are not loaded. Everything is still in English. Any idea why this is so ? --Andreas? March 14, 2011, at 07:26 AM

How can I properly indent a block?

I've tried it this way but it looks sometimes very ugly (second or third border)

-->%block border='1px solid' padding='3px'%[@


I need to upload hundred images. How can I upload them in the same time rather than upload them one by one?

June 06, 2011

You can upload them via FTP/SCP/SSH. See also Cookbook:DragDropMultiUpload.

I'm customizing a PHP page, and I'm trying to use an absolute link to a file as I build my html. I'm doing this:


but it's coming out like this:

"<a class='urllink' href='' rel='nofollow'></a>"

It's supposed to be this:

<source src="" type="audio/mpeg" />

but it's coming out like this:

<source src="<a class='urllink' href='' rel='nofollow'></a>" type="audio/mpeg" />

(I've replaced the actual domain with this one, and simplified the paths a little.) What am I screwing up?

PmWiki automatically creates links of URL addresses in the page. To protect the plain text from processing, surround it with [=...=], for example, see below. --Petko? June 21, 2013, at 04:28 PM

Not link: [=].

Link: Not link:

I fixed it like this:

Instead of "", I did "httpHTML". Then I added this line:

Markup('httpHTML', '<table', '/httpHTML/', '');

That got past my references to the url being converted into links.

Can you make better use of vertical space when editing? Buttons and text on several lines could be combined into one line leaving more vertical space for the main text editing area. For example, Summary and Author could be put onto the same line, so could the buttons. The editing window is wide enough, just not tall enough. The help box near the bottom could be replaced with a "help" icon/button/link that displays the help box when you "mouseover" it (like a tootip).

Yes, you can make both better and worse use of both vertical and horizontal space, in fact you can completely change the editing interface either in Site.EditForm or by redefining the variables $PageEditForm or $PageEditFmt. For example: you can replace the "Author:" and "Summary:" texts with in-field placeholder values; if you enable AuthUser you may remove the Author field; if you never type an edit summary that field can drop; you can add a "page title" field; I personally have 3 additional submit buttons to help me with de-spam and de-sandbox cleanups. OTOH the screens have become both larger (desktop) and smaller (mobile) and the latter don't have mouses so the mouseover event is no longer reliable, but nothing can prevent you from implementing it if it works for you. :-) --Petko? May 08, 2019, at 08:52 AM

Thanks for the response - gnuzoo

I cannot seem get the "!!" markup to work in my page for Site.SkinElements I want to make some of

the text really big (like H1).

From my new pmwiki install Site.SkinElements:

!!Here is the text of the skin header.

Using something like %blue% work, but not the double exclamation marks.

I have tested this both on my home wiki and here and it did work fine. If you want a "H1" heading, use one exclamation mark "!Heading", because "!!" leads to a "H2" heading. (This assumes you use the PmWiki-responsive? skin.) --Petko? October 10, 2019, at 09:51 PM

OH I see - I was not using a line continuation. I want text to the right of an image and then centered vertically.

   How do I move the text down some to vertically center it?
   You can see this in the header of
   Here is the markup from my Site.SkinElements:

   !%lfloat text-align=center width=80px% %% \
   %blue%Golden Triangle Explorers Society
I'd use just the image, no %wikistyle%, in the heading:
! Path:/gtes/images/gtespatch-new_rotd.gif  \
   Golden Triangle Explorers Society
then use CSS in pub/css/local.css like:
#wikihead-content h1 img { vertical-align: middle; width:80px; }
#wikihead-content h1 { color:blue; }

Does the recipe for relative urls still work?

I get messages like "Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/gnuzoo/public_html/gtes/cookbook/RelativeURLs.php on line 20". Can you please fix this?

See Cookbook.RelativeURLs#notes?. --Petko?

I made the change to line 20 - but line 20 is prefixed with '$x = "'. So I prefixed the new line too.

I made the last line of my local/config.php include_once("$FarmD/cookbook/RelativeURLs.php");

It did not make my URLs relative.

    [[]] - WORKS as a link
    [[/gtes/newsletters/2019/2019-01_newsletter.pdf]] - DOES NOT WORK - displays no link, rest of page displays correctly

It did get rid of error messages. Did I do something wrong?

Sorry, I did not write this addon, do not use it, and do not have enough free time to fully support it, especially considering it doesn't have a free/libre license and no users have added themselves at RelativeURLs-Users? in the last 10 years. But know that instead of that recipe you can use the Path: InterMap prefix, which is supported, with the same result:

  Path:/path/to/file.pdf (leading slash)

relative to the website root, eg. here

  Path:path/to/file.pdf (no leading slash)

relative to the current url path until the last slash eg. here: if your page is then the link points to

See InterMap (and maybe even define your custom prefix like Newsletters: then use Newsletters:2019/2019-01_newsletter.pdf). --Petko?

P.S. If it is not too much trouble for you, please post new recipe-specific questions to the recipe or skin *-Talk pages. --Petko? October 20, 2019, at 08:41 AM

Oh! I see now - that using "Path:" in a URL gets it converted. Could the documentation on this be made more clear for people to understand? Thanks! gnuzoo

Added to Links#path. --Petko? November 06, 2019, at 09:37 AM

> please post new recipe-specific questions

PM used to chat. Petko, can you chat? If not, can we setup a pmwiki page to act like a chat? When I post on this page you usually reply rather rapidly.

I propose we setup a page designated for psuedo-chatting questions for any topic and answers.

Considering my free time is limited, a better use of this resource would be a discussion that might help other people in situations similar to yours. That's why I suggest writing on the talk pages in the documentation or in the cookbook -- this shows that you searched for a solution and didn't find it, and placed your question exactly where you expected to be documented. Please review PmWiki:How to get assistance for inspiration. If other people need the same information later, they are more likely to find it, without wasting the time resource (theirs and mine). OTOH, you can get private paid support but as we live in different timezones several hours apart, I would recommend e-mail rather than chat. --Petko? November 06, 2019, at 09:37 AM

I still think an "any topic" chat/talk page is a good idea. I find the documentation too often does not clearly communicate to me. Anyone could provide answers, not just you. --gnuzoo?

I tried using your Chat page. I think it is useable to ask common questions. Finar? November 12, 2019, at 08:29 AM

I disagree, one more page where people post "any topic chat" questions is a waste of our time, and encourages a lack of respect for our work. There is already an actual chat where you can post questions, go to the IRC Channel #pmwiki on --Petko?

Yes - the IRC chat was where PM used to chat all day long. Some days he would only be on for a couple hours, sometimes less, sometimes more. The problem is that now nobody is ever on IRC #pmwiki. By referencing IRC, does that mean you are going to be on it? Please let me clarify, by "any topic chat" page I prefer to rephrase it as "any PMWiki topic chat" page. I would not consider it a waste of time, and certainly no where near being disrespectful.

My take is all active projects out there have a discord and/or telegram and/or github. I'm super old school and even I haven't been on IRC in maybe 10 years. Not having these is holding us back and veterens don't really have a way to easily give back to the community. will always be a well-worn reference for those running wiki(s) but to onboard, keeping up with where people are at is important. We need to respect everyones time and that includes people searching for the wiki software that is right for them by asking a few quick questions on a forum they frequent. The more accessible the forum, the more other people can answer questions and take load off Petko Naturevault?

Can someone please help me fix this recipe:



I think this page was spammed because the last edit links to a website that firefox says "Warning: Potential Security Risk Ahead" Can you fix it?


InterMap feature request moved to PITS:01446.

This page may have a more recent version on PmWiki:Questions, and a talk page: PmWiki:Questions-Talk.