DbToRia
The generic Database Frontend for Endusers
Install / Use
/learn @oetiker/DbToRiaREADME
=head1 NAME
DbToRia - Database to Rich Internet Application
=head1 DESCRIPTION
DbToRia is generic SQL database frontend. Just point it to your database and get a user friendly web interface. By providing DbToRia with additional information about the nature of your database the user interface can be further optimized.
=head1 SETUP
=head2 Backend
Mojo:
cpanm Mojolicious cpanm MojoX::Dispatcher::Qooxdoo::Jsonrpc
Json:
cpanm JSON::XS cpanm Mojo::JSON::Any
DB:
cpanm DBI cpanm DBD::(put-your-driver-here)
For I<quick results> use testing-db (which is a SQLite):
cpanm DBD::SQLite
Other modules needed:
cpanm Config::Grammar cpanm Try::Tiny
Edit the F<backend/etc/dbtoria.cfg> file to point to the database of your choice.
For I<quick results> put this in your F<backend/etc/dbtoria.cfg>:
*** General *** dsn = DBI:SQLite:dbname=../backend/t/sqlite_db/dbtoria_test_db
mojo_secret = MyCookieSecret log_file = /tmp/dbtoria.log schema = public encoding = latin
=head2 Frontend
Get Qooxdoo SDK:
wget http://downloads.sourceforge.net/qooxdoo/qooxdoo-3.5-sdk.zip unzip qooxdoo-3.5-sdk.zip
cd frontend
If you just want to build the production ready version of the frontend:
./generate.sh ../qooxdoo-3.5-sdk build
If you want start hacking and debuging the frontend, build the source version by calling
./generate.sh ../qooxdoo-3.5-sdk source
cd ..
=head2 Have Fun(tm)
Run DbToRia with its built-in webserver for testing:
./backend/bin/dbtoria.pl daemon
And point your browser at
=head1 BACKGROUND
DbToRia contains of two parts. One is the backend which uses Perls Mojo Web Framework, its Jsonrpc-Dispatcher and some Perl code to interact with the database. The other is the frontend which uses the JavaScript Qooxdoo Framework for Rich Internet Applications and some JavaScript code to build the website you interact with.
The frontend sends json rpc requests which are handled by the backend. After the requested information is sent back using json, too, the view is updated.
