![Page 1: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/1.jpg)
A Brief History of Fusebox
Needed way for others to inherit my applicationsCreated architecture that would be understood and maintainable
![Page 2: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/2.jpg)
A Brief History of Fusebox
Moved into building with Steve NelsonDiscussion on cf-talk about creating a modular architectureFusebox.org went online
![Page 3: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/3.jpg)
Benefits of using Fusebox
Have a developed architectureFlexible enough to modify to your
needsBecoming widespread that new team
members may not have to learn from scratch
Created by developers (this means you!)
![Page 4: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/4.jpg)
Using Fusebox for eCommerce
![Page 5: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/5.jpg)
Using Fusebox for eCommerce
Analyze and designImplement structureExpand and maintain
![Page 6: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/6.jpg)
Analyze and Design
More Design = Less Time = Less Money
Most time and money spent fixing flaws missed during design
Fusebox encourages design up front
![Page 7: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/7.jpg)
Determine the players and props (objects)
Products Customers
Shopping cart Orders
![Page 8: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/8.jpg)
Determine the actions of the objects
ProductsSeachDisplay
CustomersJoinLoginEdit Information
Shopping cartView CartAdd ItemRemove ItemClear cart
OrdersGet Shipping and BillingReview OrderProcess OrderShow Confirmation
![Page 9: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/9.jpg)
Determine the attributes required by the objects
ProductsAttributes.FuseactionSeachDisplay
CustomersAttributes.FuseactionJoinLoginEdit Information
Shopping cartAttributes.FuseactionView CartAdd ItemRemove ItemClear cart
OrdersAttributes.FuseactionGet Shipping and BillingReview OrderProcess OrderShow Confirmation
![Page 10: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/10.jpg)
Can represent objects with UML
![Page 11: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/11.jpg)
Implementing the Structure
Creation of each objectJoining the objects within the siteCalling individual objects
![Page 12: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/12.jpg)
Creating an object
From our object model…
Shopping cartAttributes.FuseactionView Cart Add ItemRemove ItemClear cart
![Page 13: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/13.jpg)
Creating an object
To the object’s file (/shoppingcart/index.cfm)
<cfparam name="attributes.fuseaction" default="#attributes.fuseaction#">
<cfswitch expression="#attributes.fuseaction#"><cfcase value="ViewCart"> </cfcase><cfcase value="addItem"> </cfcase><cfcase value="RemoveItem"> </cfcase><cfcase value="UpdateCart"> </cfcase><cfcase value="ClearCart"> </cfcase>
</cfswitch>
![Page 14: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/14.jpg)
Creating an objectThen adding the fuses or modules
<cfparam name="attributes.fuseaction" default="#attributes.fuseaction#">
<cfswitch expression="#attributes.fuseaction#"><cfcase value="ViewCart">
<cfinclude template="dsp_Cart.cfm"></cfcase><cfcase value="addItem">
<cfinclude template="act_addItem.cfm"><cflocation url ="index.cfm?Fuseaction=viewcart">
</cfcase><cfcase value="RemoveItem">
<cfif BasketItems.recordCount><cfmodule template="act_removeItem.cfm"
ItemID="#attributes.ItemID#"></cfif><cflocation url ="index.cfm?Fuseaction=viewcart">
</cfcase>
![Page 15: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/15.jpg)
Creating an objectOr a much simpler version…
/info/index.cfm
<cfinclude template="app_locals.cfm"><cfinclude
template="dsp_#attributes.fuseaction#.cfm">
![Page 16: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/16.jpg)
Containership of objects
![Page 17: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/17.jpg)
Containership of objects
/products/index.cfm app_locals.cfm
/app_globals.cfm
qry_search.cfm dsp_search_results.cfm
dsp_product_display.cfm• qry_product_details.cfm
![Page 18: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/18.jpg)
Tying the objects together
eBags
Shopping cart
Products
Customers Orders
![Page 19: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/19.jpg)
Tying the objects together
eBags
Shopping cart
Products
Customers OrdersApp_locals App_locals
App_localsApp_locals
App_Globals
Each objects’ app_locals includes the site’s app_globals
![Page 20: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/20.jpg)
Tying the objects together
![Page 21: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/21.jpg)
Calling the objectsURL: Sports Bags = “/search/index.cfm?
fuseaction=search&CategoryID=4”
<cflocation url=“/orders/index.cfm?fuseaction=showConfirmation”>
<cfinclude template="/shoppingcart/act_check_for_Basket.cfm">
<cfmodule template=“/shoppingcart/act_check_for_Basket.cfm">
![Page 22: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/22.jpg)
Quotes from Users
"Fusebox allows our developers to leverage the strengths of standard techniques and practices to deliver a better product along a faster timeline.” -Joshua Cyr
"We are integrating Fusebox into all of our projects; large and small. By building in "modularity" to the code structures and programs from the beginning, we have been able to speed our development times and create better and better systems that are very easy to revise and modify, even for rookie CFers.” -Truman Esmond
"As a team of developers, with different styles, fusebox allowed us to follow a common path, increasing the coordination of projects, while decreasing time spent understanding each others code.” -Micheal Morris - Automated Graphic Systems, Inc.
![Page 23: A Brief History of Fusebox zNeeded way for others to inherit my applications zCreated architecture that would be understood and maintainable](https://reader035.vdocument.in/reader035/viewer/2022062517/56649eff5503460f94c14525/html5/thumbnails/23.jpg)
Fusebox resources
the site - http://www.fusebox.orgMailing list -
http://www.fuseware.com/support/Forums/Index.cfm?cfapp=2