Don’t Be Q-less Expanding Fusebox Functionality with FuseQ John Quarto-vonTivadar FutureNow, Inc. www.futurenowinc.com [email protected] FuseQ to the ResQ FuseQ treats fuseactions like a queue A page request.
Download ReportTranscript Don’t Be Q-less Expanding Fusebox Functionality with FuseQ John Quarto-vonTivadar FutureNow, Inc. www.futurenowinc.com [email protected] FuseQ to the ResQ FuseQ treats fuseactions like a queue A page request.
Don’t Be Q-less Expanding Fusebox Functionality with FuseQ John Quarto-vonTivadar FutureNow, Inc. www.futurenowinc.com [email protected] FuseQ to the ResQ FuseQ treats fuseactions like a queue A page request can be made up of one *or more* fuseactions Analogy: In line at the Bank… if no one’s in front of you, you get to be the next one handled by the Teller; if not, you wait your turn. Every once in a while you’ll let a little old lady skip ahead of you. FuseQ treats the fuseaction as a list … handled in successive order Before leaving the core file, are there any Fuseactions left in the FuseQ? Benefits of FuseQ Fuseactions are more atomic since the page request is not limited to a single FA No need for <cfmodule> to access code in other circuits no memory thread cost no passing thru of needed variables no kludges in scoping out-bound variables no successive recursion calls No core file changes are required to handle all of: layout fuses, error/exception handling, ModelView-Controller, etc. These all flow naturally from FuseQ’s implementation Features of FuseQ Layouts: circuit-wide layouts are handled at the circuit layer (fbx_layouts) and fuse- or fuseactionspecific layouts are handled at the fuse layer Layout fuses can be applied from any circuit (similar to qry file feature) Because of zero core file dependencies, you can use “traditional” CF error and exception handling at the app, circuit, FA, and Fuse level. Nothing FB-specific! Call Fusebox core file Call Circuits.cfm Fusebox 3 Execution Path Call home circuit’s FBX_Settings Call target circuit’s FBX_Switch Call appropriate fuses Call FBX_Layouts Call layout files Display output World.hello Call Fusebox core file Call Circuits.cfm Call home circuit’s FBX_Settings Call target circuit’s FBX_Switch Call appropriate fuses Call FBX_Layouts Call layout files Display output Call Fusebox core file World.hello Call Circuits.cfm Call home circuit’s FBX_Settings Call target circuit’s FBX_Switch Call appropriate fuses Call FBX_Layouts Call layout files Display output Call Fusebox core file Call Circuits.cfm World.hello Call home circuit’s FBX_Settings Call target circuit’s FBX_Switch Call appropriate fuses Call FBX_Layouts Call layout files Display output Call Fusebox core file Call Circuits.cfm Call home circuit’s FBX_Settings World.hello Call target circuit’s FBX_Switch Call appropriate fuses Call FBX_Layouts Call layout files Display output Call Fusebox core file Call Circuits.cfm Call home circuit’s FBX_Settings Call target circuit’s FBX_Switch World.hello Call appropriate fuses Call FBX_Layouts Call layout files Display output Call Fusebox core file Call Circuits.cfm Call home circuit’s FBX_Settings Call target circuit’s FBX_Switch Call appropriate fuses World.hello Call FBX_Layouts Call layout files Display output Call Fusebox core file Call Circuits.cfm Call home circuit’s FBX_Settings Call target circuit’s FBX_Switch Call appropriate fuses Call FBX_Layouts World.hello Call layout files Display output Call Fusebox core file Call Circuits.cfm Call home circuit’s FBX_Settings Call target circuit’s FBX_Switch Call appropriate fuses Call FBX_Layouts Call layout files World.hello Display output Finished product Call Fusebox core file Techspedition Fusebox 3-compliant Execution Path Call Fusebox core file Call Circuits.cfm Call Fusebox core file Call Circuits.cfm Call home circuit’s FBX_Settings Call Fusebox core file Call Circuits.cfm Call home circuit’s FBX_Settings Call target circuit’s FBX_Switch Call Fusebox core file Call Circuits.cfm Call home circuit’s FBX_Settings Call target circuit’s FBX_Switch Call appropriate fuses Call Fusebox core file Call Circuits.cfm Call home circuit’s FBX_Settings Call target circuit’s FBX_Switch Call FBX_Layouts Call appropriate fuses Call Fusebox core file Call Circuits.cfm Call home circuit’s FBX_Settings Call layout files Call target circuit’s FBX_Switch Call FBX_Layouts Call appropriate fuses Call Fusebox core file Call Circuits.cfm Display output Call home circuit’s FBX_Settings Call layout files Call target circuit’s FBX_Switch Call FBX_Layouts Call appropriate fuses Call Fusebox core file Call Circuits.cfm If FuseQ not empty then loop again Display output Call home circuit’s FBX_Settings Call layout files Call target circuit’s FBX_Switch Call FBX_Layouts Call appropriate fuses World.hello World.hello Finished product World.hello Company.getStock User.getInfo World.hello Company.getStock User.getInfo World.hello Company.getStock User.getInfo User.getInfo World.hello Company.getStock User.getInfo User.getInfo World.hello Company.getStock User.getInfo World.hello Company.getStock User.getInfo World.hello Company.getStock User.getInfo World.hello Company.getStock User.getInfo World.hello Company.getStock User.getInfo Finished product Will I be stuck behind the Q-ball? Techspedition core file is a full private implementation of the Fusebox 3 spec Contains FuseQ and a number of other needed improvements excluded from the official FB3 implementation Your Fusebox 3-compliant apps will work out of the box whether you use FuseQ or not Topology: C C++ All legacy C code worked without a single change And it’s free, damn it! That’s Q-ute, but let’s see code! general use Layout Fuses Error/Exception Handling Short Q&A and lunch Model-View-Controller (Hal) Other Techspedition core file API features Magellan traveled around the world just to end up where he started. With our books, he could have really gone somewhere. A little knowledge goes a long way. CodeRutters: “Discovering Fusebox 3” by Hal Helms and John Quarto-vonTivadar pre-order now on the web site for $19.99 www.techspedition.com Finding Your Inner FuseQ on a techspedition into knowledge Core files at www.techspedition.com Series of articles explaining FuseQ Other regular columns and guest authors speak about the development cycle, coding, crosstraining your brain “Exploring the FuseQ” book in development Open call for authors – we’re anxious to publish your book