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 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.

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.

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

<h2>

<h3>

<h4>

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, swain@panix.com

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 :-)