This is a Wiki Page plugin. Follow the instructions in README.TXT very carefully. They are listed below in case you'd like to know what you're getting yourself into before downloading.

Note: This plugin has only been tested on a very limited number of platforms with only one database. Use at your own risk.

Download dbplugin_20080812.zip

FitNesse Database Plugin

Stephen Starkey

This plugin provides a replacement to the standard file system back-end to FitNesse. Instead of storing your Wiki pages in a standard hierarchical file system structure, they are stored in a database schema. This makes searching, refactoring, etc. much faster, as databases are optimized for such things.

Please read this file fully before executing any steps. It contains forward references which, when executed out of order, will cause much disappointment in the reader.

PACKAGE CONTENTS

Included in this package are the following:

File Description
README.txt This file
fitnesse_db.jar This plugin
DBPool.jar A library for database connection pooling
fitnesse.sql A SQL Script for creating the database and tables
plugins.properties A sample plugins.properties to make FitNesse use the plugin

BEFORE INSTALLING

A database server must be located and have the schema installed. In MySQL, perform the following steps:

  • Log on as root (mysql -u root)
  • Type “source fitnesse.sql”
  • (optionally) GRANT ALL ON fitnesse.* TO <user>@'localhost' IDENTIFIED BY <password>
  • (optionally) GRANT ALL ON fitnesse.* TO <user> IDENTIFIED BY <password>

INSTALLATION

  • Identify the location of your FitNesse installation. We refer to this location as FITNESSE_ROOT
  • Copy the following files into FITNESSE_ROOT. If a plugins.properties already exists, append its contents instead of replacing it.
    • fitnesse_db.jar
    • DBPool.jar
    • plugins.properties
  • Download your favorite JDBC Driver and place it in FITNESSE_ROOT
    • This plugin was tested with MySQL (http://dev.mysql.com/downloads/connector/j/5.1.html)
  • Edit your run script:
    • Locate the line: jvm_args[${#jvm_args[*]}]=“fitnesse.jar”
    • Add fitnesse_db.jar, DBPool.jar, and your JDBC Driver to the classpath, so it looks like:
      • (this is for Unix. Windows uses ';' instead of ':') jvm_args[${#jvm_args[*]}]=“fitnesse.jar:fitnesse_db.jar:DBPool.jar:<dbdriver>.jar”
  • Edit plugins.properties (all property names below are prefixed with com.xb.fitnesse.db)
    • driver_classes - the classes that need to be loaded into the classloader for the driver to work
    • connect_string - The JDBC connect string required to connect to your database
    • maxconn (optional, defaults to 30) - Max connections allowed in the connection pool
    • maxpool (optional, defaults to 10) - Max idle connections in the connection pool
    • expiry (optional, defaults to 180) - Time until a connection is closed due to disuse
    • username (optional) - Username to use to connect in the database.
    • password (optional) - Password to use to connect in the database.

If you have a bunch of existing pages you want to import, you can do so:

  • Execute “java -classpath fitnesse.jar:fitnesse_db.jar:your_db_driver.jar:DBPool.jar com.xb.fitnesse.db.DatabaseImport FitNesseRoot

After you're done, just execute run.sh or run.bat as you normally would!


Personal Tools