[ANN] Ruwiki 0.9.3

A

Austin Ziegler

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 ([email protected])
Austin Ziegler ([email protected])
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:[email protected] Christian
Neukirchen].
* Translation to Spanish by [mailto:[email protected] Mauricio
Fernández].

== 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 <[email protected]>.
* 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.
 
P

pat eyler

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.

I just had the opportunity to see a talk by Randal Schwartz about
testing web applications with WWW::Mechanize and Test::More (yeah, I
know -- ewww, that's Perl stuff), and I thought that a lot of the
ideas would be portable to Ruby.

WWW:Mechanize provides methods to programmatically interact with a
website. Creating an analog in Ruby would allow for the kind of
automated testing that you're looking for.

BTW, I've Cc:ed Andy Lester, the Perl testing guru that wrote
WWW::Mechanize. Hiya Andy!

-pate
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
474,039
Messages
2,570,375
Members
47,026
Latest member
TishaMadri

Latest Threads

Top