Wakka Change Log


Please note: The changes below are made in the dev version of Wakka and won't be available to the public until we prepare a new version (read: no public CVS, sorry), which of course will be posted here, too. So, for example, everything posted above "Released Wakka 0.1.1." won't be available until there's a bold line of text saying "Released Wakka 0.1.2." or something. Hendrik Mans


  • Wakka 0.1.2 is out, containing the changes mentioned below. Sorry about the delay; a busy work schedule as well as a big server move prevented an earlier release. Thanks to everyone for sending in feedback and hacks; I'd love to include some of them in the 0.2 release.

There will probably be a 0.1.3 first, though, containing more fixes (if anyone finds further problems, that is), and some minor new features (including image tags).



  • double slashes in URLs won't mess up the formatting anymore. CarlosZottman
  • Revisions additionally available in RSS format now. CarlosZottman
  • Wakka's XHTML 1.0 Transitional compliant now ("basic compliance" only, i.e. until the formatter is completely rewritten to intercept badly nested tags, the user still has to take care of good nesting, but as long as s/he does, it's compliant;)), and the default CSS file is valid CSS (external file now, the CSS is not hardcoded into actions/header.php anymore). CarlosZottman
  • added static XML file output for RecentChanges page, updated at every page save/edit. CarlosZottman
  • Actions can now have attributes. Action calls are much more fool-proof now and don't care about trailing/leading (white-)spaces anymore; the calls may look like this: {{exampleaction}}, {{ exampleaction }} or {{exampleaction attribute1="test" attribute2="test0r", attribute3="test0sterone"}} (attributes/parameters may be separated by comma or spaces or anything that's neither number nor letter; it's still two brackets as it is now, but I couldn't write them in the examples or Wakka would try to execute these example action calls). CarlosZottman


  • Added global comments on/off switch in the config ("hide_comments"). CarlosZottman


  • ACL change: "§" was added as placeholder for "registered users only". CarlosZottman
  • Everybody give Carlo Zottmann a hug; he's now a co-developer for this little Wiki engine. :)


  • Rumors of my death are greatly exaggerated! I've been super-ultra-busy the last couple of months and unfortunately didn't have any time to invest into Wakka. This isn't going to change significantly any time soon, I'm afraid, but I'll try to fix a couple of things here and there and get a 0.1.2 out within the next couple of weeks.


  • The Wakka formatter now auto-links URLs.
  • New formatting tag: ... for "notes" text. Looks like this!


  • Fixed a minor-ish problem with the link tracking code.
  • Fixed the silly comment sorting problem on RecentlyCommented.
  • Fixed a text problem on the referrer pages.
  • Fixed a couple of access control related problems. :|
  • Added new {{BackLinks}} action. It inserts a list of all pages that link to the current page. Very useful for structuring your Wakka using categories.


  • Released Wakka 0.1.1.
  • Wakka now purges old page revisions. This is controlled by the new configuration parameter pages_purge_time (which should be set to the number of days old page revisions should be kept -- the default value is 90 days).
  • referrers_purge_time now uses days, not hours! If you've had it set at 24, change it to just 1. :)
  • Wakka doesn't use <?= ... ?> any longer. It was causing problems on systems with PHP's short_open_tag disabled. Urk!
  • The web installer/updater now writes the correct configuration file if you've told Wakka to use a non-standard one. More on that, err, later. Yeah.
  • Page previews now have a little "Preview" header at the top. Just in case.
  • You can now lock your Wakka site by creating a file called locked in your Wakka's directory. This file should contain a cleartext password on its first line. Once the file is there, everybody who accesses your site will be asked for a password. You will have to enter the specified password and "admin" as the user name to get in. Note that this isn't supposed to be a quick & dirty password protection hack, but rather a simple way to temporarily protect your Wakka site while, say, upgrading to a new version.

I'm actually thinking about making the installer/updater create this file automatically, so upgrading to a new version is safer. Let me know what you think.


  • Fixed the magic_quote_gpc workaround. Oops!

  • Released Wakka 0.1.
  • Wakka now comes with a .htaccess file that should make "nice URLs" work automagically. (It'll still work if the .htaccess file isn't being used.)
  • Hah. Hahaha. Hahahahhahaa.
  • Added a workaround for the magic quote stuff. Grrrrr.
  • You can now hide/display comments/comment forms. In UserSettings, you can control whether they should be displayed or hidden by default.


  • New configuration variable: navigation_links. A piece of text that gets inserted at the top of the page by the default Header action. This way you can easily change the links at the top without overriding the complete action. (Note: may add something similar for CSS styles in a future version.)
  • New action/handler overriding mechanism: You can now define paths (action_path and handler_path) that will be searched, so you can specify directories containing your own stuff without getting it overwritten when upgrading to a new Wakka version.
  • Added two new functions: Wakka::FormOpen() and Wakka::FormClose(). It is heavily recommended that you use these when putting forms into actions/methods.
  • Added a nice web-based installer/updater. When Wakka recognizes that it's been updated or newly installed, it'll automatically fire up the thing. It'll first ask you to set your configuration values, and then install all necessary tables. In future versions of Wakka, it'll also do all necessary changes.
  • Fix never-ending popup bug.
  • Fixed the stupid little bug in RecentlyCommented with some stupid little code. Yes, stupid. I hate it. It's evil.


  • Not saving empty comments any longer.


  • Oh man. I'm really, really tired. I've been tired all day. Still, I think this has been the most productive day for Wakka so far. Today I converted Wakka from a straight-forward Wiki engine into a real website toolkit. I'm happy. (But tired.) :)
  • I've kinda revamped the user login/signup page (on UserSettings on this site). You are now required to provide a password and an email address when signing up. Also, your user name has to be a WikiName. This rule may get relaxed at some point by making it a configuration option. Also, another upcoming configuration option will allow you to configure your Wakka site so users signing up will have to activate their accounts through an activation mail, for added security.
  • Pages now have owners. Only the page owner can edit a page's access control lists. In the ACL editing screen, he can also pass on ownership of the page to another user. Owners are stored per-revision, so it's possible to trace back who owned the page at what time. Pages created by non-registered users are owned by nobody. Pages owned by nobody can be "claimed" by registered users. In other words: if you want to have control over your created pages, make sure you sign up for an account and log in!
  • Added the ACL stuff. Good lord. It's in. It's easy to use. It rocks. See AccessControl for details.
  • Now there is no comment box on pages that don't exist yet.
  • Added some more comments stuff. There's now a {{RecentlyCommented}} action (see RecentlyCommented) that lists pages that have recently had comments attached to them. May be somewhat more useful than RecentComments.
  • You can now attach comments to pages. The functionality is pretty basic at the moment; I will probably change it so it only displays the comments from the last <n> days, or just the latest <n> comments. Probably the former, in order to "purge" stale discussion about possibly outdated page revisions. <n>, of course, will be a configurable value.


  • You can now view a page's referres from within the last 24 hours. Actually, this number is configurable through the configuration value referrers_purge_time.
  • Oops! I neglected AlwaysTwoCharacters with the header formatting codes. I've changed them so the smallest header now uses ==...== and the biggest ======...======. Yes, it's big!
  • Added a small TextSearch form in the footer action.
  • InterWiki linking implemented.
  • WantedPages can now display a list of pages linking to a wanted (non-existing) Wakka page.
  • Added a basic plugin structure. Pages are now being handled by "handlers", which are similar to classes with methods. In a future version, it will be possible to specify a handler when creating a new page. This will open up a lot of new possibilities for Wakka plugins that go a long way beyond simple Wiki pages.
  • The "header_action" and "footer_action" configuration values are now actually being used. Ahem.
  • Bracketed links are now slacker friendly, supporting lazy links like [[www.example.com]] or [[webmaster@example.com]].
  • Added some crazy database optimizations! Wakka is finally as fast as it is supposed to be.


  • Disabled auto-linking of URLs and email address, as this was causing some bad problems. :-(
  • Crazy! You can now embed source code %%like this%%. You can specify a language after the first %% enclosed into brackets. For example: %%(php)<?php actual PHP code ?>%%. Right now, PHP is the only syntax highlighter available, but there will be more available soon, I'm sure.
  • URLs and email addresses are now HTMLified automagically.
  • In unescaped text, HTML tags now can't be used any longer. < and > will automagically be converted to their corresponding HTML entities. If you really need to use raw HTML, you'll have to escape it (by putting it inside pairs of double quotes).
  • When looking an old revision of a page, there now is a button that allows you to send that revision to the editor. This allows you to easily restore old revisions of pages.
  • Rewrote the Wakka formatter. Now it's useful! ;)
  • Added a very sexy Preview button to the editor.
  • In your config file, you can now specify meta_keywords and meta_description. No need to explain what those are for, right?
  • New formatting tag: ##...## for monospace text.
  • Uh-oh, forced links now use [[...]]! Time to update some pages. :)
  • Actions are now {{action}}.
  • Bold, italic and underlined now use **, // and __.
  • You can now use
    to force line breaks. This can be useful in list entries.
  • Wakka now checks for the existence of $_REQUEST[] to make sure it is running on a somewhat recent version of PHP. Without this check, it would go nuts on pre-4.1.0 versions. (Thanks GabeKruger.)


  • Added formatting code for headers.
  • Added formatting code for escaped text; text enclosed in double quotes will not be touched by the formatter at all. Unfortunately doesn't work over multiple lines yet.
  • Clicking the page title will launch a full text search.
  • Added a full text search at TextSearch.
  • When you log in through UserSettings, you will be remembered through cookies. (ie, you don't have to log in again the next time to visit.)
  • You can now disable the double-click editing if you don't like it. Also, it will now only work when you're viewing the page itself, not the editor or revision list.
  • API stuff: added Wakka::Redirect() for HTTP redirects, and Wakka::SetMessage() to store a message that the next page can display (vanilla Wakka does this in a JavaScript alert box).
  • Added a new action: UserSettings -- implements basic user management. Basically, Wakka now allows you to create a user account (linked to a WikiUserName) that should, but doesn't have to be password protected. If you don't set a password, anyone can use your WikiUserName. Your name will be used on RecentChanges and maybe some other upcoming pages/actions.
  • Slightly revised the RecentChanges action. Inspired by WikkiTikkiTavi.


  • On the revision list, you can now select two revisions that can be compared for differences.
  • You can now access old versions of all pages.
  • Added some more list types and normal indented text.
  • Rewrote bulleted list code. Now uses tabs.
  • Removed (these) links.
  • Made tabs work in editor.
  • First version online. :)