Building Fusebox Frameworks Jeff Peters [email protected].
-
Upload
lester-white -
Category
Documents
-
view
216 -
download
0
Transcript of Building Fusebox Frameworks Jeff Peters [email protected].
What is Fusebox?
• An Emerging Standard
• A Way to Think About Web Applications
• A Way to Organize Development
• A Way to Manage Dev Projects
What is Fusebox?
• An Emerging Standard
• A Way to Think About Web Applications
• A Way to Organize Development
• A Way to Manage Dev Projects
An Emerging Standard
• Created by Steve Nelson and a gang of hundreds
• Continues to develop and expand
• “Is not a religion” – Hal Helms
• “May actually be a cult” – Michael Smith
What is Fusebox?
• An Emerging Standard
• A Way to Think About Web Applications
• A Way to Organize Development
• A Way to Manage Dev Projects
A Way to Think About Web Applications
• Provide a standard way to organize an application
• Control program flow in a very uniform manner
• Group like functionality together
What is Fusebox?
• An Emerging Standard
• A Way to Think About Web Applications
• A Way to Organize Development
• A Way to Manage Dev Projects
A Way to Organize Development
• Great for team development
• New team members can learn app quickly
• Revisiting old apps is much easier
What is Fusebox?
• An Emerging Standard
• A Way to Think About Web Applications
• A Way to Organize Development
• A Way to Manage Dev Projects
A Way to Manage Dev Projects
• Modularity allows much better development control
• Pre-code prototyping and documentation
• Dev manager can make assignments that make sense
Fusebox Frameworks
• Main application
• Circuit apps
• Fuseactions
• Fuses
• Fusebox File
Fusebox Frameworks
• Main application
• Circuit apps
• Fuseactions
• Fuses
• Fusebox File
Main Application
• Many Fusebox apps have a two-tiered approach
• Main app controls interaction of circuit apps
• Think of it as the main power junction
Fusebox Frameworks
• Main application
• Circuit apps
• Fuseactions
• Fuses
• Fusebox File
Circuit Apps
• Have specific areas of responsibility
• Each can contain a variety of fuseactions
• Think of them as the breakers in a power panel
Fusebox Frameworks
• Main application
• Circuit apps
• Fuseactions
• Fuses
• Fusebox File
Fuseactions
• Represent specific actions to be performed
• Each requires one or more fuses
• Think of them as the wires
Fusebox Frameworks
• Main application
• Circuit apps
• Fuseactions
• Fuses
• Fusebox File
Fuses
• Individual CF files
• May be app, dsp, act, qry or “roll your own”
• Think of them as lights, switches, motors, etc.
Fusebox Frameworks
• Main application
• Circuit apps
• Fuseactions
• Fuses
• Fusebox File
Fusebox File
• The control center for an app
• Basically a big CFSWITCH on application.fuseaction
• Knows what to call and what to call NEXT (XFAs)
Fusedoc
• Standard for documenting fuses
• Based somewhat on JavaDoc
• Details fuse responsibilities and attributes
Sample Fusedoc
<!---|| BEGIN FUSEDOC ||
|| Properties ||Name: dsp_showCatalog.cfmAuthor: [email protected]
|| Responsibilities ||I display the current catalog contents and allow the user to get details about specific items. || Attributes ||--> XFA.showItemDetails: STRING (a fuseaction)<-- ItemID: INTEGER NOT NULL (item's catalog ID number) || END FUSEDOC ||--->
Mind Mapping
• Free-form outlining
• Framework visualization
• VisualMind, MindMapper Plus, etc.
Sample Mind Map
Fuseminder
• Reads text outline file
• Builds Fusebox framework
Fuseminder Syntax
• <cf_fuseminder outline=“myFile.txt”>
• Optional attributes:– Location ( string; location of main application
fusebox)– Verbose ( “yes” | “no” )– Indenter ( string; outline’s indent string.
Default is two spaces )
Sample Outline
BookEm:[email protected] Catalog showCatalog dsp_showCatalog.cfm <!--- || BEGIN FUSEDOC || || Properties || Name: dsp_showCatalog.cfm Author: [email protected] || Responsibilities || I display the current catalog contents and allow the user to get details about specific items. || Attributes || --> XFA.showItemDetails: STRING (a fuseaction) <-- ItemID: INTEGER NOT NULL (item's catalog ID number) || END FUSEDOC ||--->
showItem qry_getItem.cfm
Generated Framework
myDir
Main Fusebox (index.cfm)
myDir\Cart
myDir\Catalog
myDir\Users
myDir\Checkout
Circuit Fusebox (index.cfm)Fuse files w/Fusedocs
Circuit Fusebox (index.cfm)Fuse files w/Fusedocs
Circuit Fusebox (index.cfm)Fuse files w/Fusedocs
Circuit Fusebox (index.cfm)Fuse files w/Fusedocs
Fuseminder Demo
Scintillating Q&A