Tobias Oetiker
and 1 contributors

NAME

Mojolicious::Plugin::Qooxdoo - System for writing Qooxdoo backend code with Mojolicious

SYNOPSIS

 # lib/your-application.pm

 use Mojo::Base 'Mojolicious';
 use MyJsonRpcController;
 
 sub startup {
    my $self = shift;
       
    $self->plugin('qooxdoo',{
        prefix => '/',
        path => 'jsonrpc',
        controller => 'my_json_rpc_conroller'
    });
 }

DESCRIPTION

To deal with incoming JSON-RPC requests, write a controller using Mojolicious::Plugin::Qooxdoo::JsonRpcController as a parent, instead of the normal Mojolicious::Controller class.

See the documentation in Mojolicious::Plugin::Qooxdoo::JsonRpcController for details on how to write a qooxdoo json rpc controller.

The plugin understands the following parameters.

prefix

By default the plugin will add its routes starting at the root / by setting a prefix you can move them down the tree.

controller

The name of your RpcService controller class. See Mojolicious::Plugin::Qooxdoo::JsonRpcController for details on how to write a service. If no controller argument is specified, the plugin will only install the routes necessary to server the qooxdoo javascript files and assets.

namespace

If your controller class does not reside in the the application namespace.

path (default: jsonrpc)

If your application expects the JSON-RPC service to appear under a different url.

Source Mode

While developing your qooxdoo application it is handy to run its souce version. Normally this is done directly from the file system, but in that mode your application will not be able to call back to the server with POST requests.

This module provides a qooxdoo source mode where it will serve the source version of your application. Set the QX_SRC_MODE environment variable to "1" to activate the source mode. By default, the module expects to find the source of your application in MOJO_HOME/../frontend/source if you keep the source somewhere else you can set the alternate location via QX_SRC_PATH either absolute or relative to the MOJO_HOME directory.

In production mode, the plugin expects to find the result of your generate.py build run in mojos public directory.

AUTHOR

Tobias Oetiker, <tobi@oetiker.ch>

COPYRIGHT

Copyright OETIKER+PARTNER AG 2013

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.