|
PmWiki /
This page attempts to answer the more common questions you might have. Many of the answers refer you to other pages for details. QuestionsHow do I get my question answered? The quickest and best way is to join the pmwiki-users mailing list and post your question there. If it really is a frequently-asked question, it will eventually be added to this page. An alternative way is to leave your question on the Questions page. Getting helpWhere can I get help with PmWiki? (This is a pretty vague question!) See this FAQ, Troubleshooting, or try a Search. Error messagesWhat does warning message or error message "xxxxx" mean? Error/warning questions and answers are on the Troubleshooting page. Basic EditingI'm new to PmWiki, where can I find some basic help for getting started? This Basic Editing page is a good start. From there, you can just follow the navigational links at the bottom of the page (they are called WikiTrails) to the next pages, or to the Documentation Index page, which provides an outline style index of essential documentation pages, organized from basic to advanced. How do I include special characters on my wiki pages? Use character codes to insert special characters, such as Copyright (©) and Trademark (® or ™) symbols, that don't appear on your keyboard. LinksHow do I put a link that will open as a new window? Use the
How do I place a mailing address in a page? Use the mailto:myaddress@example.com [[mailto:myaddress@example.com]] [[mailto:myaddress@example.com | email me]] See also Cookbook:EProtect for information on protecting email addresses from spammers. How do I make a WikiWord link to an external page instead of a WikiPage? Use link markup. There are two formats: [[http://www.example.com/ | WikiWord]] [[WikiWord -> http://www.example.com/]] How do I find all of the pages that link to another page (i.e., backlinks)? Use the (:pagelist link=SomePage:) -- show all links to SomePage (:pagelist link={$FullName}:) -- show all links to the current page UploadsHow do I link to an uploaded file or image from another group? Use When I upload a file, how do I make the link look like "file.doc" instead of "Attach:file.doc Δ"? Use parentheses, as in Why can't I upload files of size more than 50kB to my newly installed PmWiki? Out of the box PmWiki limits the size of files to be uploaded to 50kB. Add to your config.php to increase the limit to 1MB (for example). See UploadsAdmin for how to further customize limits. Note that both PHP and webservers also place their own limits on the size of uploaded files. Who does my upload exit unexpectedly with "Incomplete file received"? You may be running out of space in a 'scratch' area, used either by PmWiki or by PHP. On *nix, check that you have sufficient free space in /tmp and /var/tmp. TablesHow do I create nice tables similar to Product X? See tables and table directives. Table DirectivesCan I define table headers using the table directive markup? No, but you can with Cookbook:AdvancedTableDirectives. See Pm's reply to pending PITS:00535 WikiStyles Some of my colors aren't working! For example, Be sure to use lowercase letters for rgb hex colors, otherwise PmWiki may mistake the color value for a WikiWord. PageDirectives Can I get Use Is there any way to prevent the "redirected from" message from showing at the top of the target page when I use If you want to suppress the message...
if (@$_GET['from']) { $group = PageVar($_GET['from'], '$Group'); if ($group == 'SomeGroup') $PageRedirectFmt = ''; } Example application: Replace 'SomeGroup' with 'Profiles'
IncludeOtherPagesWhat's the maximum number of includes that can exist in a page? My site seems to stop including after 48 includes. By default, PmWiki places a limit of 50 include directives for any given page, to prevent runaway infinite loops and other situations that might eat up server resources. The limit can be modified by the wiki administrator via the Page-specific VariablesIs there a variable like $LastModified, but which shows me the creation time? No, but you can create one in config.php. For instance: # add page variable {$PageCreationDate} in format yyyy-mm-dd $FmtPV['$PageCreationDate'] = 'strftime("%Y-%m-%d", $page["ctime"])'; WikiGroupHow can I get rid of the 'Main' group in urls for pages pointing to Main? How can I limit the creation of new groups? GroupHeadersHow do I set one header for all pages/groups? The header for each page is controlled by the $GroupHeaderFmt = '(:include {$SiteGroup}.SiteHeader basepage={*$FullName}:)(:nl:)' . $GroupHeaderFmt; (note that single quotes must be used so that See also the Cookbook:AllGroupHeader page. Any form of markup is valid in $GroupHeaderFmt .= "Global markup text here.";
PageHistoryIs there a way to remove page history from page files? 1. Administrators can clean page histories using the Cookbook:ExpireDiff recipe. 2. Administrators with FTP file access can download individual pages from the wiki.d directory, open them in a text editor, manually remove history, and re-upload the files to wiki.d/ directory. Care must be exercised, when manually editing a page file, to preserve the minimum required elements of the page and avoid corrupting its contents. See PageFileFormat#creating. 3. Edit the page. Select all the contents of the edit text area and cut them to the clipboard. Enter How can I restrict viewing the page history to people with edit permission? In the local/config.php file, set $HandleAuth['diff'] = 'edit' ;
PasswordsHow can I password protect all the pages and groups on my site? Do I really have to set passwords page by page, or group by group? Administrators can set passwords for the entire site by editing the config.php file; they don't have to set passwords for each page or group. For example, to set the entire site to be editable only by those who know an "edit" password, an administrator can add a line like the following to local/config.php: For more information about the password options that are available only to administrators, see PasswordsAdmin. How can I create private groups for users, so that each user can edit pages in their group, but no one else (other than the admin) can? Administrators can use the AuthUser recipe and add the following few lines to their local/config.php file to set this up: $group = FmtPageName('$Group', $pagename); This automatically gives edit rights to a group to every user who has the same user name as the group name. PageListsHow can I configure my site to always exclude wiki-related pages from searches? Try the following in your local/config.php file. See also Cookbook:SearchPatterns. ## Exclude Certain pages / groups from search results. $SearchPatterns['default'][] = '!\\.(All)?Recent(Changes|Uploads|Comments)$!'; $SearchPatterns['default'][] = '!\\.Group(Print)?(Header|Footer|Attributes)$!'; $SearchPatterns['default'][] = '!\\.(Left|Right|Side)(Bar|Menu|Note)$!'; $SearchPatterns['default'][] = '!^Site\\.!'; $SearchPatterns['default'][] = '!^PmWiki\\.!'; If you add PmWiki InstallationHow do I make pmwiki.php the default page for a website? Should I rename pmwiki.php to index.php? Renaming pmwiki.php is not recommended. Instead, create an index.php file that contains the single line: <?php include_once('pmwiki.php');
You may also want to check Cookbook:CleanUrls. Why does pmwiki.org appear to have a directory structure rather than "?n=pagename" in urls? Pmwiki.org uses a variant of Cookbook:CleanUrls. Is it possible to move wiki.d to /tmp/persistent/wiki.d (a new sourceforge rule)? Sourceforge suggests moving everything to /tmp/persistent/new-folder-of-your-choice and creating a symbolic link to the new folder on /tmp . It works -- see Cookbook:SourceForgeServers. How can I run PmWiki on a standalone (offline, portable) machine ? See Cookbook:Standalone. LocalCustomizationsHow do I get the group / page name in a local configuration file (e.g. local/config.php)? Use the following markup in pmwiki-2.1.beta21 or newer: ## Get the group and page name $pagename = ResolvePageName($pagename); $group = PageVar($pagename, '$Group'); $name = PageVar($pagename, '$Name'); Can I remove items from the wikilib.d folder on my site? Yes, the files in wikilib.d/ can be safely removed. They'll reappear again when you upgrade, however. If you want to permanently configure your site so that these distribution pages don't appear, try: $WikiLibDirs = array(&$WikiDir);
How do I customize my own 404 error page for non-existent pages? To change the text of the message, try editing the Site.PageNotFound page. SkinsHow do I change the Wiki's default name in the upper left corner of the Main Page? Put the following config.php $WikiTitle = 'My Wiki Site';
The docs/sample-config.php file has an example of changing the title. How can I embed PmWiki pages inside a web page? Source them through a PHP page, or place them in a frame. How do I change the font or background color of the hints block on the Edit Page? Add a CSS style to pub/css/local.css: UpgradesHow can I test a new version of PmWiki on my wiki without changing the prior version used by visitors? The easy way to do this is to install the new version in a separate directory, and for the new version set (in local/config.php): $WikiLibDirs = array(&$WikiDir, new PageStore('/path/to/existing/wiki.d/{$FullName}'), new PageStore('wikilib.d/{$FullName}')); This lets you test the new version using existing page content without impacting the existing site or risking modification of the pages. (Of course, any recipes or local customizations have to be installed in the new version as well.) Then, once you're comfortable that the new version seems to work as well as the old, it's safe to upgrade the old version (and one knows of any configuration or page changes that need to be made). PasswordsAdminThere seems to be a default password. What is it? There isn't any valid password until you set one. PasswordsAdmin describes how to set one. PmWiki comes "out of the box" with How do I use passwd-formatted files (like .htpasswd) for authentication? See AuthUser or Cookbook:UserAuth Is there anything I can enter in a GroupAttributes field to say 'same as the admin password'? If not, is there anything I can put into the config.php file to have the same effect? For the sitewide edit password (in config.php), use '@_site_edit'. I haven't tested this, but I think one can also use '@_site_admin', '@_site_read', '@_site_attr', etc. for the other site-wide passwords set in config.php. '@admin' is used to specify the site admin password. How do I edit protect, say, all RecentChanges pages? (needs answer) AuthUserCan I specify authorization group memberships from with local/config.php? You can as of version 2.1.14 -- simply put the group definition into the $AuthUser array: $AuthUser['@editors'] = array('alice', 'carol', 'bob'); Uploads AdministrationHow do I disable uploading of a certain type of file? Here's an example of what to add to your local/config.php file to disable uploading of .zip files: $UploadExtSize['zip'] = 0; # Disallow uploading .zip files.
How do I attach uploads to individual pages or the entire site, instead of organizing them by wiki group? Use the $UploadPrefixFmt = '/$FullName'; # per-page
$UploadPrefixFmt = ''; # site-wide
For Units are in bytes. Internationalizations If my wiki is internationalized by Use Custom InterMapAre InterMap names case sensitive? Yes, thus CustomMarkupHow can I embed JavaScript into a page's output? There are several ways to do this. The Cookbook:JavaScript recipe describes a simple means for embedding static JavaScript into web pages using custom markup. For editing JavaScript directly in wiki pages (which can pose various security risks), see the JavaScript-Editable recipe. For JavaScript that is to appear in headers or footers of pages, the skin template can be modified directly, or <script> statements can be inserted using the WebFeedsHow can I use the RSS <enclosure> tag for podcasting? For podcasting of mp3 files, simply attach an mp3 file to the page with the same name as the page (i.e., for a page named Podcast.Episode4, one would attach to that page a file named "Episode4.mp3"). The file is automatically picked up by ?action=rss and used as an enclosure. The set of potential enclosures is given by the $RSSEnclosureFmt array, thus $RSSEnclosureFmt = array('{$Name}.mp3', '{$Name}.wma', '{$Name}.ogg');
allows podcasting in mp3, wma, and ogg formats. How to add "summary" to the title in a rss feed (ie. with Add this line in you $FeedFmt['rss']['item']['title'] = '{$Group} / {$Title} : $LastModifiedSummary';
How to add feed image? Add the following to local/config.php (this example is for $FeedFmt['rss']['feed']['image'] = "<title>Logo title</title> <link>http://www.example.com/</link> <url>http://www.example.com/images/logo.gif</url> <width>120</width> <height>60</height>"; How do I insert RSS news feeds into PmWiki pages? How can I specify default feed options in a configuration file instead of always placing them in the url? For example, if you want if ($action == 'rss') SDVA($_REQUEST, array( 'group' => 'News', 'order' => '-time', 'count' => 10)); TroubleshootingWhy am I seeing strange errors after upgrading? Make sure all of the files were updated, in particular pmwiki.php. This question sometimes arises when an administrator hasn't followed the advice, which used to be less prominent, on the installation and initial setup tasks pages and has renamed pmwiki.php instead of creating an index.php wrapper script. If you have renamed pmwiki.php to index.php, then the upgrade procedure won't have updated your index.php file. Delete the old version and create a wrapper script so it won't happen again. Sometimes an FTP or other copy program will fail to transfer all of the files properly. One way to check for this is by comparing file sizes. Be sure all of the files in the wikilib.d/ directory were also upgraded. Sometimes it's a good idea to simply delete the wikilib.d/ directory before upgrading. (Local copies of pages are stored in wiki.d/ and not wikilib.d/.) I'm suddenly getting messages like " Something (or someone) has changed the permissions on the wiki.d/.flock file or the wiki.d/ directory such that the webserver is no longer able to write the lockfile. The normal solution is to simply delete the .flock file from the wiki.d/ directory -- PmWiki will then create a new one. Also be sure to check the permissions on the wiki.d/ directory itself. (One can easily check and modify permissions of the wiki.d/ directory in Filezilla (open-source FTP app) by right-clicking on the file > File attributes) My links in the sidebar seem to be pointing to non-existent pages, even though I know I created the pages. Where are the pages? Links in the sidebar normally need to be qualified by a WikiGroup in order to work properly. Otherwise they will point to whatever group you happen to be viewing the sidebar in. Why am I seeing " If this is the first or only error message you're seeing, it's usually an indication that there are blank lines or spaces before the If the warning is appearing after some other warning or error message, then resolve the other error and this warning may go away. Why is PmWiki prompting me multiple times for a password I've already entered? Usually this is an indication that the browser isn't accepting cookies, or that PHP's session handling functions on the server aren't properly configured. If the browser is accepting cookies, then try setting I edited config.php, but when I look at my wiki pages, all I see is " You've made a mistake in writing the PHP that goes into the config.php file. The most common mistake that causes the T_VARIABLE error is forgetting the semi-colon (;) at the end of a line that you added. The line number and file named are where you should look for the mistake. Searches and pagelists stopped working after I upgraded -- no errors are reported, but links to other pages do not appear (or do not appear as they should) -- what gives? Be sure all of the files in the wikilib.d/ directory were also upgraded. In particular, it sounds as if the Site.PageListTemplates page is either missing (if no links are displayed) or is an old version (if the links do not appear as they should). Some of my posts are coming back with "403 Forbidden" errors or "Not Acceptable"? This happens with posts containing "wget", "curl", "file(" or ... Your webserver probably has mod_security enabled. The mod_security "feature" scans all incoming posts for forbidden words or phrases that might indicate someone is trying to hack the system, and if any of them are present then Apache returns the 403 Forbidden error. Common phrases that tend to trigger mod_security include "curl ", "wget", and "file(", although there are many others. Since mod_security intercepts the requests and sends the "forbidden"
message before PmWiki ever gets a chance to run, it's not a bug in PmWiki, and
there's little that PmWiki can do about it. Instead, one has to alter the
webserver configuration to disable mod_security or reconfigure it to allow
whatever word it is forbidding. Some sites may be able to disable mod_security
by placing I get the following message when attempting to upload an image, what do I do?
DesignNotesWhy doesn't PmWiki use hierarchical / nested groups? It essentially comes down to figuring out how to handle page links between nested groups; if someone can figure out an obvious, intuitive way for authors to do that, then nested groups become plausible. See DesignNotes and PmWiki:HierarchicalGroups. Why don't PmWiki's scripts have a closing ?> tag? All of PmWiki's scripts now omit the closing ?> tag. The tag is not required, and it avoids problems with unnoticed spaces or blank lines at the end of the file. Also, some file transfer protocols may change the newline character(s) in the file, which can also cause problems. See also the Instruction separation page in the PHP manual. Does PmWiki support WYSIWYG editing (or something like the FCKEditor)? Short answer: PmWiki provides GUI buttons in a toolbar for common markups, but otherwise does not have WYSIWYG editing. For the reasons why, see PmWiki:WYSIWYG. AccessKeysHow can I change the keyboard shortcuts for editing and saving a page? The default access key values can be changed by site administrators using the string mapping methods to customize a site for other languages by modifying the config.php file. See Internationalizations. Individuals who want to customize the keys used by their browser can use a similar string mapping approach by posting a special query parameter that sets a cookie on their browser. See Site.Preferences. SecurityWhat about the botnet security advisory at http://isc.sans.org/diary.php?storyid=1672? Sites that are running with PHP's register_globals setting set to "On" and versions of PmWiki prior to 2.1.21 may be vulnerable to a botnet exploit that is taking advantage of a bug in PHP. The vulnerability can be closed by turning register_globals off, upgrading to PmWiki 2.1.21 or later, or upgrading to PHP versions 4.4.3 or 5.1.4. In addition, there is a test at PmWiki:SiteAnalyzer that can be used to determine if your site is vulnerable. SkinTemplatesHow do I customize the CSS styling of my PmWiki layout? See Skins for how to change the default PmWiki skin. See also Cookbook:Skins, where you will find pre-made templates you can use to customize the appearance of your site. You can also create a file called local.css in the pub/css/ directory and add CSS selectors there (this file gets automatically loaded if it exists). Or, styles can be added directly into a local customization file by using something like: $HTMLStylesFmt[] = '.foo { color:blue; }';
Where can the mentioned "translation table" be found for adding translated phrases? ImagesHow do I insert pictures on wiki pages? See Images. SpamI'm getting a lot of spam on my wiki site. How can I password protect the pages? See Security, UrlApprovals, and the Cookbook:Blocklist2 recipe. Summary pagesWhy are 'RecentChanges' pages editable? You might want to edit these pages if a spammer creates a page with an unsavory name. To prevent others from editing these pages, insert the following lines into your local/config.php file. Editing then requires the admin password. ## Require admin password to edit RecentChanges (etc.) pages. if ($action=='edit' && preg_match('/\\.(All)?RecentChanges$/', $pagename)) { $DefaultPasswords['edit'] = '*'; } How do I generate RSS feeds from PmWiki? See Web Feeds. Disable formattingHow do I put plain text into a wiki page and disable wiki formatting? You can use the [@TEXT GOES HERE@] markup as explained in the section Escape Sequence TextFormattingRules. Note that this preserves any text file formatting such as newlines and spaces. Read-access to pages in the Site wikigroupWhat pages in the Site wikigroup need to be unrestricted for reading by any user of the wiki? The following pages probably need to be accessible (see Site.Site): Site.EditForm
Site.EditQuickReference
Site.PageActions
Site.PageListTemplates
Site.Search
Site.SideBar
Site.UploadQuickReference
The names of other pages will vary from skin to skin, but you will also want to enable reading of the pages that make up the banner and footer areas of the site.
Category: Questions |
|