Fusebox 3 to Fusebox 4 Converter

Force to index.cfm

Securing Access Through index.cfm
In early versions of Fusebox, Application.cfm was shunned. In Fusebox 3, it is not recommended to use Application.cfm for much functionality because it is run once per request, regardless of subsequent calls, which might produce unexpected results. So what should you put in Application.cfm and why? You should put code to secure access only to index.cfm (or your default webserver document like default.cfm). That way, you can be guaranteed that all requests by users go through index.cfm. You can still individual fuses, though. Place this code in Application.cfm:

<cfif listLast(cgi.script_name,'/') neq "index.cfm"> <cflocation url="/index.cfm"> </cfif>

FB3: API

Fusebox 3 exposes a series of variables to help in writing code:

Public API variable Type Writable Description
Fusebox.isCustomTag Boolean No Is this fusebox being called as a custom tag
Fusebox.isHomeCircuit Boolean No Is the directory of the file currently being operated on by FBX_Fusebox_CFxx.cfm the same as the home circuit of the app
Fusebox.isTargetCircuit Boolean No Is the directory of the file currently being operated on by FBX_Fusebox_CFxx.cfm the same as the target circuit of the app
Fusebox.fuseaction String No The simple fuseaction extracted from the attributes.fuseaction of form circuit.fuseaction passed in
Fusebox.circuit String No The simple circuit extracted from the attributes.fuseaction of form circuit.fuseaction passed in.
Fusebox.homeCircuit String No The circuit alias of the home circuit of the app.
Fusebox.targetCircuit String No The circuit alias of the target circuit of the app. Usually this is the same as fusebox.circuit unless you have made a circuits definition error.
Fusebox.thisCircuit String No The circuit alias of the directory of the file currently being operated on by FBX_Fusebox_CFxx.cfm.
Fusebox.thisLayoutFile String Yes The layout file to be applied to this circuit after the fuseaction and its fuse(s) are done creating their content.
Fusebox.thisLayoutDir String Yes The relative path from the target circuit where the layout file to be applied to this circuit is located. If no special layout directory has been created, this should be set to an empty string.
Fusebox.CurrentPath String No The relative directory path of the file currently being operated on by FBX_Fusebox_CFxx.cfm, relative from the root of the application (ie the home circuit). Example: dir1/dir2/dir3/
Fusebox.RootPath String No The relative directory path of the file currently being operated on by the core frozen fusebox code, relative to the root of the application (ie the home circuit). Example: ../../../
Fusebox.layout String No This is the variable used by cfsavecontent or its equivalent custom tag that captures the generated content to that point in preparation for wrapping a layout file around it (as defined by fusebox.layoutfile). This
variable must be inside each layout file in order for content to be passed up to the next level of nested layouts.
Fusebox.SuppressErrors Boolean Yes FBX_Fusebox_CFxx.cfm has some abilities built in to suppress native ColdFusion errors and instead give its best guess at what it wrong with your application (as it relates to Fusebox). Default value is always FALSE, which therefore generates native ColdFusion errors. You may want to set it to TRUE while you set up your application in Fusebox style and let it default to FALSE when you are confident that your Fusebox is set up correctly but are testing for coding errors in your fuses unrelated to Fusebox.

FB3: XFA Names

Each Exit FuseAction (XFA) should be named to suit it's purpose on the display.

For example:

xfa.formAction

The action attribute of a form tag.

<form name="forExample" 
action="#xfa.formAction#"
method="post">
xfa.next

The action with a "Next" button is pressed.

<a href="#">
<img name="btnNext" src="next.gif"
onClick="window.location.href='#xfa.next#'">
</a>
xfa.back

The action of a url link.

<a href="#xfa.back#">Back</a>

BlogCFC was created by Raymond Camden. This blog is running version 5.9.001. Contact Blog Owner