Fusebox is a methodology that encourages reuse of code everywhere
possible. A small set of core files sets the stage for creation
of a completely modular website - all controlled by one page! All
requests go through the single index.cfm page, however, a series
of variables passed through will decide which "page" is displayed.
Adopting this methodology ensures that all Fusebox developers will
instantly understand the structure of your site.
Course Outline
Introduction
Fusebox: Framework or methodology?
Goals of Fusebox
Who benefits from Fusebox?
Common objections to Fusebox
What you'll really need
Fusebox primer
Circuits, fuseactions, and fuses
Circuits
Fuseactions
Fuses
Fusedocs
Overview of the key fbx_ files
Setting up a Fusebox 4 application
Downloading the files
Setting up a "Home" directory
Plugins directory
Parsed directory
Adding circuits
Adding fuses
MVC
Introduction to XML files
Why XML?
Writing well-formed XML
Introducing the Fusebox 4 XML files
Circuits
Overview of circuits
Determining circuits
Defining circuits
Using circuits
Exit fuseactions (XFAs)
Writing your first Fusebox 4 application
Globals plugin
Circuit.xml
Stepping through the fuseactions
Creating the fuses
Testing the application
Understanding Fusebox 4 XML files
fusebox.xml
circuit.xml
XML grammar
Overview
<include>
<set>
<xfa>
<do>
<relocate>
<if></if>
<loop></loop>
MVC design pattern
What Model-View-Controller architecture?
Understanding the model
Understanding the view
Understanding the controller
Is MVC right for my application?
The relationship between MVC and Fusebox 4
Fusedocs
Introducing XML Fusedocs
Detailed examination of each Fusedoc element
Layouts
Simple headers and footers
Adding in smart sub-navigation
Nested layouts
Accessibility concerns
Content variables
The role and use of content variables
Content variable modifiers
Content variables and segment layouts
Accessibility with content variables
Memory structures
Overview of memory structures
The fb_ structure
The myFusebox structure
The application.fusebox structure
Circuits in applications.fusebox
Fuseactions in application.fusebox
Fusebox 4 lifecycle
The core files
The request
Runtime
FormURL2attributes
Initializing the Fusebox working structure and API
Including the loader
Setting up the myFusebox.plugins structure
Default fuseaction
Updating the API
Fuseaction access
Parsing files
Executing the fuseaction
Loader
Initializing the application.fusebox structure
Reading Fusebox.xml
<parameters>
<globalfuseactions>
<circuits>
circuits.xml
Fuseactions
Plugins
Transformer
preProcess
preFuseaction
Requested fuseactions
postFuseaction
processError
Looping through the FuseQ
Parser
Executing the request
Plugins
What is a plugin?
Plugin points
Using plugins
Sharing plugins
Advanced plugin techniques
How plugins are handled by the core files
Setting up your plugin
Cross-phase plugin
Using plugin parameters
How to reference files used by a plugin
Exception handling
Exception handling using plugins
Distinguishing exceptions from errors
Exception handling caveats
Security
Security architectures overview
The permissions attribute
A simple security example
Using security in a fuse
Fusebox 4 shopping cart: an example
Logical structure
Physical layout
The model circuits
The view circuits
The controller circuit
Fusebox 4 and ColdFusion components
Syntax and purpose
Converting to a CFC model
Enhancing performance
The anatomy of a Web service
Exposing an application as a Web service
Invoking Web services
Additional considerations
Conclusion
Students receive a copy of Techpedition's Discovering Fusebox 4.1 and a customized workbook with additional exercises.
Table of Contents ii
Introduction to Fusebox
Set-up Instructions
Exercise 1: Magic Eight Ball - Examine a Completed Application
Exercise 2: Magic Eight Ball - Building your first Fusebox Application
Exercise 3: Movies Site – Creating the Site Structure and Default fuseaction
Exercise 4: Movies Site – Creating the Home Circuit
Exercise 5: Movies Site – Creating the Admin Circuit
Exercise 6: Movies Site – Writing Fusedocs
Exercise 7: Movies Site – Adding Standard Layout (Header and Footer)