- New database API. See lib/WikiDB.php and lib/WikiDB/backend.php for the bulk of the documentation on this. The new database can save multiple archived versions of each page. A mechanism for purging archived revisions is now in place as well. See the $ExpireParams setting in index.php, and lib/ArchiveCleaner.php for details. At this point, the DBA, MySQL and Postgres backends are functional. The DBA backend could use some performance optimization. The whole API is still subject to some change as I figure out a clean way to provide for a variety of (not all forseen) methods of indexing and searching the wiki.
- New WikiPlugin architecture.
- New template engine. This needs to be documented further, but, for now, see lib/Template.php. On second thought, don't (lib/Template.php desperately needs refactoring, still.) The basic advance is that PHP4's ob_*() functions can be used to capture output from code that is run through =eval(). This allows the templates to be PHP code...
- Edit preview button on the edit page. Now you can see what your edits look like before committing them.
- Reworked the style-sheets. I still need to clean this up some more. I would appreciate comments and bug reports on it. So far I've only tested the new style sheets with Netscape 4.77 and Mozilla 0.9.3 (both running under Linux.)
- Expanded syntax for text search, Searches like "wiki or web -page" (or "(wiki or web) and not page") will now do more-or-less what they look like they'll do.
- Security Issues: PhpWiki will now work with PHP's register_globals set to off.
PhpWiki 1.3.x development branch.
- Pagenames in PATH_INFO.
- File uploads: see PhpWikiAdministration.
- Ugly MagicPhpWikiURLs for administrative links.
PhpWiki 1.2 is a huge advance over version 1.0:
- Database support for MySQL, Postgresql, mSQL, flat file and the new dba_ library in PHP4 is included.
- Internationalization: support for different languages, down to the source level, is included. German, Spanish, Swedish and Dutch are currently shipped with PhpWiki. An architecture is in place to easily add more languages.
- New linking schemes using square brackets in addition to the old style BumpyText.
- Administration features include page locking, dumping the Wiki to a zip file, and deleting pages.
- A MostPopular page showing the most frequently hit pages.
- Full HTML compliance.
- Links at the bottom of pages describing relationships like incoming links from other pages and their hits, outgoing and their hits, and the most popular nearby pages.
- Color page diffs between the current and previous version.
- An info page to view page metadata.
- Far more customization capability for the admin.
- A templating system to separate the page HTML from the PHP code.
- New markup constructs for <B>, <I>, <DD>,
- Tabless markup to supercede the older markup (both still supported).
PhpWiki 1.1.6 is a major revision of PhpWiki. The ability to have themes (via an easy-to-edit template system) has been added; the schema for MySQL has been completely overhauled, breaking the page details into columns (for efficiency we agreed not to put references in a separate table, so it's not completely normalized. "Don't let the best be the enemy of the good.")
Postgresql support has been added and the markup language is evolving, now allowing
tags and a new way to make text bold, and of course the new linking scheme?.
There is a new feature on all pages called more info that gives you a low level detailed view of a page, which is probably more useful for debugging than anything.
As we move towards a 1.2 release we will be adding logging, top ten most active pages and other new features with the new database schema (and yes, these features will make it into the DBM version too). I also want to add mSQL support and test it under Zend, the new PHP4.
Version 1.0 is a near-perfect clone of the Portland Pattern Repository, http://c2.com/cgi-bin/wiki?WikiWikiWeb. In truth, I was using the Wiki script you can download from there as a model; that Wiki lacks a number of features the PPR has, like EditCopy?. So in truth PhpWiki is a kind of hybrid of the PPR and the generic Wiki you can get from there (which is written in Perl).
The one caveat of PhpWiki is the allowance of HTML if the line is preceded by a bar (or pipe, which is how I usually say it). (That's a '|'). It was very simple to add, and the idea came from a posting somewhere on the PPR about how AT&T had an internal Wiki clone and used the same technique. The ability to embed HTML is disabled by default for security reasons.
Version 1.01 includes a patch that fixes a small error with rendering <hr> lines. Thanks to Gerry Barksdale.
See the HISTORY file for a rundown on the whole development process if that sort of thing really interests you :-)