NAME

Ado::Manual - Getting started with Ado

DESCRIPTION

Ado is a lightweight and reliable base for developing realtime web applications with database backend for the enterprise.

Ado is based on Mojolicious and implements many of the recommendations found in Mojolicious::Guides. When in doubt how to implement something we first recur to these recommendations.

Ado is a typical Mojo application yet it adds some default configuration and a model layer. An SQLite database is bundled in the distribution at etc/ado.sqlite to get started quickly. Tables can be accessed and manipulated using DBI, DBIx::Simple or any ORM. We prefer DBIx::Simple::Class trough Mojolicious::Plugin::DSC. DBIx::Simple::Class was developed in fact for Ado as a simple OM that provides representation of table records as plain Perl objects. Ado is the successor of MYDLjE.

INSTALLATION

Ado is meant to be installed into a folder of your choice. It can go into the site folder of your non-system Perl distro but better install it in its own folder.

We do not recommend using Ado with your system Perl! Get a precompiled Perl distro like "Citrus Perl" (http://www.citrusperl.com/download.html) or "ActivePerl Community Edition" (http://www.activestate.com/activeperl/downloads) for your OS, or build your own using App::perlbrew.

Ado can be downloaded from CPAN http://search.cpan.org/dist/Ado/ or installed directly from CPAN using cpan or cpanm commandline tools.

cpan[2]> install Ado
Running install for module 'Ado'
Running make for B/BE/BEROV/Ado-0.20.tar.gz
...  
Where do you want to install Ado?
Some private install_base directory is *highly* recommended.
The path will be created if it does not exist.
 [/home/berov/opt/ado ]
/home/berov/opt/ado 
...
  BEROV/Ado-0.20.tar.gz
./Build install install  -- OK

To install manually Ado after downloading, run the following commands:

tar -zxf Ado-X.XX.tar.gz
cd Ado-X.XX/
perl Build.PL --install_base $HOME/path/to/ado
#if run without --install_base $HOME/opt/ado will be suggested
./Build installdeps
./Build
./Build test
./Build install

SUPPORT AND DOCUMENTATION

After installing, you can find documentation with the perldoc command. To use perldoc for reading documentation you need to add the full path to Ado lib/ directory to PERL5LIB environment variable.

perldoc Ado
perldoc Ado::Manual #this page

For better experience run the ado application and read the documentation from your browser.

$HOME/opt/ado/bin/ado daemon

Go to http:/localhost:3000/perldoc

You can report bugs and suggest features at http://github.com/kberov/Ado/issues. Bugs will be considered and fixed as time permits. Feel invited to make pull requests for your contributions.

CONTRIBUTING

Of course anybody can contribute by reporting issues via github. To be able to contribute with code some rules need to be kept. This is mandatory for any community project. Generally the rules outlined in Mojolicious::Guides::Contributing apply for Ado too. For specific to Ado rules see Ado::Manual::Contributing.

We expect that you know how to write perl Modules.

REST API

Ado strives for strict separation of concerns. The best way to achieve this is to fully separate the client code from the server code. Ado is ideally suited for the purpose thanks to Mojolicious. Every resource is accessible via the REST API. We follow closely and elaborate on the recommendations in "RESTful Service Best Practices" at www.RestApiTutorial.com. See Ado::Manual::RESTAPI.

PLUGINS

One way to contribute to Ado is by writing plugins. They work the same way as Mojolicious::Plugins and share the same common base trough Ado::Plugin. Ado plugins have one small additional feature. They can store separately their own configuration in $ENV{MOJO_HOME}/etc/plugins/plugin_name.conf. Business-specific applications for an Ado-based system are usually implemented as plugins. See Ado::Manual::Plugins and Ado::Plugin for more information.

SEE ALSO

Ado, Mojolicious::Guides, Mojolicious::Guides::Contributing, "prefix_vs_install_base" in Module::Build::Cookbook, http://www.thefreedictionary.com/ado.

AUTHOR

Красимир Беров (Krasimir Berov)

COPYRIGHT AND LICENSE

Copyright 2013 Красимир Беров (Krasimir Berov).

This program is free software, you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License v3 (LGPL-3.0). You may copy, distribute and modify the software provided that modifications are open source. However, software that includes the license may release under a different license.

See http://opensource.org/licenses/lgpl-3.0.html for more information.