The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Bigtop::Docs::AutoBackends - lists all backends and their config statements

Intro

Bigtop is a facade for a set of backends which do the actual generation. Each generating backend lives in the Bigtop::Backend:: namespace. Further, each backend has a type or family. For example, there are three generators in the SQL family. All of them live in the Bigtop::Backend::SQL:: namespace. Finally, each backend is in a module, whose name completes the package name. For example the PostgreSQL backend is Bigtop::Backend::SQL::Postgres.

Below are listes all the current Bigtop backends (at least the ones that ship with Bigtop, your local system could have others). In addition to briefly describing what the backend is responsible for building, there is also a description of all the keywords you can put in the backend's config block to control its behavior.

All backends are listed in the Bigtop config block, which begins each bigtop file. That list controls what the user is allowed to build. The order of appearance controls the order of generation when the user chooses to build all, as in

    bigtop docs/app.bigtop all

A typical backend block looks like this:

    CGI Gantry { with_server 1; }

Here there is a backend type CGI, a specific backend Bigtop::Backend::CGI::Gantry and a block with one statement: with_server.

That block goes in the config block at the top of the file:

    config {
        # config statements like 'engine' statements
        CGI Gantry { with_server 1; }
        # ... other backends
    }

Now that you know what backend blocks look like, and where to put them, it's time for the "Litany of Backends".

Litany of Backends

Below is a subsection for each backend type. Within the subsection is a list of backends in that type family.

Note that the list below is in alphabetical order by type family, but you almost always need to list an Init:: backend first. They are responsible for making the build directory among other things.

CGI

Gantry

This CGI Gantry makes the following:

app.cgi

CGI or FastCGI dispatching script

app.server

Stand alone Gantry::Server [optional]

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip everything for this backend

fast_cgi

This statement takes a boolean value use 0 or 1.

Make the script for use with FastCGI

gantry_conf

This statement takes a boolean value use 0 or 1.

check here if you use the Conf Gantry backend

with_server

This statement takes a boolean value use 0 or 1.

Turns on stand alone Gantry::Server generation

server_port

Specifies the port for stand alone server [ignored unless Build Server is checked]

gen_root

used to make a default root on request, now you get defaults by defaul

flex_db

This statement takes a boolean value use 0 or 1.

Adds command line args to stand alone server to allow easy DBD switching

template

A custom TT template.

Conf

Gantry

This Conf Gantry makes the following:

docs/AppName.gantry.conf

Your config info for immediate use with Gantry::Conf

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip everything for this backend

instance

Your Gantry::Conf instance

conffile

Your master conf file [use a full path]

gen_root

used to make a default root on request, now you get defaults by defaul

template

A custom TT template.

General

This Conf General makes the following:

docs/AppName.conf

Your config info in Config::General format

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip everything for this backend

gen_root

used to make a default root on request, now you get defaults by defaul

template

A custom TT template.

Control

Gantry

This Control Gantry makes the following:

lib/AppName.pm

Base module stub [safe to change]

lib/AppName/*.pm

Controller stubs [safe to change]

lib/AppName/GEN/*.pm

Generated code [please, do not edit]

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip everything for this backend

run_test

This statement takes a boolean value use 0 or 1.

Makes tests which hit pages via a simple server

full_use

This statement takes a boolean value use 0 or 1.

use Gantry qw( -Engine=... ); [defaults to false]

dbix

This statement takes a boolean value use 0 or 1.

Makes controllers usable with DBIx::Class

template

A custom TT template.

Diagram

GraphvizSql

This Diagram GraphvizSql makes the following:

docs/schema.diagram

Graphviz dot file for SQL data model

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip everything for this backend

template

A custom TT template.

skip_layout

This statement takes a boolean value use 0 or 1.

Do NOT run a Graphviz layout program like dot.

layout_program

Some Graphviz layout program like neato. [Default is dot]

layout_flags

Command line flags for Graphviz layout program. [Default is -Tpdf]

HttpdConf

Gantry

This HttpdConf Gantry makes the following:

docs/httpd.conf

Include file for mod_perl apache conf

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip everything for this backend

gantry_conf

This statement takes a boolean value use 0 or 1.

check here if you use the Conf Gantry backend

skip_config

This statement takes a boolean value use 0 or 1.

do not generate PerlSetVar statements [checking gantry_conf makes this true]

full_use

This statement takes a boolean value use 0 or 1.

use Gantry qw( -Engine=... ); [defaults to true]

gen_root

used to make a default root on request, now you get defaults by defaul

template

A custom TT template.

Init

Std

This Init Std makes the following:

Build.PL

Module::Build script

Changes

Almost empty Changes file

README

Boilerplate README

lib/

lib dir used by Control and Model backends

t/

testing dir used by Control backend

docs/name.bigtop

Copy of your bigtop file [create mode only]

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip MANIFEST generation

template

A custom TT template.

Model

GantryCDBI

This Model GantryCDBI makes the following:

lib/AppName/Model/*.pm

Class::DBI style model stubs [safe to change]

lib/AppName/Model/GEN/*.pm

Class::DBI style model specifications [please, do not change]

Notes:

  • This backend is incompatible with other Model backends.

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip everything for this backend

model_base_class

Defaults to Gantry::Utils::CDBI

template

A custom TT template.

GantryDBIxClass

This Model GantryDBIxClass makes the following:

lib/AppName/Model/*.pm

DBIx::Class style model stubs [safe to change]

lib/AppName/Model/GEN/*.pm

DBIx::Class style model specifications [please, do not change]

Notes:

  • This backend requires "For use with DBIx::Class" to be checked for the Control Gantry backend.

  • This backend is incompatible with other Model backends.

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip everything for this backend

model_base_class

Defaults to Gantry::Utils::DBIxClass

template

A custom TT template.

extra_components

Things other than PK::Auto and Core to load. Separate multiples with spaces.

SQL

DB2

This SQL DB2 makes the following:

docs/schema.db2

SQL for DB2 database creation

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip everything for this backend

template

A custom TT template.

MySQL

This SQL MySQL makes the following:

docs/schema.sqlite

MySQL database schema

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip everything for this backend

template

A custom TT template.

Postgres

This SQL Postgres makes the following:

docs/schema.postgres

Postgres database schema

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip everything for this backend

template

A custom TT template.

SQLite

This SQL SQLite makes the following:

docs/schema.sqlite

SQLite database schema

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip everything for this backend

template

A custom TT template.

SiteLook

GantryDefault

This SiteLook GantryDefault makes the following:

html/genwrapper.html

A sample template toolkit wrapper [please change it]

This backend understands these config block keywords:

no_gen

This statement takes a boolean value use 0 or 1.

Skip everything for this backend

gantry_wrapper

Path to sample_wrapper.tt in the Gantry distribution [defaults to ./html]

AUTHOR

The skip/backends script generated this file Sat Jul 10 17:04:09 2010. The script was written by Phil Crow <crow.phil@gmail.com>.

COPYRIGHT and LICENSE

Copyright (C) 2007 by Phil Crow

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.6 or, at your option, any later version of Perl 5 you may have available.

But keep in mind that it was generated. Make modifications to the generting script.