It's your fucking Rails application. You know how to run it. If for some reason you don't, read instructions below. Please note, instructions assumes that you can read them, copy-paste commands and read their output. If you can't do that, click http://www.mcdonalds.com.
Go to http://beginrescueend.com/ and follow instructions. Install default requirements as rvm tells you, but do not install ruby.
rvm install 1.9.3 --default
rvm 1.9.3@worm-reports --create
git clone https://github.com/iced/worm-reports cd worm-reports
If you are Java developer, visit http://help.github.com/set-up-git-redirect first.
Put needed database driver to Gemfile (defaults to PostgreSQL) and adjust config/database.yml to point to your database. By default rails will start in development mode, so edit development section. Also, install dev package for your database. E.g. for postgresql on Ubuntu you need to run following command.
apt-get install libpq-dev
Install ExecJS Runtime
Go to https://github.com/sstephenson/execjs and read documentation. Best choice here is Node.js. Follow instructions at following link https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager. If you are using Ubuntu or other broken distro, turn it into Slackware as described at http://apptob.org/. Don't worry, it's Debian Way (tm).
If you need sample table and data, run following commands.
rake db:migrate rake db:seed
By default it loads all XMLs from config/reports. Adjust config/initializers/reports.rb if you need other path.
Now point browser to http://localhost:3000/reports and have fun.
Pagination supported by lib, but not enabled for client. If you need, edit show method app/controllers/reports_controller.rb to something like:
(count, @fields, @sql, @data) = report.execute(parameters, page, 50) num_pages = count / 50 + (count % 50 == 0 ? 0 : 1)
Also, don't forget to add navigation HTML to app/views/reports/show.html.erb.
Note, all date operations are executed in server's TZ. Also, please note that datetime format support is limited to yyyy (4 digit year), yy (2 digit year), mm (2 digit month), dd (2 digit day of month), hh (2 digit hour in 24h format), ii (2 digit minutes) and ss (2 digit seconds). Hours/minutes/seconds must be after year/month/day. If you want more - feel free to hack lib/reports/parameters/date.rb, lib/reports/parameters/datetime.rb and lib/reports/formatters/datetime.rb.
If field format is specified, it's assumed to be datetime format. If you'll try to add format to non date or datetime field, result will be... surprising.
One and only requirement is valid XML. Inside of it you can use (and mix) any case(s) you want.