April 18, 2007

Pawfaliki: A one-file wiki

Author: Dmitri Popov

While there are many contenders for the title of simplest wiki or easiest to use, Pawfaliki beats them all for two reasons: the entire wiki consists of just one PHP file, and it can be configured by anyone with little or no experience with PHP. This makes Pawfaliki a perfect tool for users who want to set up a personal wiki with minimum fuss, or small workgroups looking for a quick and easy way to share knowledge and collaborate.

Since Pawfaliki consists of just a single PHP (and an accompanying .css file that controls the wiki's appearance), installing it is a complete doddle. Simply copy the pawfaliki.php file into the document root of your server, create PawfalikiPages and PawfalikiTemp directories in the same location, make them writable by the server, and you are good to go.

Configuring Pawfaliki is not that difficult either. All the configuration settings are stored in the pwfaliki.php file, and they are all thoroughly commented. This makes it easy even for non-experts to configure Pawfaliki.

Besides the obvious things like the wiki's name, paths to different directories, and date formats, there are a few advanced settings that allow you to customize Pawfaliki. For example, you can specify users and their passwords in the USERS section as follows:

$config['USERS']['admin'] = "password";

You can then configure access restrictions in the RESTRICTED section. If you want to limit the ability to restore wiki pages only to a specific user, you can do it by specifying the appropriate setting:

$config['RESTRICTED']['RestoreWiki'] = array("admin");

In a similar manner, you can restrict access to specific wiki pages:

$config['RESTRICTED']['HomePage'] = array("admin");

The LOCALE section contains all the text used in Pawfaliki, so if you want to localize your wiki installation, you can do so by translating the text strings.

Pawfaliki also allows you to specify an external configuration file; so instead of modifying settings directly in the pawfaliki.php file, you can do this in a separate file. This can come in particularly handy when you upgrade your Pawfaliki installation. Pawfaliki comes with a sample configuration file exampleconfig.php, which you can use as a starting point. Just remember to specify the path to it in the pawfaliki.php file as follows:

$config['CONFIGFILE'] = "exampleconfig.php";

Once you've configured Pawfaliki to your liking, you can start using it. If you've ever worked with a wiki, you'll feel right at home in Pawfaliki. Its formatting syntax is similar to that of other wiki systems, and it supports all the essentials, such as bold, italic, underlined, verbatim text, links, and inline images. There are, however, some limitations. For example, the syntax doesn't support lists and tables. But since Pawfaliki can handle raw HTML code, this is not a big issue. Pawfaliki also boasts a few advanced features, such as the ability to email page changes to a specified email address, the ability to generate an RSS feed, and the ability to back up and restore the entire wiki. To back up your wiki, go to the PageList section and click on the Backup link. This generates a .gz file, which you can download to your local hard disk. To restore your wiki, click on the Restore link and select a backup file.

While all these features are handy, Pawfaliki lacks one important feature: the ability to track changes and compare different editions of a particular page. Since there is no workaround available, this can be a deal-breaker for some users and groups.

The appearance of Pawfaliki is controlled by the pawfaliki.css file. You can change virtually every aspect of your wiki by tweaking the CSS attributes. If you are proficient in CSS, you can do this using your favorite text editor. Alternatively, you can use a dedicated CSS editor to tweak the pawfaliki.css file visually. For instance, you might want to try Simple CSS, an easy-to-use and free (as in beer) CSS editor.

Final word

While Pawfaliki may look like some sort of curiosity, it's a capable wiki system. Obviously, it lacks all the frills and trimmings of TWiki, MoinMoin, or DokuWiki, but if you are looking for a wiki that can be installed and configured in a couple of minutes, Pawfaliki fits the bill.

Dmitri Popov is a freelance writer whose articles have appeared in Russian, British, US, German, and Danish computer magazines.

Click Here!