Universal Wiki Features
Monkey Wiki has most of the normal attributes common to all wikis:
- Automatic link generation: Monkey Wiki uses the classic wiki Camel Case (plus optional trailing digits from version 1.05)
- Editable content: see Edit (below) - though Monkey Wiki can be set up read-only
- Simple non-HTML text formatting: see Editing Tips
- Backlinks: see Backsearch (one of the links at the very bottom)
Additional Common Wiki Features
In addition, it has the following features:
- Recent Changes: This is a simplified version compared with most wikis, in that it takes the 50 most recently changed pages, and displays their last edit time/date. There is no attempt to show the full editing history of any page, and neither is any record of deleting or renaming displayed. This part of the script is extremely terse, but serves very adequately (IMHO).
- Site Map: shows every page in the wiki, arranged in a 'tree'.
- Orphan Pages: There is no function to display purely pages which are orphans by the classic wiki definition. However, the Site Map displays pages outside the main 'tree'. These may be Orphan Pages, or may in fact be linked from some of the other pages outside the tree. The usefulness of the concept is preserved though - these are isolated pages or groups of pages: either way, they need re-integrating with the rest of the wiki.
- Wanted Pages: listed on Site Map. Note - pages 'wanted' by a page outside the main tree are not listed. Again, this is desired functionality, in that creating further pages outside the tree is not encouraged.
- Site Search: This search page offers a single search mechanism for titles and text. To search for a specific page title, it needs to be entered with spaces between words. Searching is case-insensitive, and can use regular expressions.
- In addition to Edit and Backsearch, the following actions can be performed on a page, all available via a link at the bottom:
- Rename: renames the current page. Also automatically locates and changes all references to this page
- Delete: deletes the current page (after confirmation).
- Likesearch: Finds pages with titles having one or more words in common with the current title.
- Localmap: Exactly the same as Site Map, except that it starts the listing from the current page instead of the Front Page
Backup Implementation
As you would expect, every edit, delete or rename triggers a backup. Monkey Wiki uses a rather unusual backup technique, in that it emails the backup to the Wiki Master (or whoever you specifiy in the configuration - could even be a mailing list). Of course this means that backups are stored off-site, so users cannot see old versions, restore from old versions etc - if you need this functionality, don't use Monkey Wiki (or of course write a backup module!)
Here are reasons why I did the backup in this way:
- To keep the script simple, but without losing any backup information
- To save space on the server, where I pay for a limited amount of space
- To receive instant notifications of when anything on the wiki changes
- To enable me to establish a distributed backup system by using a distribution list as the address to which backups are sent. That way, several different people receive backups, any one of whom can restore anything that is required.
Other
XHTML: As of version 1.05, the output of Monkey Wiki is XHTML (1.0 Strict). Of course if you Define Templates, it it your responsibility to ensure the templates themselves contain valid XHTML if that is what you want. The DOCTYPE statement also becomes your responsibility.