Stephen; The same way someone can drive a car into a tree, so can someone take a perfectly good framework and use it to make sh*t.
The problem with the application you described sounds very atypical to me, and I would be very concerned about my own skills as a developer if I was unable to track down some code for a home page within an hour after being given access to the files. I look at a fuseaction to determine the circuit and the fuseaction. I look in the fbx_circuits.cfm file to determine the physical location of the code, and then in the fbx_switch.cfm file within the circuit directory to find the specfic fuseaction containing the code. If the problem is not there, I go to the fbx_settings.cfm or the application.cfm file to find it. As for the readability of a fusebox application looking like spaghetti, included below is a sample fusedoc I wrote in June. It explains the code coming into the page more than adequately and, coupled with the other 600 or so Fusedocs contained within the system, gives me an almost complete understanding of how the system works. It seems fairly clear to me, with or without a sauce. If you want the specification, download the core files from www.fusebox.org along with the documents for FB2 (which outline the core concepts) and Hal Helms' paper on the differences between FB2 and FB3. If you are asking that the developers explain the function of each and every line of code contained within the core files, you will have to refer to the comments contained within each core file. How much else are you asking for? M <!--- <fusedoc fuse="act_update_feature.cfm" language="ColdFusion" version="2.0"> <responsibilities> I generate a structure containing information about the bug the user is reviewing. </responsibilities> <properties> <history author="Michael Haggerty" date="28Jun02" role="Architect" type="Create" /> </properties> <io> <in> <structure name="form_fields" scope="attributes" comments="Form fields submitted via CFMODULE Tag" optional="FALSE"> <string name="reviewedBy" scope="variables" optional="FALSE" /> <string name="comment" scope="variables" optional="FALSE" /> <string name="bugID" scope="variables" optional="FALSE" /> <string name="completed" scope="variables" optional="TRUE" /> <string name="archived" scope="variables" optional="TRUE" /> </structure> <string name="user_data.userid" scope="session" optional="FALSE" /> <string name="user_data.fullName" scope="session" optional="FALSE" /> </in> </io> </fusedoc> //---> -----Original Message----- From: Stephen Moretti [mailto:[EMAIL PROTECTED]] Sent: Tuesday, July 16, 2002 10:37 AM To: CF-Community Subject: Re: Throwing the baby back Mike, > Don't let Hal Helms hear you say that. > > The Fusebox specification is a set of core files which are distributed with > a demo to help you learn how to work. > I hate to be a pedant, but I have to agree with Jeffry on this : spec·i·fi·ca·tion (sps-f-kshn) n. 1.. The act of specifying. 2.. 1.. specifications A detailed, exact statement of particulars, especially a statement prescribing materials, dimensions, and quality of work for something to be built, installed, or manufactured. 2.. A single item or article that has been specified. 3.. An exact written description of an invention by an applicant for a patent. Therefore a bunch of files and a couple of demos, do not a specification make.... And before anyone mentions them, a couple of books interpreting a deluge of emails with no written word to base them on are not specifications either. This is one of my pet peeves with FB3. There is no written word on how it should be used or should work. At least with FB2 there were the couple of white papers and Steve Nelson's book was a pretty good go at specifying the Fusebox methodology. Another pet peeve with FB3 is it is virtually unreadable! One of the original tenets of Fusebox was that the code that was generated by a developer using FB code be given to another developer with no knowledge of Fusebox and they would be able to easily see what is happening in the code, what is being called where etc. etc. It was supposed to be and was self documenting to some extent. FB3 is a biggest pile of unreadable spaghetti you could possibly have the misfortune to come across. For instance.... I've been coding with FB for about 4 years now, probably a bit longer. I've had various conversations with Steve Nelson, Craig Girard et al, back when the FB list was on Michael's mail server and it wasn't so insane. So you'd think I have a pretty good grasp of the Fusebox method..... Well it would seem not... I went to a client to talk about server performance tuning and an element of code performance tuning. They asked me if I would have a look at a real example and give them my thoughts. They told me it was a FB application, so I said, yeah sure no problem. I opened up the code......... I tried to work out what the files were being included to display the home page.... I treked back and forth through the various core files, step by step, line by line, with the client looking over my shoulder. We never managed to find what was actually displaying the home page in the hour that we had allocated to look at the code. Admittedly, we were looking at other aspects of the code as well, but we still should have been able to get to the templates for the home page within a few moments...... Arrgghhh! Now I'm on a rant too! Another thing that annoys me about FB3 is that people think that it makes good code automatically. It doesn't! Even making use of some of the undocumented techniques does not make good code. FB3 is only good in the right situation and if you use all parts of the method, right from analysis right through to coding. It is no longer a coding standard, but an analysis and design methodology. So many many people fail to see this and try to just use their own interpretation undocumented coding standards to write their applications and make a lovely paste dish! At least FB2 was documented, was only a suggestion for a coding standard and was readable. It had the advantage of having tools to help you with additional documentation (the original fusedocs) and for developing the application (DevNotes and wireframes) > Maybe the Fusebox council needs to do a little more to promote awareness of > their product. > /expletive deleted/ What they need to do is write the document that explains Fusebox from start to finish, make it freely available and create multiple core files for each possible installation of CF (why do I need code that handles Linux file paths and Apache CGI variables, when I'm running on IIS5 on Windows 2000???) I believe someone out there started writing their own coding practice white paper called KISS (Keep It Simple Specificiation or something like that). This is something that has been forgotten with FB3 and maybe thats what the Fusebox Council need to be doing..... Getting back to basics and keeping it simple! ~takes deep breath and quits ranting~ Going back to what Michael started on... > Yes, I'm ranting a bit. I'm helping out a friend with a project and modifying > a commercial product (one he paid money for). Now you'd expect that a commercial > product would have good code, right? You'd expect that a product that supposedly > followed a methodology would have good code, right? That the code would be written > intelligently, that it would not repeat itself or fall over itself, right? Well, this code is poorly > written, does not use any best practices (I see CFSETs with pound signs around everything), > uses one of the Fusebox methodologies (one of as the methodology has splintered) and is just > not good code. And I have to make it good code. > Heh heh... Yeah right... Commercial code that is good code.... ~snigger~ isn't that why commercial code is always encrypted?? > I'm going to start CF classes. If you write bad code, you get hit with a shock prod. If > you release bad code, you get abused by a large bull (let your imagination run free here). > It'll be learn it right and tight or wish you were in a Turkish jail being interrogated by Abdul. > I've got a pressure washer here that you could use for water torture, if you like.... :o) I'll shut up now and get on with some work..... ;o) Stephen ______________________________________________________________________ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Archives: http://www.mail-archive.com/cf-community@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists