1

I am looking into some ColdFusion development with the Fusebox framework - I have installed CF10 and downloaded Fusebox 5.5 and their sample skeleton app, but I am left wanting at their setup guide.

I can get a basic app (Hello World style) working by just dropping a directory in my webroot and a basic index.cfm, but when I try to access the skeleton app I get an error saying the Fusebox files cant be found.

Can someone describe common convention/best practice for structuring my applications and FuseBox files in my web server?

I currently have the following structure:

+ wwwroot
    +skeletonapplication (the skeleton application)
    +FBCore (Fusebox core files)

Also, the docs mention that I need to add a line to index.cfm to confirm the directory structure - can anyone shed any more light on this as to what the config line looks like?

And finally, if anyone can chip in on general directory structure best practice for individual applications that would be great.. Im hoping they share something in common with the typical kind of layout as used by Initialize etc

Sergey Galashyn
  • 6,946
  • 2
  • 19
  • 39
rhinds
  • 9,976
  • 13
  • 68
  • 111
  • 3
    May I ask why you've chosen Fusebox? It's not like I dislike it (I actually worked with it a lot), but there are few modern alternatives out there which at least currently maintained. FW/1, CFWheels, etc. – Sergey Galashyn Nov 29 '12 at 21:42
  • I have been working with a cfusion application that uses it so thought I would stick with it. I did not know FuseBox was no longer supported? What would be your preferred framework to recommend? (looking for a nice clean, but powerful MVC framework - good REST support and responsive design support a plus). Im java/Spring background – rhinds Nov 29 '12 at 22:06
  • @Sergii oh yes, and of course im using CF10, so good support for that and its features would be good – rhinds Nov 29 '12 at 22:17
  • [Fusebox _is_ being maintained/updated](http://fusebox.org/index.cfm/fusebox-downloads/fusebox-56/) (after a long period of dormancy), and it'll work. However, you'll certainly find more people using newer frameworks, mainly FW/1, Model-Glue, cfWheels, ColdBox - some of those use ColdSpring (a CF port of Spring), so worth looking into that if that's your background. – Peter Boughton Nov 29 '12 at 23:17
  • @PeterBoughton Well, it was one burst of activity after changing the ownership... 7 months ago. To be honest, I don't think it will 'fly' again, but I'd be happy to be wrong here. – Sergey Galashyn Nov 30 '12 at 08:41
  • @rhinds Personally I use FW/1 these days, it gives me needed flexibility. CFWheels is somewhat similar to Rails, if you like the approach -- and it is very easy to begin with. As Peter pointed out, you may be interested in into more enterprise-looking ColdBox. – Sergey Galashyn Nov 30 '12 at 08:43
  • Thanks both - think I may look at ColdBox (not fussed for the RAD rails approach so much other than the initial bootstrapping). Plus had a quick look and seems to handle stuff like application security url-intereception quite nicely. – rhinds Nov 30 '12 at 09:10
  • I got fed up with the horrible slowness of fusebox 4.1 and wrote this https://github.com/jamie-pate/FuseBoxFreedom (so far only 12 hours in, but it works for me and it's increased page load time 5x) – Jamie Pate Sep 23 '13 at 00:33

1 Answers1

4

The Fusebox core files should be in the webroot in a folder named /fusebox5 by default. Alternatively (and probably the recommended deployment) is to locate them outside of the webroot and create a mapping in your Application.cfc or ColdFusion Admin called fusebox5 to the directory.

From there in the skeleton, it clearly shows the proper structure of a Fusebox 5 application. There are two implementations for Fusebox Applications and they can be mixed and matched to a degree as well: Implicit and XML (Explicit).

+wwwroot
    +myApp
        +controller
        +model
        +view
        +layouts
+fusebox5

You can customize where the fusebox core files are located by adjusting the line in the application.cfc:

<cfcomponent extends="fusebox5.Application" output="false">

Let's say you move the core files into the FBCore directory in webroot:

<cfcomponent extends="FBCore.Application" output="false">

Looking at the latest download from Fusebox.org, it isn't very new-developer friendly out of the box. Try downloading the sample Bookstore application for version 5 and version 4 (if you want to see the xml at work). The framework stagnated for a number of years but there is a new group working on the framework but I'm not sure where that group stands right now.

Sean Corfield, one of Fusebox's core maintainers in the past has wrote recently he felt that his FW/1 framework is a successor to Fusebox. Fusebox is touted as a "feature-complete" framework, meaning all the big features planned for it were completed, and I think FW/1 is also in a similar state.

The most actively maintained framework is Coldbox. It too supported both xml and now implicit (no-xml) flavors and the group behind it releases a large number of products and features on an almost too-regular basis (it's hard to keep up!). It does come with ALOT of documentation but the framework does everything under the sun. They have released a Lite version that might make it easier for newer developers to jump in.

BKK
  • 2,073
  • 14
  • 17
  • I would be surprised if Sean Corfield ever promoted FW/1 as successor. There are a lot of similarities, but FW/1 has very few configuration options compared to Fusebox. FW/1 is implemented in a single file, where as Fusebox is really big. – James A Mohler Nov 30 '12 at 05:53
  • He did recently, it was the first time I'd seen him write something to that effect too. I shouldn't have used the word "touted", he just mentioned it in passing. – BKK Nov 30 '12 at 09:00
  • Thanks - did manage to get it working, but think i will have a look at ColdBox! – rhinds Nov 30 '12 at 09:11
  • 2
    Sean has said (words with the approx same meaning as) _"FW/1 is what I wanted FB5.5 No-XML to be, but without the constraints of backwards compatibility"_. Though that was a while ago, unless he repeated it recently? – Peter Boughton Nov 30 '12 at 16:48
  • Also, the only area FW/1 (deliberately) lacks configuration is in the controller/view/layout locations - there are plenty of general FW/1 configuration options (including the ability to easily edit/override the single core file yourself, since it is only one file, and much easier to follow than Fusebox!) – Peter Boughton Nov 30 '12 at 16:49
  • Sean comes close to saying FW/1 is the successor to Fusebox. He mentions "... Even Fusebox, the mainstay of ColdFusion application frameworks has become far too much for simple applications. ..." And later "... If, like me, you're tired of framework bloat, try FW/1 ..." [http://www.corfield.org/blog/post.cfm/introducing-framework-one](http://www.corfield.org/blog/post.cfm/introducing-framework-one) – James A Mohler Nov 30 '12 at 21:32