building fusebox frameworks

Post on 02-Jan-2016

41 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Building Fusebox Frameworks. Jeff Peters jeff.peters@bigfoot.com. 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 - PowerPoint PPT Presentation

TRANSCRIPT

Building Fusebox Frameworks

Jeff Peters

jeff.peters@bigfoot.com

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: jeff.peters@bigfoot.com

|| 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:jpeters@ots-inc.com Catalog showCatalog dsp_showCatalog.cfm <!--- || BEGIN FUSEDOC || || Properties || Name: dsp_showCatalog.cfm Author: jeff.peters@bigfoot.com || 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

top related