fusebox conference 2001 out with the old in with the new an introduction to fusebox 3.0 for current...

33
Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen [email protected]

Upload: antonia-quinn

Post on 13-Dec-2015

224 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Out with the oldin with the new

An introduction to Fusebox 3.0for current Fusebox developers

By Erik Voldengen [email protected]

Page 2: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

What WILL WE talk about?

Look at the FB2 Methodology

Migrate to the new FB3 spec

Change is Good!

Page 3: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

A Sample FB2 Site

• Let’s take a quick look at our sample FB2 application…

–index.cfm

–app_globals / app_Locals

–CF_FormURL2Attributes

–CF_BodyContent / app_Layout.cfm

Page 4: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

2 New Elements of Fusebox

• Exit FuseActions (XFAs)

• Fusedocs

Page 5: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Exit FuseActions (XFAs)

• What is an Exit ?

Exit – an exit point of a fuse, e.g. links, forms, and redirects.

Page 6: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Fun Time! Find the Exits

<H2><b>Envision your question to the Magic Eight Ball...</b></H2>

<BR><BR>

<A HREF="#request.self#?fuseaction=answer">VIEW YOUR ANSWER</A>

<BR><BR><BR>

<A HREF=“../#request.self#?fuseaction=cover">back to main menu</A>

Page 7: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

XFA’s – the Big Picture

The Big Picture:

We use variables

for our exit fuseactions.

Page 8: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Defined in each FuseAction…

<cfcase value="question">

<cfset XFA.mainMenu = "cover">

<cfset XFA.answer = "answer">

<cfinclude template="dsp_question.cfm">

</cfcase>

<cfinclude template="app_locals.cfm"><cf_bodycontent><cfswitch expression = "#attributes.fuseaction#">

<cfcase value="question"><cfset XFA.mainMenu = "home"><cfset XFA.answer = "answer">

<cfinclude template="dsp_question.cfm"></cfcase><cfcase value="answer">

<cfset XFA.mainMenu = “cover"><cfset XFA.question = “question">

<cfinclude template="act_generateAnswer.cfm"><cfinclude template="dsp_answer.cfm">

</cfcase><cfdefaultcase>

Sorry, unknown fuseaction </cfdefaultcase> </cfswitch></cf_bodycontent><cfinclude template="#request.fuse_root#/app_layout.cfm">

Page 9: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

…And Used in Your Code

<H2><b>Envision your question to the Magic Eight Ball...</b></H2>

<BR><BR>

<A HREF="#request.self#?fuseaction=#XFA.answer#">VIEW YOUR ANSWER</A>

<BR><BR><BR>

<A HREF=“../#request.self#?fuseaction=#XFA.menu#">back to main menu</A>

Page 10: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Example Exit Fuseactions

• Link<a href=“#request.self#?fuseaction=#XFA.add#”>

Add User

</a>

• Form<form action=“#request.self#?fuseaction=#XFA.edit#” method=“post”>

• Redirect<cflocation template=“#request.self#?fuseaction=#XFA.true#”>

Page 11: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

FuseDocs

The Big Picture:– Fusedocs are the blueprint of the fuse.

– You should be able to know everything about a fuse just by reading its FuseDoc.

Page 12: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Example FuseDoc

• Let’s look at an example Fusedoc…

Page 13: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

On to the nuts and bolts…

Page 14: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

A New Prefix – fbx

• “app_” denotes “application”

• “fbx_” denotes “fusebox”

Our settings only apply to a fusebox, not the entire application, so we’re going with fbx_

Page 15: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

THE FBX FILES

• fbx_fusebox_cfxx.cfm• fbx_settings.cfm• fbx_layouts.cfm• fbx_switch.cfm• fbx_circuits.cfm

Page 16: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

What CHANGED IN index.cfm?

Page 17: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Typical FB2 index.cfm

<cfinclude template="app_locals.cfm">

<cf_bodycontent>

<cfswitch expression = "#attributes.fuseaction#">

<cfcase value="cover"> <cfinclude template="dsp_cover.cfm"></cfcase>

</cfswitch>

</cf_bodycontent>

<cfinclude template=“../app_layout.cfm">

Page 18: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Typical FB2 index.cfm…

<cfinclude template="app_locals.cfm">

App_Locals.cfm fbx_settings.cfm

(MyGlobals.cfm = fbx_settings.cfm)

Page 19: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

fbx_settings.cfm

• Takes the place of app_globals and app_locals.

• One fbx_settings file per circuit

• Let’s take a look…

Page 20: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Typical FB2 index.cfm

<cf_bodycontent></cf_bodycontent>

<cfinclude template=“../app_layout.cfm">

cf_bodycontent

app_layout.cfm

fbx_fusebox_cfxx.cfm

fbx_layouts.cfm

Page 21: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

fbx_layouts.cfm

• Layout settings for the circuit

<cfset fusebox.layoutdir=""><cfset fusebox.layoutfile=“testLayout.cfm">

Let’s take a look at a layout file…

Page 22: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Typical FB2 index.cfm

<cfswitch expression = "#attributes.fuseaction#">

<cfcase value="cover"> <cfinclude template="dsp_cover.cfm"></cfcase>

</cfswitch>

Fusebox code in the cfswitch

fbx_switch.cfm

Page 23: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Fbx_switch.cfm

• Contains the <cfswitch> code, nothing else.

Page 24: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Typical FB2 index.cfm

<cfinclude template="app_locals.cfm">

<cf_bodycontent>

</cf_bodycontent>

<cfinclude template=“../app_layout.cfm">

<cfswitch expression = "#attributes.fuseaction#">

<cfcase value="cover"> <cfinclude template="dsp_cover.cfm"> </cfcase>

</cfswitch>

Page 25: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Typical FB2 index.cfm

<cf_bodycontent>

</cf_bodycontent>

<cfinclude template=“../app_layout.cfm">

<cfswitch expression = "#attributes.fuseaction#">

<cfcase value="cover"> <cfinclude template="dsp_cover.cfm"> </cfcase>

</cfswitch>

Page 26: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Typical FB2 index.cfm

<cf_bodycontent>

</cf_bodycontent>

<cfinclude template=“../app_layout.cfm">

Page 27: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Typical FB2 index.cfm

Page 28: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

So what’s in index.cfm?

Index.cfm contains the core Fusebox file

• cfinclude the fbx_fusebox30_cfxx.cfm file

-or-

• copy/paste the code from fbx_fusebox into index.cfm

Page 29: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Fbx_Fusebox30_CFXX.cfm

• Contains the “guts” of fusebox.

• Combines several FB2 tags (and then some)

• You never need to touch this file.

Page 30: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

All Done! That was easy!

• Transitioning from FB2 to FB3 is not as intimidating as it may sound!

• If you (or your boss) have strong resistance to change, try doing it in phases…

Page 31: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

FB TRANSITION Phases

In the real world, not every organization will switch to FB3 instantly. If this is you, you can transition your methodology in phases:

1. XFAs

2. Fusedocs

3. Plunge in 100%

Page 32: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Questions?

Time permitting, I’d be happy to answer any questions…

Page 33: Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen erikv@erikv.com

Fusebox Conference 2001

Thank you!