It is with some mild embarrassment and trepidation that I release
Ruwiki 0.9.3. The truth is that I didn't run a full suite of tests
on the last couple of releases. My apologies to those interested.

I asked for development help on a variety of different projects, but
I am also asking for some specific help here -- if anyone can think
of ways to add to the automated testing for Ruwiki, I would
appreciate it.

= Announcing Ruwiki 0.9.3
Ruwiki is a simple, extensible Wiki-clone written in Ruby. It
supports both CGI and WEBrick interfaces, templates, and CSS
formatting. This Wiki differs from most other Wikis in that it
supports project namespaces, so that two topics may be named the
same for differing projects without colliding or having to resort to
odd naming conventions. Please see the Ruwiki project in the running
Wiki for complete information. Ruwiki 0.9.3 has German and Spanish
translations available.

This will hopefully be the last release of Ruwiki 0.9.x. Ruwiki
0.10.0 will be released Q1 2005.

Ruwiki 0.9.3 is an incremental improvement and bugfix over Ruwiki
0.9.2 and 0.9.1. Ruwiki 0.9.3 fixes a deployment bug introduced in
the Ruwiki 0.9.1. The fixes for Ruwiki 0.9.2 and 0.9.1 are, of
course, folded in:
  * The first item in the token list is now guaranteed to not be
    nil.
  * Google redirection is fixed and URIs may be whitelisted.
  * Some token rendering issues have been resolved.
  * Win32::Service support has been simplified and improved.

In the new year, the administrators of RubyForge and I will be
making Ruwiki available as an alternative wiki (in addition to the
UseMod wiki) on RubyForge. Note that UseMod does have some features
that are not yet present on Ruwiki.
  * There is currently no way to view the revision history. It may
    be necessary to eliminate the currently stored history if I
    change the format again. I will endeavour to prevent this from
    happening, but I can make no promises as I revise Diff::LCS to
    support the rich context-sensitive diff format that I will
    require for optimal Ruwiki performance on this.
  * User identification. This is not as big an issue with a
    RubyForge-hosted wiki, as user identification is gained from
    the RubyForge database, but it is still desirable to add a user
    identification method for Ruwiki itself.

Jim Weirich is working on a UseMod-to-Ruwiki conversion program.

== Why Ruwiki?
* Ruwiki runs as CGI or WEBrick servlet.
* Should be easily portable to mod_ruby, FCGI, or other frameworks.
* Cleanly separated templates and CSS.
* Project namespacesˇ˝Default::ReadMe and Project::ReadMe are two
  different pages.
* Easily extensible.
* Focus on anti-spam.
* Speed focus is later, but it's plenty fast now (not benchmarked,
  though).
* Easily pack up templates, data, and configuration into something
  that can be deployed elsewhere.
* Includes Win32 service support out of the box.

== Where to get it?
RubyForge:      <http://ruwiki.rubyforge.org> 
              <http://rubyforge.org/frs/?group_id=84> 

The normal .tar.gz distribution requires that you have Diff::LCS
1.1.2 and Archive::Tar::Minitar 0.5.1 installed in your Ruby
installation.

The full .tar.gz distribution includes full distributions of
Diff::LCS 1.1.2 and Archive::Tar::Minitar 0.5.1. Modified installers
for these packages are included to install only the files from these
packages, but they are in location to work with the CGI version of
ruwiki.

Standard RubyGems and RPA distributions are also available; these
will ensure that you have the appropriate versions of Diff::LCS and
Archive::Tar::Minitar.

=== Which distribution?
All distributions are functionally equivalent (and contain the same
tools), although the RPA and RubyGem packages install the support
utilities in standard locations, so they may be easier to use -- but
they require separate deployment before they can be usefully run.
Choose the .tar.gz distributions if you are in a situation where you
do not control what is or can be installed in the Ruby site library
or other standard locations.

== Quick Start
How you get started with Ruwiki depends on how you have acquired
Ruwiki and how you prefer to run Ruwiki. In the descriptions below,
.tar.gz refers to either the normal or full tar distribution and
Installer refers to either the RPA or RubyGem installation of
Ruwiki.

=== .tar.gz CGI
1. Install Ruwiki where your webserver can execute CGI programs and
   ensure that ruwiki.cgi is executable. If the webserver user
   permissions are different than those with which Ruwiki is
   installed, you will need to ensure that ./data is writeable and
   ./templates is readable by the web server user.
2. Point your web browser to the appropriate URL.

=== .tar.gz WEBrick
1. Run bin/ruwiki_servlet (ruby bin/ruwiki_servlet under Windows).
2. Point your web browser to <http://localhost:8808/>.

=== Installer WEBrick (Readonly)
1. Run ruwiki_servlet with the --central option:
   % ruwiki_servlet --central

2. Point your web browser to <http://localhost:8808/>.

=== Installer CGI
1. Create a directory in a place that your webserver can execute CGI
   programs and type:

   % ruwiki install cgi,data --to <directory> 

   If the webserver user permissions are different than those with
   which Ruwiki is installed, you will need to ensure that ./data is
   writeable and ./templates is readable by the web server user.
2. Point your web browser to the appropriate URL.

=== Installer WEBrick
1. Create a directory to store your data and templates and type:
   % ruwiki install data --to <directory> 

2. Run ruwiki_servlet:
   % ruwiki_servlet

3. Point your web browser to <http://localhost:8808/>.

=== Installer Windows Service (WEBrick and Win32::Service)
1. Create a directory to store your service runner, data, and
   templates and type:
   % ruwiki install service,data --to <directory> 

2. Change to that directory to install and start the service:
   % ruwiki service install RuwikiSvc
   % ruwiki service start RuwikiSvc

3. Point your web browser to <http://localhost:8808/>.

== Configuration
There are extensive configuration options available. The Ruwiki
WEBrick servlet offers command-line options that simplify the
configuration of Ruwiki without editing the servlet; use
ruwiki_servlet --help for more information.

The WEBrick servlet can also be used with --save-config to save a
ruwiki.conf that may be edited. Options may be chosen set on the
servlet commandline and these values will be saved into
configuration file.

== Copyright
Copyright:  Copyright  2002 - 2004, Alan Chen and Austin Ziegler
Authors:    Alan Chen (alan / digikata.com)
            Austin Ziegler (ruwiki / halostatue.ca)
Licence:    Ruby's

== Credits
* The full distribution of this software includes Diff::LCS and
  Archive::Tar::Minitar by Austin Ziegler, available for download
  from the Ruwiki RubyForge project:
    <http://rubyforge.org/projects/ruwiki/>
* Portions of this software are derived from Dave Thomas's RDoc
  system, now part of the Ruby distribution.

* Translation to German by [mailto:chneukirchen / yahoo.de Christian
  Neukirchen].
* Translation to Spanish by [mailto:batsman.geo / yahoo.com Mauricio
  Fernndez].

== Quick Errata
* There are several issues with all Readme files in all
  distributions:
  * References to the bin/convert utility are incorrect. The utility
    is now bin/ruwiki_convert. Remember: you don't need the
    conversion utility to convert from Ruwiki 0.8.0 to Ruwiki 0.9.2.
  * There is no YAML backend in Ruwiki 0.9.2. YAML is now a format
    option within the Flatfiles backend (the same applies to the
    Marshal backend). It now requires Ruby 1.8.2 preview 3 or
    better.
  * There is no Diff::LCS 1.2.0; Ruwiki 0.9.2 only works with
    Diff::LCS 1.1.2 (the RubyGems expression is ~> 1.1.2, which will
    prevent Ruwiki from working with Diff::LCS 1.2.0 when it is
    released).
* Issues in the Readme.rubygems file:
  * The option to run Ruwiki from the centralised data is --central,
    not --gem-data.
* Issues in the Readme.tarfile file:
  * Only the ruwiki-full-0.9.2.tar.gz distribution includes
    Diff::LCS and Archive::Tar::Minitar.
* Additional Spanish translations have been provided by Horacio
  "vruz" Lopez <horacio.lopez / gmail.com>.
* There are known display oddities with Internet Explorer and Opera.
  These will be dealt with in the future.
* The To Do list has not been fully updated to reflect the additions
  to Ruwiki 0.9.x.
--
Austin Ziegler * halostatue / gmail.com
              * Alternate: austin / halostatue.ca