NAME
RapidApp::Manual::Bootstrap - Bootstrapping a new app with rapidapp.pl
DESCRIPTION
RapidApp ships with the script rapidapp.pl which you can use to create a new application from scratch with a skeleton of base files and directories. It extends the existing catalyst.pl script and "helper" ecosystem, but with some RapidApp-specific customizations, including support for different helper "traits" to setup different common application scenarios out-of-the-box.
BASIC USAGE
Running rapidapp.pl
with no arguments will show its usage with basic examples:
rapidapp.pl
The usage is exactly the same as catalyst.pl
with the exception of the additional --helpers
option which can be used to specify a comma-separated list of helper traits which are essentially different modes of operation.
For example, the RapidDbic helper trait will automatically configure the new application to use the RapidDbic plugin, as well as create a DBIC model and schema for an existing database:
rapidapp.pl --helpers RapidDbic MyApp -- --dsn dbi:mysql:database=somedb,root,''
The arguments following the --
are processed by the specified helpers rather than the main script itself. In the case of the RapidDbic helper, the --dsn
parameter supplies the database connection info.
Not all helper traits are so complex. For instance, the "Templates" helper trait simply includes additional example configurations for RapidApp's built-in template functionality.
Multiple helpers can be used together. For example, the following will setup an application named "MyApp" with plugins to enable default user logins (default credentials: admin/pass
) saved views, example template controller configs, and access to a copy of an existing SQLite database file:
rapidapp.pl --helpers RapidDbic,Templates,AuthCore,NavCore MyApp \
-- --from-sqlite /path/to/existing/sqlt.db
MORE INFO
This documentation is still preliminary, however, the configs and files generated in the new app include additional comments and explanations. So, to learn more about a particular helper trait or config option, create a new app and look at its files (most everything is created within the main application class (i.e. MyApp.pm).
Also, since everything is based on Catalyst, its documentation which is much more thorough is a good place to start.