Docstoc

Effective Use of Nested Layouts

Document Sample
Effective Use of Nested Layouts Powered By Docstoc
					        Don’t Be Q-less
Expanding Fusebox Functionality with FuseQ



     John Quarto-vonTivadar
         FutureNow, Inc.
      www.futurenowinc.com
     john@techspedition.com
         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, Model-
View-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 fuseaction-
specific 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

                    Call
                 home circuit’s
    Fusebox 3    FBX_Settings
Execution Path        Call
                 target circuit’s
                  FBX_Switch
                     Call
                  appropriate
                    fuses

                    Call
                 FBX_Layouts

                  Call layout
                     files


                 Display output
              Call Fusebox
World.hello     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

                 Call
World.hello   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
                   Call
World.hello   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
                  Call
World.hello    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

                 Call
World.hello   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

               Call layout
World.hello       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
                                          Call
     target circuit’s
                                       FBX_Layouts
      FBX_Switch



                            Call
                         appropriate
                           fuses
                        Call Fusebox
                          core file




          Call
      Circuits.cfm




   Call
                                              Call layout
home circuit’s
                                                 files
FBX_Settings




          Call
                                          Call
     target circuit’s
                                       FBX_Layouts
      FBX_Switch



                            Call
                         appropriate
                           fuses
                        Call Fusebox
                          core file




          Call
                                       Display output
      Circuits.cfm




   Call
                                                Call layout
home circuit’s
                                                   files
FBX_Settings




          Call
                                          Call
     target circuit’s
                                       FBX_Layouts
      FBX_Switch



                            Call
                         appropriate
                           fuses
                                           If FuseQ not
                        Call Fusebox
                          core file
                                            empty then
                                            loop again

          Call
                                       Display output
      Circuits.cfm




   Call
                                                Call layout
home circuit’s
                                                   files
FBX_Settings




          Call
                                          Call
     target circuit’s
                                       FBX_Layouts
      FBX_Switch



                            Call
                         appropriate
                           fuses
World.hello
World.hello
Finished product
   World.hello

Company.getStock

  User.getInfo
   World.hello

Company.getStock




  User.getInfo
   World.hello

  User.getInfo
Company.getStock




  User.getInfo
   World.hello

  User.getInfo
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
   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, cross-
training your brain
“Exploring the FuseQ” book in development
Open call for authors – we’re anxious to publish
your book

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:2
posted:7/13/2013
language:English
pages:41