Here's a quick lowdown on CFNorth from the FB POV: BTW, John Q is a chastened man, sequestered while he repents for his past sins. I think you're going to forgive him, though. FuseQ is awfully nice. I don't want to steal his thunder but it addresses the following aspects:
1. Allows functionality to be abstracted to separate layers. This means that if I have nested circuits like this: Employee SalariedWorker ContractWorker HourlyWorker I can abstract functionality common to SalariedWorker, ContractWorker and HourlyWorker and put that in Employee. For example, if I want to create a new HourlyWorker, I can call a function called SuperQ() that would first call the parent of HourlyWorker (Employee) and ask it to execute a fuseaction in its circuit called "new". If none is there, it just discards the request. For anybody used to Smalltalk or Java, this is functional equivalent of calling super(). 2. Allows you to use standard cftry/cfcatch exception handling, lets exceptions bubble upwards and/or lets you throw them to a separate exception circuit. All this is done with standard fuseactions - so we're all used to it. 3. Allows you to call layout files specific to a fuseaction (or even part of a fuseaction) within the cfcase file. You can still use nested layouts, but now, you don't need conditional logic in your nested layouts. Example: 4. Allows for multiple fuseactions to process in the same HTTP request, making things like Model-View-Controller MUCH, MUCH easier. Reduces need for using cfmodule calls. 5. Best of all, it's really, really easy to use. You basically have two calls you make: <cfset AddToQ( 'circuit_alias.fuseaction_request' )> and <cfset SuperQ()> John is on the road back from Toronto (I kinda lied about the seclusion, but he is repenting his past ways), but when he gets back, he's going to put up an article explaining how it works. Wells, Ben and the folks at Synthis did a great job at outlining J2EE Fusebox and everybody was blown away by the Beta of Adalon 2.5. It was molto coolio. I've officially retired my copy of Visual Mind. I built a Fusebox framework including a wireframe, circuits, fuseactions, linked fuses to those fuseactions, XFAs, Fusedocs, validation rules for incoming variables. Clicked the generate button and bang: instant application. Incredibly cool was the fact that it produced an immediate "build" of the application. Each screen that the user would normally see was shown as a screen that had the Fusedoc info on it, with clickable links. This is real FB code executing. As you write the fuses, you switch out the initial build fuse for the real fuse, providing a new build each time. I am most impressed. Wells took the diagram I created when doing CF Fusebox and flipped the switch so that it generated J2EE Fusebox. And I don't have any financial interest in saying that, btw. Within 10 minutes of John's talk on FuseQ, Wells said, "THAT is excellent. We're going to support FuseQ in Adalon!" Charlie Arehart was fantastic (as always). Ben Forta and I were on a panel that included Robert Diamond from CFDJ, Charlie, and Michael Smith. That Ben guy - he's not only Mr. CF, but an awfully nice man. He joked with me before the event that people were thinking we were the same person. I noted that "Hal Helms" and "Ben Forta" have the same number of letters in each name. Coincidence? Hmmm... Again, Kevin and Byron did an absolutely amazing job. How do we get THOSE guys to help us with the Fusebox conference!? -----Original Message----- From: Ken Wilson [mailto:[EMAIL PROTECTED]] Sent: Monday, May 06, 2002 10:24 AM To: [EMAIL PROTECTED] Subject: RE: cferror By "talking" do you mean taunting everyone with the fact that it existed but refusing to provide any useful details? :) -----Original Message----- From: Lee Borkman [mailto:[EMAIL PROTECTED]] Sent: Monday, May 06, 2002 4:25 AM To: [EMAIL PROTECTED] Subject: Re: cferror Oh, my lordy! This looks like fun, guys! You have to admit, Nat and Erik got in first with their system, but John was sure talking about his for a long time. Well, how's this for a good parents' cake-inspired solution?: Nat and Erik divide the error-handling market into two pieces. John chooses which piece he will have. The real problem, as any parent or mathematician knows, is how you cope when there are more than two players. But there's no way that could happen, is there? ;-) Bye all, You have livened up a dire day. LeeBB ----- Original Message ----- From: John Quarto-vonTivadar Kay, I think you're making the right choice -- when a site is going live into production the last thing you want to do is to start using some new, unproven hot-fix that could well throw unexpected problems into what is already a stressful situation. Since you're in a fix, one quick and dirty solution is you can use a local variable such as suppresslayout which would normally be set to FALSE in fbx_settings, and then where you had your cferror, instead of using cfabort do <cfset suppresslayout = TRUE> and then in your fbx_layouts do <cfif suppresslayout> <cfset fusebox.layoutfile=""> </cfif> make sure this is in all the fbx_layouts files to the suppress will "nest" on the way "up" one doesn't need to modify the core file in any way to handle the simplest error trapping, such as what you've described needing, as long as you stop the nested layout process from occuring which is what suppresslayout does in the above example. That should at least get you through Monday. If you wish to use a robust implementation to handle your bubbling error and exception handling, then call me at the main number at Techspedition.com on Monday after 3pm and before 10pm NYC time. Two lines of code to achieve bubbling like that won't take long on the phone -- again the advantage being that anyone working with FuseQ doesn't have to modify the core file or create new fusebox API variables for any sort of bubbling exception handling -- that benefit derives naturally from our implementation of the FB3 spec. that everyone is familiar with. Code works out of the box, just like C code runs without incident in C++ ). p.s. The Synthis people demo'ed the newest version of Adalon this weekend and it will *knock your socks off* with phenomenal support for wireframing and pre-prototyping. Synthis also announced that the future versions of Adalon will support FuseQ. When hard-core java people like Synthis begin supporting and approving FuseQ, then I know we are on the right track. > -----Original Message----- > From: Kay Smoljak [mailto:[EMAIL PROTECTED]] > Sent: Sunday, May 05, 2002 10:22 PM > To: [EMAIL PROTECTED] > Subject: cferror > > > Hi all, > > I have a site going live today. I've put a cferror tag in, but when it > gets triggered it displays its content followed by the normal layout. > I tried putting a cfabort tag directly after the cferror, but it > didn't have any effect. I'm aware of the modified core files > available, but this is going live today. (yeah, yeah, I know, last > minute changes are bad). Is there any way to do this? > > Thanks, > Kay. > > ==^================================================================ This email was sent to: [email protected] EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrFMa.bV0Kx9 Or send an email to: [EMAIL PROTECTED] T O P I C A -- Register now to manage your mail! http://www.topica.com/partner/tag02/register ==^================================================================
