- 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 eval()ed PHP code. 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, now searches like "wiki or web -page" (or "(wiki or web) and not page") will 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.
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 supersede the older markup (both still supported).
PhpWiki 1.1.9 includes Spanish language pages, a full implementation for
Postgresql, numerous bug fixes and more. See the HISTORY file for more
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.
Below are the release notes for version 1.03, the last release of the 1.0 PhpWiki
series. --Steve Wainstead, firstname.lastname@example.org
PhpWiki was written because I am so interested in WikiWikiWebs?, and I haven't used PHP since version 2.0. I wanted to see how it had advanced.
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 :-)