Links - PHP Wikis and Knowledge Wikis

Nov 4 2009: Added Semantic MediaWiki, demo on server.

Oct 4 2009: Add Wikyblog. Updated WikkaWiki with info about burgeoning project for phpMyEdit package

Updated Jan 25 2009: added Kisimi and DokuWiki

There are several small, fast and powerful open source wikis that can be used as a full-featured CMS to for building small web sites and are fairly easy to extend and customize.

The fly in the soup is that learning advanced markup languages can be more formidable than learning a simple Wikipedia-style markup language. They can require a significant learning curve for new users, but the time spent seems to pay off in terms of power and flexibility.

Semantic Mediawiki

I ran a localhoat demos of the Semantic Mediawiki extension about a year ago and my impression was that it was interesting and that it was "getting there".  Well, it's not "getting there" anymore, it's arrived.

I have a small demo of Semantic Mediawiki 1.4.3 running on Mediawiki 1.15.1.  I have done some fairly ruthless hacking to simplify the UI and am spending a good deal of time getting the templates right before loading content onto it via feeds, database scavenging or whatever.  Impress your friends by inserting the term transclusion into the conversation ( or transcluding it into the conversation ? ). 

I also want to investigate the SMW Halo extension, which has may have usable relationship and inferencing capabilities ( even if it's still "getting there" ).

And many other fixes, tweaks and learning my way around before I leap into it . Generally, I want to make its "wikiness" as transparent as possible.  It looks as if it's going to be a long journey but promises to be well worth the effort. 

More informatyion at the SemWiki Demo help page.


WikkaWiki is a small (2M unzipped ), simple and powerful application based on the venerable WakkaWiki. An {{action}} statement in the wiki page generates a call to a snippet of PHP code - parse some arguments, emit some HTML and "Bob's your uncle". New programmers ask me about the easiest way to learn the basics of PHP/Web development and WikkaWiki is my new recommendation.

Two articles about integrating WikkaWiki with CakePHP.

Last fall, I did a small, "jam it in" integration project with the Sphider-Plus search engine. The project has languished a bit, but it fairly easy to do and worked well.

It takes a good deal of machine capacity to run the search engine in a shared host, but it is doable, given time. I can also run the search engine update on a localhost and unload the 30-40M SQL export file, but that also take a good deal of time and effort. I hope to have time to update it in coming weeks ( ??? ).

The new version is Wikka 1.2 and it is well within the WikkiaWiki tradition of excellence - it might even be a bit faster and leaner. I've installed the phpMyEdit package on a localhost and pointed it at the Wikka page table. The Wikka version of the phpMyEdit package is wiki language aware - the result turns out to be very interesting, perhaps the best of all worlds for small sites.

Here's a link to the demo of Wikka 1.2 with Wordpress skin., no phpMyEdit integration yet. Can you spot the problem with the idea of directy editting the wiki page table through a wiki page ??? Hint: it's evaluating and expanding the wiki markup in the page. :-)

More to come ...


News Flash: After 2 years, 2 months and some number of days, PmWiki 2.2.0 is out of beta !!! The lucky number was 68, winning 247 Euros. :-)

Another interesting application is PmWiki, which is even smaller than WikkaWiki (1M unzipped ), but is far more ambitious and complex. It's seems to be very powerful - their definition of "skins" may take the idea to a whole new level - skins are not just presentation layer but represent behavioral "skins" as well. Another interest feature of PmWiki is that it is based on flat files rather than a relational database ( mySQL ). There may be a potential scalability issue, but the limit seems to be in the order of 1000 pages rather than 100 pages, so it should not be a problem.

The directive language is amazingly powerful, even the ability to assign values to shared variables and definitions. Directives are also very extensible, although you may want to revisit some old regex tools and tutorials before getting into it. Regex parsing can be quite furry, when it's not outright hairy.

Among the interesting features are Conditional Directives, Page Variables and Page Text Variables. It seems to me that there is the potential of implementing a backchaining engine to provide more complex behaviors for dynamic content generation, such as defaulting and constraining rules. Most PmWiki features seem to be running on a very short code path, yielding lots of free cycles for an engine to work through large data structures. Forward chaining and Semweb relational inferencing is also a possibility, if the tyranny of code path does not weight too heavily on engine performance.

I've used PmWiki to construct several small sites and have found it to be the quickest and easiest way to get something running for the least expense of time and effort.


Oct 4 2009: Added.

I've been experimenting with Wikyblog on a localhost. It is stable, small, has good blog/wiki integration, great AJAX features. nice looking skins, a visual installer - there's lots of goodness in it. The navigation scheme has taken a bit of learning ( maybe it's just me ), but it has been well worth the effort.

I might put a demo up on the server when I've gotten navigation working and thought of something interesting to do with it.