Title: Building Fusebox Frameworks
1Building Fusebox Frameworks
- Jeff Peters
- jeff.peters_at_bigfoot.com
2What is Fusebox?
- An Emerging Standard
- A Way to Think About Web Applications
- A Way to Organize Development
- A Way to Manage Dev Projects
3What is Fusebox?
- An Emerging Standard
- A Way to Think About Web Applications
- A Way to Organize Development
- A Way to Manage Dev Projects
4An 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
5What is Fusebox?
- An Emerging Standard
- A Way to Think About Web Applications
- A Way to Organize Development
- A Way to Manage Dev Projects
6A 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
7What is Fusebox?
- An Emerging Standard
- A Way to Think About Web Applications
- A Way to Organize Development
- A Way to Manage Dev Projects
8A Way to Organize Development
- Great for team development
- New team members can learn app quickly
- Revisiting old apps is much easier
9What is Fusebox?
- An Emerging Standard
- A Way to Think About Web Applications
- A Way to Organize Development
- A Way to Manage Dev Projects
10A Way to Manage Dev Projects
- Modularity allows much better development control
- Pre-code prototyping and documentation
- Dev manager can make assignments that make sense
11Fusebox Frameworks
- Main application
- Circuit apps
- Fuseactions
- Fuses
- Fusebox File
12Fusebox Frameworks
- Main application
- Circuit apps
- Fuseactions
- Fuses
- Fusebox File
13Main Application
- Many Fusebox apps have a two-tiered approach
- Main app controls interaction of circuit apps
- Think of it as the main power junction
14Fusebox Frameworks
- Main application
- Circuit apps
- Fuseactions
- Fuses
- Fusebox File
15Circuit Apps
- Have specific areas of responsibility
- Each can contain a variety of fuseactions
- Think of them as the breakers in a power panel
16Fusebox Frameworks
- Main application
- Circuit apps
- Fuseactions
- Fuses
- Fusebox File
17Fuseactions
- Represent specific actions to be performed
- Each requires one or more fuses
- Think of them as the wires
18Fusebox Frameworks
- Main application
- Circuit apps
- Fuseactions
- Fuses
- Fusebox File
19Fuses
- Individual CF files
- May be app, dsp, act, qry or roll your own
- Think of them as lights, switches, motors, etc.
20Fusebox Frameworks
- Main application
- Circuit apps
- Fuseactions
- Fuses
- Fusebox File
21Fusebox File
- The control center for an app
- Basically a big CFSWITCH on application.fuseaction
- Knows what to call and what to call NEXT (XFAs)
22Fusedoc
- Standard for documenting fuses
- Based somewhat on JavaDoc
- Details fuse responsibilities and attributes
23Sample Fusedoc
lt!--- BEGIN FUSEDOC Properties Name
dsp_showCatalog.cfm Author jeff.peters_at_bigfoot.co
m Responsibilities I display the current
catalog contents and allow the user to get
details about specific items.
Attributes --gt XFA.showItemDetails STRING (a
fuseaction) lt-- ItemID INTEGER NOT NULL (item's
catalog ID number) END FUSEDOC ---gt
24Mind Mapping
- Free-form outlining
- Framework visualization
- VisualMind, MindMapper Plus, etc.
25Sample Mind Map
26Fuseminder
- Reads text outline file
- Builds Fusebox framework
27Fuseminder Syntax
- ltcf_fuseminder outlinemyFile.txtgt
- Optional attributes
- Location ( string location of main application
fusebox) - Verbose ( yes no )
- Indenter ( string outlines indent string.
Default is two spaces )
28Sample Outline
- BookEmjpeters_at_ots-inc.com
- Catalog
- showCatalog
- dsp_showCatalog.cfm
- lt!---
- BEGIN FUSEDOC
-
- Properties
- Name dsp_showCatalog.cfm
- Author jeff.peters_at_bigfoot.com
-
- Responsibilities
- I display the current catalog contents
and allow the user to get details - about
- specific items.
-
-
- Attributes
- --gt XFA.showItemDetails STRING (a
fuseaction)
29Generated Framework
myDir
Main Fusebox (index.cfm)
myDir\Cart
Circuit Fusebox (index.cfm) Fuse files w/Fusedocs
myDir\Catalog
Circuit Fusebox (index.cfm) Fuse files w/Fusedocs
myDir\Checkout
Circuit Fusebox (index.cfm) Fuse files w/Fusedocs
myDir\Users
Circuit Fusebox (index.cfm) Fuse files w/Fusedocs
30Fuseminder Demo
Bam!
31Scintillating QA