Plugins for CGI::Application
There are a number of modules on CPAN that have been designed to work as a plugin for CGI::Application.
They usually export useful methods that you can use in your application module.
All CGI::App plugins on CPAN
configuration
- CGI::Application::Plugin::Config::Simple – integration with Config::Simple
- CGI::Application::Plugin::ProtectCSRF – protection from Cross Site Request Forgery. See also ProtectCSRF discussion
- CGI::Application::Plugin::DebugScreen – provide helpful debugging context instead of an internal server error screen.
- CGI::Application::Plugin::DevPopup – Runtime cgiapp info in a popup window
- CGI::Application::Plugin::DBIProfiler - Provides graphical profiling of DBI queries. Currently unreleased.
- CGI::Application::Plugin::DBH – easy DBI access
- CGI::Application::Plugin::Eparam – helps with language encoding of parameters, but currently lacks any documentation or tests.
- CGI::Application::Plugin::ErrorPage – A simple error page shortcut
- CGI::Application::Plugin::Feedback – helps store and return bits of feedback to the user.
- CGI::Application::Plugin::FillInForm – HTML::FillInForm integration
- CGI::Application::Plugin::Forward – Keep the current run mode up to date when forwarding run modes
- CGI::Application::Plugin::HTDot – Integration with HTML::Template::Plugin::Dot
- CGI::Application::Plugin::HTMLPrototype – Integration with HTML::Prototype
- CGI::Application::Plugin::HtmlTidy – adds html validation; optionally it can also make your output (x)html conformant
- CGI::Application::Plugin::I18N – Internationalization (I18N) and localization (l10n) functionality
- CGI::Application::Plugin::JSON – easily produce JSON output
- CGI::Application::Plugin::LinkIntegrity – adds helper methods to check if links have been tampered with.
- CGI::Application::Plugin::LogDispatch – Integration with Log::Dispatch
- CGI::Application::Plugin::MessageStack – a message passing system which can store messages in a session and integrate with templating systems.
- CGI::Application::Plugin::Output::XSV – Simplifies generating XSV output in a run mode via Text::CSV_XS
- CGI::Application::Plugin::PageBuilder – tries to simplify building pages that require multiple templates. See the Any Template plugin for an alternate solution.
- CGI::Application::Plugin::RateLimit – limits runmode call rate per user. Good for limiting login attempts, contact form email submissions, etc.
- CGI::Application::Plugin::Redirect – provides a shortcut for redirecting.
- CGI::Application::Plugin::Routes - brings to Perl some of the goodies of Rails routes by creating a routes table that is parsed at the prerun stage against CGI path_info data
- CGI::Application::Plugin::RunmodeDeclare - declare runmodes with keywords (startmode, errormode, runmode), and optionally pull named parameters
- CGI::Application::Plugin::Session – adds CGI::Session support
- CGI::Application::Plugin::Stash – use Catalyst "stash" syntax as an alternative for param().
- CGI::Application::Plugin::Stream – adds file streaming support
- CGI::Application::Plugin::TemplateRunner – provides a runmode to automatically display HTML::Templates
- CGI::Application::Plugin::TT – adds Template Toolkit support
- CGI::Application::Plugin::ValidateRM – helps validate run modes using Data::FormValidator
- CGI::Application::Plugin::ViewCode – view source and code of the running application.
- CGI::Application::Plugin::YAML – Easy YAML parsing.
- CGI::Application::Plugin::Nes – Use Nes templates, object, plugin, PHP, SH, PYTHON, ... in CGI::Application
Other Add-Ons
Some other modules are designed for use with CGI::Application, even if they do not call themselves a plugin:
Writing Plugins
The CGI::Application documentation has the primary reference for how to write a plugin. Here are some supplemental references.
See also