<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>RSS feed for InstantSpot site PhilthyFusion</title><link>http://philthyfusion.instantspot.com</link><description>Just my thoughts on ColdFusion</description><language>en-us</language><copyright>This work is Copyright &#xA9; 2009 by PhilthyFusion</copyright><generator>RSSVille ColdFusion FeedMaker, version 1.0</generator><pubDate>Sun, 22 Nov 2009 04:14:56 GMT</pubDate><item><title>Our error handler</title><link>http://philthyfusion.instantspot.com/blog/2007/03/09/Our-error-handler</link><description>&lt;p&gt;  The error handling is taken care of in the application.cfc.  I have a try/catch in each method that will insure the appropriate  people are notified of an error. The programmers get all the errors  emailed to them and the designers will get the ones that occur in the onRequestStart and onRequest. &lt;br /&gt;  &lt;br /&gt;  Let me show you the most current errorHandler.cfc code. Most of this should be pretty easy to understand. I will point out a few little things though.  &lt;/p&gt;  &lt;p&gt;  [codeshare marcd030]  &lt;/p&gt;  &lt;p&gt;  Online 11 we write an error message to a log file just for that site. Why filter your log files when a site can have its own? Lines 32 trough 34 looks to see if an error happened in a CFC method. If so, it lets you know. At the end of the cfsavecontent tag, we dump the cookie, cgi, and cfcatch scope. We then send out our email to the right people and then print a message to the web page.   &lt;/p&gt;  &lt;p&gt;  Pretty simple really. Now we can call to this cfc method from any site on our server and be informed of what is going on.&amp;nbsp;    &lt;/p&gt;  </description><pubDate>Fri, 09 Mar 2007 16:47:22 GMT</pubDate><guid>http://philthyfusion.instantspot.com/blog/2007/03/09/Our-error-handler</guid><category>ColdFusion</category></item><item><title>Roll your own CF framework</title><link>http://philthyfusion.instantspot.com/blog/2007/03/07/Roll-your-own-CF-framework</link><description>I&amp;#39;ve been using FuseBox 3 for years and it was great for what it was. The problem was that it didn&amp;#39;t address certain issues that we had. So, we tweaked the way we used it. The changes we made helped it but still didn&amp;#39;t address all our problems. &lt;br /&gt;  &lt;br /&gt;  Well I&amp;#39;ve grown a lot as a CF&amp;#39;er over the past nine years and decided it was time to make a change in how we write our code. I looked at Mach II, Model-Glue, Fusebox and I have got to say they just don&amp;#39;t take care of what we need. I don&amp;#39;t think their bad. They just don&amp;#39;t fit our needs. &lt;br /&gt;  &lt;br /&gt;  Well I got out pen and paper and started to make notes of all the things we need a framework to do for us. Didn&amp;#39;t take to long to do since we had been facing the same problems for about three years now. What I found that we needed was this:&lt;br /&gt;  &lt;br /&gt;  &lt;strong&gt;Single layout file. &lt;/strong&gt;&lt;br /&gt;  I liked that Fusebox provided a way of doing this. Tell Fusebox the layout you wanted and it would apply it to the site. Can&amp;#39;t do with out that.&lt;br /&gt;  &lt;br /&gt;  &lt;strong&gt;File naming&lt;/strong&gt;&lt;br /&gt;  I have to be honest. I hate that Fusebox made everything run as a root index.cfm file. How am I supposed to figure out what people are doing on my site when that web stat apps only see them on the one file? So, we will need to be able to have as many directories an file names as we want.&lt;br /&gt;  &lt;br /&gt;  &lt;strong&gt;Code reuse&lt;/strong&gt;&lt;br /&gt;  We have nine websites that need to run off the same code. So we need to use CFCs as much as possible and make a central location for our non-display code to live that all the sites can get to. MVC? Sure. &lt;br /&gt;  &lt;br /&gt;  &lt;strong&gt;Error handling&lt;/strong&gt;&lt;br /&gt;  Oh the errors. We have to get all the errors logged to the CF Admin log files and have email notification sent out to the right people. Its the users and search engines that will break you app in ways that you will never think of. &lt;br /&gt;  &lt;br /&gt;  &lt;strong&gt;Easy to learn&lt;/strong&gt;&lt;br /&gt;  Show me a framework that I can give to a designer that know next to nothing about coding and they can get up and running with out trouble in an hour or two. Anyone? That&amp;#39;s what I thought. Frameworks need to be usable by everyone. How is a designer or some one new to programming going to be able to jump into and understand the most popular of frameworks? They cant. OOP and MVC is out of their grasp. Most seam to struggle with when they need to use hash marks on variables. &lt;br /&gt;  &lt;br /&gt;  All of this has to be easy to maintain. We only have two designers and two programmers. Between the four of us, we take care of the web servers, CF servers, mail servers, project management, customer support, ....... You name it and we have to do it for close to twenty plus sites. Did I mention that we have to redesign nine of the sites every nine months or so. &lt;br /&gt;  &lt;br /&gt;  Our hands are full.&lt;br /&gt;  &lt;br /&gt;  With all of this said, I have put together our own framework for us to use and it works great. I&amp;#39;m still working out the details of it and refining some parts of it but its still better than what we had. &lt;br /&gt;  &lt;br /&gt;  -- &lt;br /&gt;  Phil&lt;br /&gt;  &lt;br /&gt;  </description><pubDate>Wed, 07 Mar 2007 16:08:55 GMT</pubDate><guid>http://philthyfusion.instantspot.com/blog/2007/03/07/Roll-your-own-CF-framework</guid><category>ColdFusion</category></item><item><title>Catching the method that threw an error</title><link>http://philthyfusion.instantspot.com/blog/2006/12/05/Catching-the-method-that-threw-an-error</link><description>I like to think we have a pretty good way to handle errors in our code. When an error is thrown, we email a dump of the CGI an cfactch to all the developers. We also include the following at the top of the email for quick reference. &lt;br /&gt;  &lt;br /&gt;  Referrer:#cgi.http_referer#&lt;br /&gt;  Here is the users current URL:#cgi.path_info#?#cgi.query_string#&lt;br /&gt;  Here is where the user came from:#cgi.remote_addr#&lt;br /&gt;  &lt;br /&gt;  All of this info has been helpful. The one thing it didn&amp;#39;t provide free and clear is the file with the error and the method and, if it is a cfc, that had the error. &lt;br /&gt;  &lt;br /&gt;  This was easier than I thought it would be. To get the file name that had the error, use the variable cfcatch.TagContext[1].template&lt;br /&gt;  &lt;br /&gt;  Getting the method was a bit of a pain because I am really bad with regular expressions. The variable cfcatch.TagContext[1].raw_trace will look something like this&lt;br /&gt;  &lt;br /&gt;  &amp;quot;at cfmakeError2ecfc399653279$funcGETERROR.runFunction(C:\www\error\makeError.cfc:5)&amp;quot;&lt;br /&gt;  &lt;br /&gt;  In that string you will find $func. This comes right before the method name that was called. After that in al caps will be the method followed by .runFunction. So the regex I came up with is this. &lt;br /&gt;  rereplace(cfcatch.TagContext[1].raw_trace,&amp;#39;([[:print:]]*func)|(\.runFun[[:print:]]+)&amp;#39;,&amp;#39;&amp;#39;,&amp;#39;all&amp;#39;)&lt;br /&gt;  &lt;br /&gt;  This will remove everything before and after the method name leaving you with GETTERROR. &lt;br /&gt;  &lt;br /&gt;  Now I use a conditional to make sure a method was called and I&amp;#39;m all good. &lt;br /&gt;  &lt;br /&gt;  Method Called: #rereplace(cfcatch.TagContext[1].raw_trace,&amp;#39;([[:print:]]*func)|(\.runFun[[:print:]]+)&amp;#39;,&amp;#39;&amp;#39;,&amp;#39;all&amp;#39;)#&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  If there is any interest, I can always show more of how we catch errors. &lt;br /&gt;  &lt;br /&gt;  </description><pubDate>Tue, 05 Dec 2006 21:28:44 GMT</pubDate><guid>http://philthyfusion.instantspot.com/blog/2006/12/05/Catching-the-method-that-threw-an-error</guid></item><item><title>Pandora and Last.fm and ColdFusion</title><link>http://philthyfusion.instantspot.com/blog/2006/11/30/Pandora-and-Lastfm-and-ColdFusion</link><description>So I have been using Pandora for my music needs for a while now and I really like it. I have been turned on to bands like Regina Spektor, The Be Good Tanyas Radio and Jack Johnson to name a few. It has been a really good experience. &lt;br /&gt;  &lt;br /&gt;  Today I read a post on CF-Talk about the ColdFusion group on Last.fm. I decided to give it a try. So far I cant figure out how to listen to music I want to listen to. When I tried listening to the ColdFusion group station, I about barfed. Ashley Simpson and Jennifer Lopez? What the.....&lt;br /&gt;  &lt;br /&gt;  Well the service looks good and there are a lot of features. I just can&amp;#39;t find the one that lets me create my own station with my type of music. Pandora lets me have multiple stations which I like. I may want to listen to VNV Nation one day and Portishead the next. How the heck do I do that with Last.fm?&lt;br /&gt;  &lt;br /&gt;  I&amp;#39;ll stop complaining now. &lt;br /&gt;  &lt;br /&gt;  </description><pubDate>Thu, 30 Nov 2006 19:41:49 GMT</pubDate><guid>http://philthyfusion.instantspot.com/blog/2006/11/30/Pandora-and-Lastfm-and-ColdFusion</guid><category>Music</category></item><item><title>My toolbox</title><link>http://philthyfusion.instantspot.com/blog/2006/11/07/My-toolbox</link><description>&lt;p&gt;  Just like everybody else, I have a toolbox. Not a lot in it but it works for me.  &lt;/p&gt;  &lt;p&gt;  We had an issue with one of the servers last night that required me to spend some time on fallen behind maintenance. So I decided to put up a page with links to some of the tools I use for home and work.&lt;br /&gt;  &lt;br /&gt;  Let me know if you have any other good tools.    &lt;/p&gt;  &lt;p&gt;  &lt;a href=&quot;http://philthyfusion.instantspot.com/index.cfm/show/ToolBox&quot;&gt;ToolBox&lt;/a&gt;&lt;br /&gt;  &lt;br /&gt;  -- &lt;br /&gt;  Phil  &lt;/p&gt;  </description><pubDate>Tue, 07 Nov 2006 14:52:01 GMT</pubDate><guid>http://philthyfusion.instantspot.com/blog/2006/11/07/My-toolbox</guid><category>Misc</category></item><item><title>Why we need to be more than just programmers</title><link>http://philthyfusion.instantspot.com/blog/2006/11/02/Why-we-need-to-be-more-than-just-programmers</link><description>How do you handle new job request? It seams to me that people in a fast moving company tend to run with things before they truly understand what is really needed. &lt;br /&gt;  &lt;br /&gt;  Example:&lt;br /&gt;  The director of creative services wanted to put some graphs and charts on a web site that is used to support our dealers. Later they would do the official project that would result in quality print material. So for 20 min, every one threw around ideas of how this should be done. All of which would require lots of reprogramming to an old application that we are trying to phase out. &lt;br /&gt;  &lt;br /&gt;  So I decided to speak up. I asked what are we trying to do, who are we really trying to support, can it be public or private. Once every one decided to answer, it became clear that all we needed to do is take the art work and turn it into PDF&amp;#39;s that we could place on our public web sites. Turns out this would provide for our dealers and their customers which is more than they originally planned for. This took about 5 min. &lt;br /&gt;  &lt;br /&gt;  My question for you is do you try to strip every request down to its lowest common denominator or do you just run with what ever the client thinks they need? &lt;br /&gt;  &lt;br /&gt;  We need to be more than just programmers. We need to be a counselor and mediator. We need to counsel our clients just like a therapist counsels a patient. You ask open ended question that help to gather the information your looking for. We also have to play mediator when there is some conflict amongst the clients. Most of the time it turns out to be a misunderstanding or lack of knowledge that causes the conflict. &lt;br /&gt;  &lt;br /&gt;  I know there are the fortunate programmers out there that have project managers to do this sort of thing. Those programmers have their own issues to deal with. I&amp;#39;m not one of them. I have to play all the rolls and I think there are more like me than not. &lt;br /&gt;  &lt;br /&gt;  I guess my point is if an average programmer develops these skills, even he will become successful. &lt;br /&gt;  &lt;br /&gt;  -- &lt;br /&gt;  Phil&lt;br /&gt;  </description><pubDate>Fri, 03 Nov 2006 04:16:13 GMT</pubDate><guid>http://philthyfusion.instantspot.com/blog/2006/11/02/Why-we-need-to-be-more-than-just-programmers</guid><category>Programming</category></item><item><title>CF/Flash/Java driven mp3 player</title><link>http://philthyfusion.instantspot.com/blog/2006/10/25/CFFlashJava-driven-mp3-player</link><description>I&amp;#39;m going to New Orleans this weekend and will have a fair amount of time in the car with nothing to do. So, I&amp;#39;m going to try and finish my work on a CF/Flash/Java driven mp3 player. &lt;br /&gt;  &lt;br /&gt;  Whats so cool about that? Well it has some nifty little features built into it. &lt;br /&gt;  &lt;br /&gt;  Automagically organizes my mp3&amp;#39;s&lt;br /&gt;  Build and update play lists&lt;br /&gt;  Open Source Flash mp3 player to cover that fact that I suck when it comes to Flash&lt;br /&gt;  Web access to all my music&lt;br /&gt;  &lt;br /&gt;  There are still a lot of things I would like to do with this but I&amp;#39;m trying to start off small and build in the things I need. Not the what I think I want. &lt;br /&gt;  &lt;br /&gt;  The next thing I&amp;#39;m working on is playing around with CF and Java to read and write midi files. &lt;br /&gt;  </description><pubDate>Wed, 25 Oct 2006 14:13:04 GMT</pubDate><guid>http://philthyfusion.instantspot.com/blog/2006/10/25/CFFlashJava-driven-mp3-player</guid><category>ColdFusion</category></item><item><title>Install CF 7 on Win 2K3 SP1</title><link>http://philthyfusion.instantspot.com/blog/2006/10/16/Install-CF-7-on-Win-2K3-SP1</link><description>&lt;p&gt;  Well we had two of our drives fail this weekend so now I have to rebuild the server. I&amp;#39;m soooo very happy. :-|  &lt;/p&gt;  &lt;p&gt;  Any way, the install of CF 7 fails on the server. This is because I&amp;#39;m running Win 2K3 Sp1 and the installer hates it. Well I decided to post my instructions to fixing this problem in case any one else needs it.   &lt;/p&gt;  &lt;p&gt;  You have to install it using the built in web server.After that finishes, follow the instruction on this page: &lt;a href=&quot;http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_19575&quot; target=&quot;_blank&quot; title=&quot;http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_19575&quot;&gt;http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_19575&lt;/a&gt;  &lt;/p&gt;  &lt;p&gt;  After you have completed these steps, you will have to deactivate the built in web server. &lt;br /&gt;  &lt;br /&gt;  The only thing you have to do in addition is turn off the built in webserver.  &lt;/p&gt;  &lt;p&gt;  Open this file  &lt;/p&gt;  &lt;p&gt;  cf_root\runtime\servers\coldfusion\SERVER-INF\jrun.xmlIn the section titled &amp;quot;This is the built-in JRun Web Server&amp;quot; change the following line&lt;br /&gt;  false&lt;br /&gt;  to&lt;br /&gt;  true&lt;br /&gt;  &lt;br /&gt;  Hope this info helps out. It seems to be the only sure fire way I can get it to work.  &lt;/p&gt;  </description><pubDate>Mon, 16 Oct 2006 14:53:43 GMT</pubDate><guid>http://philthyfusion.instantspot.com/blog/2006/10/16/Install-CF-7-on-Win-2K3-SP1</guid><category>ColdFusion</category></item><item><title>Blogability</title><link>http://philthyfusion.instantspot.com/blog/2006/10/10/Blogability</link><description>I was reading this entry on Sean Corfield&amp;#39;s blog.&lt;br /&gt;  &lt;a href=&quot;http://corfield.org/blog/index.cfm/do/blog.entry/entry/Closures_updated&quot; target=&quot;_blank&quot; title=&quot;http://corfield.org/blog/index.cfm/do/blog.entry/entry/Closures_updated&quot;&gt;http://corfield.org/blog/index.cfm/do/blog.entry/entry/Closures_updated&lt;/a&gt;&lt;br /&gt;  I got to it from fullasagoog.com and it sounded interesting. The problem was, I had no idea what he was talking about. I tried clicking the link &amp;quot;Closures for CFMX&amp;quot; but that just gave me a zip file. I looked around the site and didn&amp;#39;t find an easy way of gathering info about Closures. &lt;br /&gt;  &lt;br /&gt;  I&amp;#39;ve had this problem on a lot of peoples blog sites that are ColdFusion related. People use their blog to talk about their apps and thats cool. The problem I have is that there is not always a one click link on their blog that talks about the app in question. &lt;br /&gt;  &lt;br /&gt;  This seams to be a usability issue. Minimal clicks to get the user to their destination. That&amp;#39;s what I have always focused on. Maybe its just me but we should be trying to make gathering information about a simple tool like ColdFusion as simple as possible. The better we as developers market the tools we use, the easier it is for us to market our selves. &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  </description><pubDate>Tue, 10 Oct 2006 19:35:14 GMT</pubDate><guid>http://philthyfusion.instantspot.com/blog/2006/10/10/Blogability</guid><category>CF Community</category></item></channel></rss>