.\" 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 "Gantry::Docs::About 3" .TH Gantry::Docs::About 3 "2008-01-18" "perl v5.8.8" "User Contributed Perl Documentation" .SH "Name" .IX Header "Name" Gantry::Docs::About \- A document explaining Gantry's features and history .SH "History" .IX Header "History" Along about 1997 or so, our company (a cable/ISP owned by a newspaper) began serving mod_perl apps to staff and customers. A framework developed and flourished. It was simple, explicit, and fast enough for the high-volume sites run by our parent newspaper. As time passed, improvements were made until a second version was conceived and deployed. .PP Finally, in August of 2005, a third revision was completed which is now available as an open source product (under the standard Perl license). The new version has lots of new features and removes some of the arcana that built up over the previous six or so years. Notably, it gained an \&\s-1MVC\s0 structure and some nifty automated \s-1CRUD\s0. But the newly released third version, now called Gantry, retains simplicity, explicitness, speedy throughput, and the ability to host complex projects. .SH "Features" .IX Header "Features" Gantry has these basic features: .IP "\(bu" 4 a central mod_perl handler all apps may inherit (Gantry.pm) .IP "\(bu" 4 CGI/FastCGI support (Gantry::Engine::CGI) .IP "\(bu" 4 automated \s-1CRUD\s0 (create, retrieve, update, delete) for straightforward tables (Gantry::Plugins::AutoCRUD) .IP "\(bu" 4 flexible \s-1CRUD\s0 for the sophisticated parts of applications (Gantry::Plugins::CRUD) .IP "\(bu" 4 easy date entry (via javascript code in form.tt) .PP Gantry supports these features: .IP "\(bu" 4 \&\s-1AJAX\s0 (via your favorite \s-1AJAX\s0 module) .IP "\(bu" 4 basic apache authentication (Gantry::Control::C::Authen Gantry::Control::C::Authz, and other modules) .SH "The Name" .IX Header "The Name" Previous versions of this framework were named for the company that originally used it. To release it into the wild, we needed a new name. After extensive head scratching, and much dictionary and thesaurus examination, we settled on Gantry. .PP \&\*(L"Gantry\*(R" can mean the framework on which a rocket is built or serviced. We like that. Our Gantry is a framework for building things: namely high powered, high speed, and often highly complex apps. .PP But \*(L"gantry\*(R" also means the framework that holds signs or signals over a road or railroad. As much as I like thinking of rocket powered apps, the sign holder is more apt. Just think of a large metal gantry that holds signs over a freeway. The structure itself is most of the gantry. The signs are small relative to that structure. Once the signs are up, the structure stays with them, supporting them throughout their life. Even if the signs have to change, the gantry is still there to hold the new ones. We like this analogy very much indeed. .SH "Author" .IX Header "Author" Phil Crow .SH "Copyright and License" .IX Header "Copyright and License" Copyright (c) 2006, 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.