Reaction::Manual::Glossary - Terms and Definitions used in Reaction
Reaction controllers are extended Catalyst controllers. The controllers coordinate "Interface Model" access and actions with the view logic in your "ViewPort"s.
Reaction::UI::Controller
Reaction::UI::Controller::Root
This is the implementation of your business logic. An example would be a DBIx::Class schema providing you with collections, objects and relationships.
Your Domain Model will interface with Reaction through an "Interface Model". Therefore your domain model itself can and should be decoupled from your Reaction application.
Reaction::Manual::Overview
Whenever you push a "ViewPort" in your controller, you are pushing it onto the Focus Stack. When the root window (containing the root Focus Stack) is flushed by Reaction at the end of the request, the ViewPorts' "Widget"s will be rendered inside each other.
A typical example would be a SiteLayout ViewPort being pushed onto the Focus Stack by your root action. A CRUD controller would then, if its list action was requested, push a ListView ViewPort. On flushing, the ListView will be rendered inside the SiteLayout.
Reaction::UI::FocusStack
Provides a standardized way for the application to interact with the "Domain Model"s. It does this by providing objects, collections and actions.
A CRUD capable interface model can be generated from a DBIx::Class schema on-the-fly via Reaction::InterfaceModel::Reflector::DBIC.
Reaction::Manual::Tutorial
Reaction::InterfaceModel::Object
Reaction::InterfaceModel::Collection
Reaction::InterfaceModel::Action
Defines how a "Widget" fragment is rendered. They are organized in "LayoutSet"s. Its arguments are provided by the Widget the LayoutSet specified.
Layout fragments reference other fragments and can be overridden or wrapped when the LayoutSet is an extension of another.
Reaction::Manual::Templates
Reaction::Manual::RenderPage
Contains "Layout"s. A LayoutSet is specified (or autodiscovered) for any "ViewPort". It determines which "Widget" to use as the functional part used to render the ViewPort. A LayoutSet can also extend on another LayoutSet. With this, "Layout"s of the parent can be modified. This allows for very fine-grained control when developing different Skins.
Reaction::UI::LayoutSet
The ListView "Widget", "ViewPort" and "LayoutSet" group allows you to render an "Interface Model" collection as a table.
Reaction::UI::ViewPort::ListView
Reaction::UI::Widget::ListView
Model-View-Controller - a high-level software design pattern, which focuses on separation of concerns. For details on MVC, try here, here, and here. Reaction is an extended MVC system; it uses a two-layer Model (the Interface Model, with the Domain Model below it). Views are implemented by DOCTODO. Controllers are represented by DOCTODO.
DOCTODO: A software design pattern in which one
The context in which the "Widget"'s rendering via the "LayoutSet" will be done. A typical example would be a Template Toolkit LayoutSet being used to render a "Widget" in the Reaction::UI::RenderingContext::TT context.
Reaction::UI::RenderingContext
A particular interface that a class implements. Here, Role is used in the sense of Moose::Role; this same concept is sometimes called a Mix-In Class or a Decorator pattern.
Moose
Moose::Role
A Skin usually contains "LayoutSet"s and files for static delivery. Since Skins are extendable and can be switched by configuration, they allow easy customization of your application's look and feel.
Reaction::UI::Skin
In Reaction, the View modules handle rendering the ViewPort. ViewPorts are the V in MVC.
Technically, the View creates the "RenderingContext" and finds the "LayoutSet"s via the "ViewPort"s and "Widget"s from the LayoutSets that are required to render your page.
Reaction::UI::View
Reaction::UI::View::TT
Represents a part of your web pages output. Your application creates a page by stacking ViewPorts referencing your "Interface Model"s inside another. To each ViewPort belongs a "LayoutSet", which will determine the layout and type of the "Widget"s rendering your page.
Reaction::UI::ViewPort
The functionality needed to render a part of your page. The Widget that is used is determined by the "LayoutSet", which is in turn determined by the "ViewPort".
The Widget organizes the layouts contained in the LayoutSet and provides them with data to render.
Reaction::Manual::Widgets
Reaction::UI::Widget
Please refer to these documents for further and more general information:
Reaction::Manual
Reaction::Manual::Intro
See Reaction::Class for authors.
See Reaction::Class for the license.
To install Reaction, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Reaction
CPAN shell
perl -MCPAN -e shell install Reaction
For more information on module installation, please visit the detailed CPAN module installation guide.