Converting an Application from Fusebox 3 to Fusebox 5.5 (Part 3)

I have now got several circuits working in my application and as a result have developed a kind of methodology for doing the conversion.

As wel as the items mentioned in the earlier posts there are a number of changes required.

Content Variables and Layout

The first is that since my fusebox 3 application was using the nested circuits I have to put all my display includes inside a cfsavecontent tag. For the moment I don't want to make any big cahnges to the application and it does not use MVC so I can't make use of the do facility to put the output of those fuses into the content variables.

Fusebox3 put everything into a variable called fusebox.layout which was in variables scope. Since I don't have easy access to variables scope I decide to use a request scope variable which will be available in my circuit CFCs. In my case I am using request.page.content mostly because that is the name used in some applications I have.

<cfsavecontent variable="request.page.content">
   <cfinclude template="dsp_messagelimit.cfm">
</cfsavecontent>

The same variable has to be used in the layout files and in the fbx_layout I actually have to include the file as it is no longer done automatically for me.

Fusebox Variables

There are several places in the code where I have used Fusebox.Fuseaction and this needs to be changed to MyFusebox.OriginalFuseaction. To make this work I also need to add the argument tag to every method in that needs it.

<cfargument name="myFusebox" />

Attributes Scope

All my existing fuses expect to find the data that was in form or url scope in the attributes scope. By adding a line in the prefuseaction I can copy that from the arguments in one place.

<cffunction name="prefuseaction">
   <cfargument name="myFusebox" />
   <cfargument name="event" />
   <cfset attributes = event.getallvalues()>
......
</cffunction>

I hope these notes are proving useful to anyone planning a similar conversion. Do let me know.

Comments
BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.