1 / 23

Fusebox 3.0

Fusebox 3.0. groffman@metarail.com With thanks to David Laing, Hal Helms, Nat Papovich, and others. Agenda. Quick revision of core fusebox concepts Fusebox 3 (FB3) by example – The colours app The core files – fbx_fusebox30_*.cfm The map – fbx_Circuits.cfm The fusebox – fbx_Switch.cfm

charlesburt
Download Presentation

Fusebox 3.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fusebox 3.0 groffman@metarail.com With thanks to David Laing, Hal Helms, Nat Papovich, and others

  2. Agenda • Quick revision of core fusebox concepts • Fusebox 3 (FB3) by example – The colours app • The core files – fbx_fusebox30_*.cfm • The map – fbx_Circuits.cfm • The fusebox – fbx_Switch.cfm • The building blocks - fuses • The documentation – FusedoX • Nested settings – fbx_Settings.cfm • Nested layout – fbx_Layout.cfm

  3. The Fusebox Philosophy There are two ways of constructing a software design: • One way is to make it so simple that there are obviously no deficiencies, • and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. C.A.R. Hoare

  4. Point-to-Point Routing New York Tampa

  5. Hub-and-Spoke System Chicago Seattle New York Atlanta Los Angeles Tampa

  6. Point-to-Point Programming

  7. Fusebox Programming

  8. Nested Fusebox Programming

  9. Fusebox Architecture Fuseactions Circuits Fuses

  10. Fusebox 3 • Consolidation of ideas of FB2 • Standardised frozen core files • Polished methods for most web apps • Fusebox Conference #1, 20th Oct 2001 • Whitepaper (Conference in a box – www.halhelms.com) • Newbies guide. • The Fusebox structure

  11. Fusebox : The Colours App

  12. FB3 core files : fbx_fusebox30_*.cfm • The application server for the fusebox framework • Handles • Environment variables • Nesting • Layout • Different versions for different platforms. • Standard, static – maintained by FBSteer. • 2 modes : Fusebox.suppressErrors = true/false

  13. The core support files • Application.cfm : • index.cfm : • fbx_savecontent.cfm • sesConverter.cfm • Prevents accessing fuses directly • Decides which fusebox core to include • Sets default fuseaction • Emulates CF5 SaveContent • index.cfm/fuseaction/cart.add/ID/653.htm

  14. The map file : fbx_Circuits.cfm • Provides a map to the location of • each circuit • Each circuit has a unique name • index.cfm?fuseaction=circuitName.fuseAction • Fusebox.Circuit • Fusebox.Circuits.<circuitname>

  15. The fusebox : fbx_Switch.cfm • Just the <cfswitch> from FB2’s index.cfm • Every circuit has one • Switches on Fusebox.fuseaction • Includes fuses to perform particular action

  16. The building blocks : Fuses • Official • dsp_ : HTML display – coded by HTML coder • act_ : CFML logic – coded by CF coder • qry_ : DB interaction – coded by DBA (QuerySims) • Unofficial • url_ : sometimes used for conditional redirections • lay_ : prefix for layout files.

  17. The Documentation : FusedoX • Officially adopted the XML Fusedocs spec • Explains the “what” of the fuse • What it does (<responsibilities></responsibilities) • What it needs (<in></in>) • What it produces (<out></out>) • CF Studio VTML & help from www.fusebox.org

  18. Circuit level settings : fbx_Settings.cfm • FB3 core traverses down nested tree, executing fbx_Settings.cfm as it goes • Switch settings based on isHomeCircuit • Good place for security logic, breadcrumbs etc

  19. Nested Layout : fbx_Layout.cfm • FB3 core traverses up the tree, wrapping each fbx_Layout.cfm around Fusebox.layout as it goes • fbx_Layout.cfm a kind of switch, which can include different layouts in different circumstances (ie, suppressLayout)

  20. Referencing files • Fuses in same directory – just <cfinclude template=“dsp_helloWorld.cfm”> • Fuses in other circuits – <cfinclude template=“#Fusebox.rootPath#/circuitname/act_aFuse.cfm”> • fuseactions of other circuits <cfmodule template=“#Fusebox.rootPath#index.cfm” fuseaction=“circuit2.doStuff” suppressLayout=“true”> • HTML includes – all relative to home circuit – <img src=“#Fusebox.currentPath#/images/monkey.jpg”>

  21. Limitations of FB3 • Does not support <CFFLUSH> • Does not support <CFCONTENT>

  22. Summary • Quick revision of core fusebox concepts • Fusebox 3 (FB3) by example – The colours app • The core files – fbx_fusebox30_*.cfm • The map – fbx_Circuits.cfm • The fusebox – fbx_Switch.cfm • The building blocks - fuses • The documentation – FusedoX • Nested settings – fbx_Settings.cfm • Nested layout – fbx_Layout.cfm

  23. The Fusebox Community Websites • www.fusebox.org • www.bombasbee.com • www.meta-magic.com/cgi-bin/fusewiki Mailing lists • fusebox-subscribe@topica.com • fbcommunity@topica.com • SteerFB-subscribe@topica.com • PHP-fusebox@yahoogroups.com • fusebox_asp-subscribe@topica.com

More Related