.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Bigtop::Backend::Control 3" .TH Bigtop::Backend::Control 3 "2008-01-18" "perl v5.8.8" "User Contributed Perl Documentation" .SH "NAME" Bigtop::Backend::Control \- defines legal keywords in control blocks .SH "SYNOPSIS" .IX Header "SYNOPSIS" If you are making a control generating backend: .PP .Vb 1 \& use Bigtop::Backend::Control; .Ve .PP This specifies the valid keywords for the controller. .PP If you need additional keywords which are generally useful, add them here (and send in a patch). If you need backend specific keywords, register them within your backend module. .SH "DESCRIPTION" .IX Header "DESCRIPTION" If you are using a Bigtop backend which generates controllers, you should read this document to find out what the valid keywords inside controller blocks are and what affect they have. .PP If you are writing a Bigtop backend which generates controllers, you should use this module. That will register the standard controller keywords with the Bigtop parser. .SH "BASIC STRUCTURE" .IX Header "BASIC STRUCTURE" A controller block looks like this: .PP .Vb 1 \& controller name { } .Ve .PP Inside the braces, you can include simple statements or method blocks. Each method block looks like this: .PP .Vb 1 \& method name is type { } .Ve .PP The type must be supported by your backend. Look in its pod for \&\s-1SUPPORTED\s0 \s-1TYPES\s0. .SH "KEYWORDS in app blocks" .IX Header "KEYWORDS in app blocks" This module registers these keywords in app blocks: .IP "authors" 4 .IX Item "authors" These are the authors which Control backends will put in the pod stub for each generated module. Unless you use the copyright_holder statement, the first author will also be used as the copyright holder. .Sp Entries in this list may be either simple names or name => email pairs. .IP "contact_us" 4 .IX Item "contact_us" Text to include in the \s-1CONTACT\s0 \s-1US\s0 section of the base module's \s-1POD\s0. .IP "copyright_holder" 4 .IX Item "copyright_holder" This string will come at the end of the phrase Copyright... in the pod. By default, it will be the first person in the authors list. .IP "email" 4 .IX Item "email" Deprecated synonymn for contact_us. .Sp This will be presented by the Control backend as the author's email in the \s-1AUTHOR\s0 section of the pod block at the bottom of each module. .IP "license_text" 4 .IX Item "license_text" The exact text of the paragraph that comes directly after the copyright statement in the all files that have that. Controllers should pick a default that h2xs would have generated for Perl version 5.8 or later. .Sp Example: .Sp .Vb 2 \& copyright_holder `Your Company Inc.`; \& license_text `All rights reserved.`; .Ve .Sp Example output: .Sp .Vb 1 \& Copyright (c) 2005 Your Company Inc. .Ve .Sp .Vb 1 \& All rights reserved. .Ve .IP "location" 4 .IX Item "location" Base url for the application. Normally, this applies only to httpd.conf and things like it. We need it here to generate tests. .SH "KEYWORDS in controller blocks" .IX Header "KEYWORDS in controller blocks" The simple statement keywords available in controller blocks are (all of these are optional): .IP "controls_table" 4 .IX Item "controls_table" This is the name of the table which this controller controls. It must be defined in a table block somewhere in the bigtop file. .IP "uses" 4 .IX Item "uses" A comma separated list of modules which the controller should include with Perl use statements. There is not currently a way to limit what these modules export, except by editing the generated stub. .IP "text_description" 4 .IX Item "text_description" This is a short phrase that describes the rows of the table. It will usually become the return value of get_text_description (a class accessor). For example, Gantry's AutoCRUD uses this in user messages. .IP "rel_location" 4 .IX Item "rel_location" The location (\s-1URL\s0 suffix) relative to the base location of the application, which will hit a given controller. This keyword is primarily for httpd conf and the like, but we need it here to generate tests. .IP "location" 4 .IX Item "location" The location (\s-1URL\s0) which will hit a given controller. This keyword is primarily for httpd conf and the like, but we need it here to generate tests. .PP Note that some other backend types also look for information in controller blocks. Pay particular attention to HttpdConf backends. They typically expect a location or rel_location keyword which becomes the Apache Location for the controller. .SH "METHODS for Control backends" .IX Header "METHODS for Control backends" .IP "is_controller_keyword" 4 .IX Item "is_controller_keyword" Parameters: a word which might be a controller keyword .Sp Returns: true if it is a controller keyword, false otherwise .SH "AUTHOR" .IX Header "AUTHOR" Phil Crow .SH "COPYRIGHT and LICENSE" .IX Header "COPYRIGHT and LICENSE" Copyright (C) 2005 by Phil Crow .PP 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.