Matt, you're way out in left field about having to digest the core files to
start using FB4.  With FB3, an understanding of the core file was essential,
because it did so many different things, but not with FB4.

I've outlined FB4's structure, and aside from the XML file syntax (which is
simple to learn, and many sample apps are available), that's literally all
you need to know to start writting an FB4 application.  Digesting the core
files is pretty much worthless, unless you want to learn how to write an XML
processing application (which is really all the core files do).  I've
already got one medium sized app written in FB4 in production, and I've
helped John hunt down some nasty bugs in the core files, but I'd be lying if
I said I've read them through completely, let alone understood all they do.

Here we go:

There are two types of XML files: fusebox.xml and circuit.xml.  fusebox.xml
sets up the circuit tree for your application, and defines global
parameters.  One circuit.xml file exists for each circuit of the app, and
defines groups of related fuseactions by the use of a small set of tags,
which closely mirror their CFML equivalents.  The important tags are SET,
INCLUDE, LOOP and IF, along with DO, which is used to internally call
another fuseaction as part of the current request, and allows you to chain
fuseactions together.  These XML files dicate all execution within your
application.  Neither file is complex; downloading a sample app will get you
started with little to no fuss.

For page execution, a request comes into the fusebox, which takes a page
parameter (usually url.fuseaction) to define what it needs to do.  It then
reads in the applications fusebox.xml file, and then the circuit.xml files,
unless they are already cached, which is usually the case.  Based on the
fuseaction variable, it uses those XML files to create a set of discrete
tasks that need to be done to handle the request.  This basically means
translating the relevant portions of the circuit.xml files into CFML.  That
task list is cached for later reuse, then it's executed, and the request
exits.

That's it!

The internal magic is friggin' voodoo, I wouldn't wish trying to digest it
on anyone who didn't write it.  This is a HUGE step forward from the world
of FB3, and while FB3 is a solid framework in it's own right, it did require
a substantial initial investment.  Thankfully that's gone with FB4.

Now, using the framework is only half the battle, the rest is a set of
conventions that are considered part of Fusebox, even though they aren't
bound to the framework.  Those haven't really changed since before FB3 was
around.  However, because they aren't bound to the actual core, you don't
have to use them, and they can be easily substituted for whatever
conventions you deem appropriate.  The Fusebox conventions are usually
considered part of Fusebox, though.  I wrote an email in response to one
from Dave Watts (sent about 5:30 on this evening) that outlines this aspect
much more clearly.

cheers,
barneyb

---
Barney Boisvert, Senior Development Engineer
AudienceCentral
[EMAIL PROTECTED]
voice : 360.756.8080 x12
fax   : 360.647.5351

www.audiencecentral.com


> -----Original Message-----
> From: Matt Robertson [mailto:[EMAIL PROTECTED]
> Sent: Thursday, July 17, 2003 5:24 PM
> To: CF-Talk
> Subject: Re: Cons to Fusebox
>
>
> Brian,
>
> I had a long and detailed response written, but chucked it.  The
> short, sweet answer is that FB seems to be an investment in time
> to reinvent a wheel thats already rolling well for me.
>
> One thing I have little of is time.  Not because I'm such a
> bigshot, but because I'm always working (or wasting work-time on
> this list :D).  I think the next thing you guys should think on
> is developing a FBLite for Dummies so that someone who wants to
> can walk in and be productive in an hour can do so.
>
> With about 1500 lines of code in the FB4 core, that speaks of a
> much higher learning curve than I have the time to climb.  Maybe
> once I do I'll decide its a good thing, but for now I can't get
> past the fact that I need 1500 lines of code (every byte of which
> I have to digest and understand) just to turn the lights on.
>
> --
> -------------------------------------------
>  Matt Robertson,     [EMAIL PROTECTED]
>  MSB Designs, Inc. http://mysecretbase.com
> -------------------------------------------
>
> --
> 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4
Subscription: 
http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq

Get the mailserver that powers this list at 
http://www.coolfusion.com

                                Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
                                

Reply via email to