<rss version="2.0"><channel><title>RSS feed for InstantSpot site Dave Shuck&apos;s InstantSpot</title><link>http://daveshuck.instantspot.com</link><language>en-us</language><copyright>This work is Copyright &#xA9; 2008 by Dave Shuck&apos;s InstantSpot</copyright><generator>RSSVille ColdFusion FeedMaker, version 1.0</generator><pubDate>Sat, 17 May 2008 10:12:11 GMT</pubDate><item><title>CF8 error after upgrading to Ubuntu 8.10 Hardy Heron -   libstdc++.so.5</title><link>http://daveshuck.instantspot.com/blog/2008/05/01/CF8-error-after-upgrading-to-Ubuntu-810-Hardy-Heron----libstdcso5</link><description>This afternoon I did an upgrade from Gutsy to Hardy on my main development environment.  I experienced *almost* no disruption to my system, with one exception (so far!).  When I instantiated a ColdFusion 8 application which instantiates a webservice onApplicationStart, I received the following exception:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;
					
						
							
								
			jikes: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory&lt;/b&gt;
					&lt;br /&gt;&lt;br /&gt;Jikes!  Well fortunately the fix is quite simple.  Go to a terminal and install libstdc++5 like so:&lt;br /&gt;&lt;code&gt;$ sudo apt-get install libstdc++5&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Restart your application and carry on!  I am not sure what changed between the distros, but apparently the libraries that ColdFusion uses for invoking webservices depend on this package.&lt;br /&gt;</description><pubDate>Thu, 01 May 2008 23:07:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/05/01/CF8-error-after-upgrading-to-Ubuntu-810-Hardy-Heron----libstdcso5</guid><category>ColdFusion,Ubuntu,Linux</category></item><item><title>Strange component path behavior with event gateway</title><link>http://daveshuck.instantspot.com/blog/2008/04/22/Strange-component-path-behavior-with-event-gateway</link><description>&lt;p&gt;I am working on a client project using an SMS event gateway using CF8.  I had written out a proxy API to allow the SMS gateway to talk to the core application using a shared data model that is strapped together using ColdSpring.   I had written a test harness cfm template during development and just kind of assumed that I could instantiate this proxy component from my event gateway without issue and carry on about my business.  For some reason, however, I am seeing some behavior that I wasn&apos;t expecting.  I have resolved this by way of using a ColdSpring mapping in the CF Admin.  However, I am still curious why the following takes place. &lt;br /&gt;
&lt;br /&gt;
Here is the general picture:&lt;br /&gt;
&lt;br /&gt;
I have an app that sits in /www/myclientapp/www&lt;br /&gt;
&lt;br /&gt;
The proxy components and event gateway component sit in /www/myclientapp/api/proxy and there is an Application.cfc in the &amp;quot;api&amp;quot; directory.  I have a coldspring directory in both /www/myclientapp/www/coldspring and /www/myclientapp/api/proxy/coldspring.&lt;br /&gt;
&lt;br /&gt;
When I run a testharness file in /www/myclientapp/api/proxy/testharness.cfm, I can instantiate the data model properly and there are no issues.  However, when I talk to the event gateway component that sits in the ..../proxy directory, I get errors instantiating ColdSpring in the Application.cfc stating &lt;br /&gt;
&lt;em&gt;&amp;quot;&lt;font size=&quot;3&quot;&gt;Could not find the ColdFusion Component or Interface coldspring.beans.DefaultXmlBeanFactory. --- path: /www/myclientapp/api/proxy/coldspring/beans/DefaultXmlBeanFactory.cfc&amp;quot;&lt;/font&gt;.&lt;br /&gt;
&lt;/em&gt;&lt;br /&gt;
So, digging into this a bit further I did a FileExists() test on that cfc and it returns true.  HUH?  &lt;br /&gt;
&lt;br /&gt;
Here is my question.  How can the following two statements be true:&lt;br /&gt;
&lt;br /&gt;
1)  FileExists(ExpandPath(&amp;quot;coldspring/beans/DefaultXmlBeanFactory.cfc&amp;quot;)) returns &amp;quot;true&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2)  CreateObject(&amp;quot;component&amp;quot;,&amp;quot;coldspring.beans.DefaultXmlBeanFactory&amp;quot;) errors out with the error you see above.&lt;br /&gt;
&lt;br /&gt;
Hopefully someone smarter than me can shed some light on this problem!&lt;/p&gt;</description><pubDate>Tue, 22 Apr 2008 13:41:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/04/22/Strange-component-path-behavior-with-event-gateway</guid><category>ColdFusion</category></item><item><title>ColdFusion in odd places - using the directory watcher on my desktop</title><link>http://daveshuck.instantspot.com/blog/2008/04/21/ColdFusion-in-odd-places--using-the-directory-watcher-on-my-desktop</link><description>&lt;p&gt;Since recently installling yet another distro on my laptop, I was unable to get the FTP functionality of my webcam software (Camorama) to work properly.  The program will save snapshots locally, but bombs on transfer.   Rather than troubleshoot it to death, I decided to whip out a quick and dirty ColdFusion directory watcher event gateway and have it watch for updated images, and then push them to my webserver via FTP.&lt;/p&gt;
&lt;p&gt;For anyone interested in this non-earth shattering bit of code, here it is.  First I created a config file:&lt;/p&gt;
&lt;p&gt;WebcamWatcher.cfg&lt;div class=&quot;code&quot; &gt;&lt;pre&gt;# The directory we want to watch. 
directory=/home/dshuck/Webcam_Pictures

# Do we want to recurse the directories?
recurse=no

# miliseconds between checks
interval=6000

# The comma separated list of extensions to match.
extensions=*

# component method for change events
changeFunction=onChange

# component method for add events
addFunction=onAdd

# no delete events for now
deleteFunction= &lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Now to create the methods in our WebcamWatcher.cfc.  In short, either a changed file or an added file will trigger the putImage function which first creates the FTP connection, changes directories to my webcam directory, then pushes the file to the server.  Here is the code:&lt;/p&gt;
&lt;p&gt;WebcamWatcher.cfc&lt;div class=&quot;code&quot; &gt;&lt;pre&gt;&amp;lt;cfcomponent output=&amp;quot;false&amp;quot;&amp;gt;
	&amp;lt;cffunction name=&amp;quot;onAdd&amp;quot; output=&amp;quot;false&amp;quot;&amp;gt;
		&amp;lt;cfargument name=&amp;quot;CFEvent&amp;quot; type=&amp;quot;struct&amp;quot; required=&amp;quot;yes&amp;quot;&amp;gt;
		&amp;lt;cfset var Data=CFEvent.data /&amp;gt;
	  	&amp;lt;cflog file=&amp;quot;DirectoryWatcher&amp;quot; application=&amp;quot;No&amp;quot; 
	     	text=&amp;quot; ACTION: #data.type#;  FILE: #data.filename#;  calling putImage()&amp;quot; /&amp;gt;
		&amp;lt;cfset putImage() /&amp;gt;
	&amp;lt;/cffunction&amp;gt;
	

	&amp;lt;cffunction name=&amp;quot;onChange&amp;quot; output=&amp;quot;false&amp;quot;&amp;gt;
	  	&amp;lt;cfargument name=&amp;quot;CFEvent&amp;quot; type=&amp;quot;struct&amp;quot; required=&amp;quot;yes&amp;quot;&amp;gt;
	  	&amp;lt;cfset var data=CFEvent.data&amp;gt;
	  	&amp;lt;cflog file=&amp;quot;DirectoryWatcher&amp;quot; application=&amp;quot;No&amp;quot; 
	      text=&amp;quot; ACTION: #data.type#;  FILE: #data.filename#; TIME: #timeFormat(data.lastmodified)# calling putImage();&amp;quot; /&amp;gt;
		&amp;lt;cfset putImage() /&amp;gt;
	&amp;lt;/cffunction&amp;gt;

	&amp;lt;cffunction name=&amp;quot;putImage&amp;quot; access=&amp;quot;private&amp;quot; output=&amp;quot;false&amp;quot; returntype=&amp;quot;void&amp;quot;&amp;gt;
		&amp;lt;cfftp action = &amp;quot;open&amp;quot;
	   		username = &amp;quot;joeuser&amp;quot;
	  		connection = &amp;quot;MyConnection&amp;quot;
	   		password = &amp;quot;mycoolpassword&amp;quot;
	   		server = &amp;quot;www.mywebserver.com&amp;quot;
	   		stopOnError = &amp;quot;true&amp;quot; /&amp;gt;
		
		&amp;lt;cfif cfftp.Succeeded&amp;gt;
			&amp;lt;cfftp 
				connection=&amp;quot;MyConnection&amp;quot; 
				action=&amp;quot;changedir&amp;quot; 
				directory=&amp;quot;htdocs/mywebcamdirectory&amp;quot; /&amp;gt;
			
			&amp;lt;cfif cfftp.Succeeded&amp;gt;
				&amp;lt;cfftp 
					connection = &amp;quot;MyConnection&amp;quot;
					action = &amp;quot;putFile&amp;quot; 
					name = &amp;quot;uploadFile&amp;quot; 
					transferMode = &amp;quot;binary&amp;quot; 
					localFile = &amp;quot;/home/dshuck/Webcam_Pictures/webcam.jpeg&amp;quot; 
					remoteFile = &amp;quot;DaveWebcam.jpg&amp;quot; /&amp;gt;
			&amp;lt;/cfif&amp;gt;
	
		&amp;lt;/cfif&amp;gt;
		&amp;lt;cflog file=&amp;quot;DirectoryWatcher&amp;quot; application=&amp;quot;false&amp;quot; text=&amp;quot;file push to webserver...#cfftp.Succeeded#&amp;quot; /&amp;gt;
	&amp;lt;/cffunction&amp;gt;
&amp;lt;/cfcomponent&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;So, now the internet can yet again be graced with my &amp;quot;almost live&amp;quot; presence.   I can almost hear the selective sigh of relief.&lt;/p&gt;
&lt;p&gt;I have to consider this to be a somewhat odd place for ColdFusion and it got me thinking... What kinds of odd places do you or have you used ColdFusion?&lt;/p&gt;</description><pubDate>Mon, 21 Apr 2008 05:02:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/04/21/ColdFusion-in-odd-places--using-the-directory-watcher-on-my-desktop</guid><category>ColdFusion,InstantSpot,Tips and Tricks</category></item><item><title>We&apos;re on the ColdFusion Weekly!</title><link>http://daveshuck.instantspot.com/blog/2008/02/28/Were-on-the-ColdFusion-Weekly</link><description>&lt;p&gt;The latest version of the &lt;a href=&quot;http://www.coldfusionweekly.com/&quot;&gt;ColdFusion Weekly&lt;/a&gt; podcast was released yesterday.&amp;nbsp; &lt;a href=&quot;http://www.mattwoodward.com/blog/&quot;&gt;Matt&lt;/a&gt; and &lt;a href=&quot;http://blog.maestropublishing.com/&quot;&gt;Peter&lt;/a&gt; were kind enough to have &lt;a href=&quot;http://ajlcom.instantspot.com/blog/&quot;&gt;Aaron&lt;/a&gt; and I on to talk about &lt;a href=&quot;http://www.instantspot.com&quot;&gt;InstantSpot.&lt;/a&gt;&amp;nbsp; This was actually our second time to have this opportunity, although we had *much* more to talk about given our experiences over the last 14 months since the previous visit!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We covered a lot of areas from how it all came about in the first place, to some of our trials and tribulations rolling out the latest release and all points in between.&amp;nbsp;&amp;nbsp; If you would like to hear some of our experiences and the technology behind our network, I urge you to check it out.&lt;/p&gt;
&lt;h3&gt;&lt;img width=&quot;12&quot; height=&quot;12&quot; alt=&quot;Download Icon&quot; src=&quot;http://www.coldfusionweekly.com/images/icon_dl.png&quot; /&gt;  		&lt;a onclick=&quot;javascript:urchinTracker (&apos;/versions/3-02&apos;);&quot; href=&quot;http://media.libsyn.com/media/coldfusionweekly/cfweekly_3.02_final.mp3&quot;&gt;Download Version 3.02&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description><pubDate>Thu, 28 Feb 2008 13:26:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/02/28/Were-on-the-ColdFusion-Weekly</guid><category>ColdFusion,InstantSpot</category></item><item><title>Interesting mashup - Selenium and CFCUnit testing tools</title><link>http://daveshuck.instantspot.com/blog/2008/02/13/Interesting-mashup--Selenium-and-CFCUnit-testing-tools</link><description>&lt;p&gt;At last night&apos;s &lt;a href=&quot;http://dfwcfug.instantspot.com&quot;&gt;DFW ColdFusion User Group&lt;/a&gt; meeting, Tom Woestman shared an interesting project that he is working on in which he has basically integrated CFCUnit with Selnium to perform both component level testing and clientside testing at the same time in a single suite.&amp;nbsp; I admittedly&amp;nbsp; had a hard time grasping this a bit at first as I have always considered CFCUnit tests to be a completely different category than clientside browser testing. &amp;nbsp; For example, when I create CFCUnit tests, I generally have 1-to-1 relationship between a particular test and a service component.&amp;nbsp; (FooService.cfc and FooServiceTest.cfc).&lt;/p&gt;
&lt;p&gt;He also showed how he is using Selenium-RC (Remote Control) which runs as a Java application and spawns the appropriate browser, peforms the test and returns results.&amp;nbsp; Pretty awesome stuff!&lt;/p&gt;
&lt;p&gt;He stated last night that he isn&apos;t quite ready to open this up to the general public yet as he feels that it is not quite polished.&amp;nbsp; However, he indicated that he is going to start a blog and begin talking about his use of it in the near future.&amp;nbsp; Expect some links from me as he does as I find this to be pretty interesting and valuable stuff!&lt;/p&gt;
&lt;p&gt;Also, DFWCFUG member Derek Bumpas video recorded the presentation last night, so I will try to make that video available if he gets it compressed down to a reasonable size.&lt;/p&gt;</description><pubDate>Wed, 13 Feb 2008 06:49:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/02/13/Interesting-mashup--Selenium-and-CFCUnit-testing-tools</guid><category>ColdFusion</category></item><item><title>Yes ColdFusion fans... we *are* a ColdFusion site!</title><link>http://daveshuck.instantspot.com/blog/2008/02/07/Yes-ColdFusion-fans-we-are-a-ColdFusion-site</link><description>&lt;p&gt;I don&apos;t know how pervasive this point of confusion is, but today a regular face in the ColdFusion community was making some remarks &lt;a href=&quot;http://daveshuck.instantspot.com/blog/2008/02/07/5-InstantSpot-invitations&quot;&gt;in this comment thread&lt;/a&gt; and further on his InstantSpot site that InstantSpot is not a ColdFusion-based application, with the insinuation that he won&apos;t support our efforts because of this.&lt;/p&gt;
&lt;p&gt;Just to be clear, no matter whether or not you actually see &amp;quot;.cfm&amp;quot; in the URL, we are running InstantSpot on Adobe ColdFusion 8, using Mach-II 1.6, ColdSpring and other community tools.   We are strong advocates for ColdFusion, work with our local ColdFusion User Group, try to be evangelists for it wherever we can, and we will continue to do so.&lt;/p&gt;</description><pubDate>Thu, 07 Feb 2008 19:32:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/02/07/Yes-ColdFusion-fans-we-are-a-ColdFusion-site</guid><category>ColdFusion,InstantSpot</category></item><item><title>My pointless wish for ColdFusion 9</title><link>http://daveshuck.instantspot.com/blog/2008/01/30/My-pointless-wish-for-ColdFusion-9</link><description>Before continuing, I am aware that the likelihood of this every happing is remote at best, but that won&apos;t keep me from dreaming.  If I could choose 1 thing - just 1! - for ColdFusion 9, it would have nothing at all to do with new features.  In fact, it would actually mean less features in way.

What is this wish? </description><pubDate>Wed, 30 Jan 2008 17:26:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/01/30/My-pointless-wish-for-ColdFusion-9</guid><category>ColdFusion</category></item><item><title>Free as in money, not as in pain - InstantSpot moves to ColdFusion 8</title><link>http://daveshuck.instantspot.com/blog/2008/01/28/Free-as-in-money-not-as-in-pain--InstantSpot-moves-to-ColdFusion-8</link><description>InstantSpot moved to ColdFusion 8 last week after discovering huge threading problems using Railo.</description><pubDate>Mon, 28 Jan 2008 15:28:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/01/28/Free-as-in-money-not-as-in-pain--InstantSpot-moves-to-ColdFusion-8</guid><category>ColdFusion</category></item><item><title>My first online presentation - Webex is pretty cool!</title><link>http://daveshuck.instantspot.com/blog/2008/01/18/My-first-online-presentation--Webex-is-pretty-cool</link><description>&lt;p&gt;Mike Kollen asked if I would be willing to do a Webex presentation about Mach-II to a group he is teaching at Boeing.  Specifically he was interested in the presentation that I gave to the &lt;a href=&quot;http://dfwcfug.instantspot.com&quot;&gt;Dallas/Ft. Worth ColdFusion User Group&lt;/a&gt; earlier this month that covered the steps it takes to add simple user authentication into a Mach-II application.  I also covered the features that have been added with the 1.5/1.6 releases.   Apparently I was following Brian Rinaldi who had previously covered the greatness of &lt;a href=&quot;http://code.google.com/p/cfcgenerator/&quot;&gt;Illudium PU-36 CFC generator &lt;/a&gt;the day before, so it sounds like Mike is heading them down a great path!&lt;/p&gt;
&lt;p&gt;A couple of things intrigued me about this opportunity.  First and foremost, I love the &lt;a href=&quot;http://www.mach-ii.com&quot;&gt;Mach-II framework&lt;/a&gt; and always enjoy preaching the gospel.  Secondly although I have done countless in-person presentations, somehow I have never gotten the opportunity to do a web presentation.  I have to admit that the idea of not being able to see my audience&apos;s faces and reactions seemed a little scary at first, I feel that it went fairly well.&lt;/p&gt;
&lt;p&gt;Mike&apos;s group is using Webex for their training class, as the participants are apparently scattered throughout various cubicles and offices.  This meant that I would be using Webex for desktop sharing, and Mike set it up so that the audio would be done via toll-free call in number, although it does support VoIP as well.  Webex uses a Java browser plugin, which is nice considering that I am unable to do Connect presos due to the fact that Adobe won&apos;t create a Linux presenter client for Connect!  (do you hear me Adobe?!?!).  One thing that seemed to work well was that Mike served as a moderator of sorts, letting me know as questions came up and then relaying them.  Having both of us with live mics seemed to work well and kept me from missing questions as they arose.&lt;/p&gt;
&lt;p&gt;So -  to the group at Boeing, thanks for breaking me in.  Hope you guys and gals enjoyed it!&lt;/p&gt;</description><pubDate>Fri, 18 Jan 2008 16:36:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/01/18/My-first-online-presentation--Webex-is-pretty-cool</guid><category>ColdFusion</category></item><item><title>Aaron West&apos;s entry on SES URLs with Apache mod_rewrite</title><link>http://daveshuck.instantspot.com/blog/2008/01/17/Aaron-Wests-entry-on-SES-URLs-with-Apache-modrewrite</link><description>&lt;p&gt;Somehow I totally missed this entry when &lt;a href=&quot;http://www.trajiklyhip.com&quot; id=&quot;Aaron West&apos;s main blog page&quot;&gt;Aaron&lt;/a&gt; posted it until he mentioned it on the &lt;a href=&quot;http://groups.google.com/group/mach-ii-for-coldfusion&quot; id=&quot;Mach-II Email List&quot;&gt;Mach-II email list&lt;/a&gt; today.  He has written a really nice and very detailed blog entry on how to configure your application to use SES URLs with by using mod_rewrite in Apache, and then goes on to show how the flow continues to his &lt;a href=&quot;http://www.mach-ii.com&quot; id=&quot;Mach-II for ColdFusion&quot;&gt;Mach-II&lt;/a&gt; application.  We took some similar approaches with the URLs you see here on InstantSpot.&lt;/p&gt;
&lt;p&gt;For those wondering how all these pieces fit togther, I strongly recommend you check out his blog entry entitled: &lt;a href=&quot;http://www.trajiklyhip.com/blog/index.cfm/2007/12/3/Using-Apaches-modrewrite-SES-URLs-and-More&quot;&gt;Using Apache&apos;s mod_rewrite: SES URL&apos;s and More&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 17 Jan 2008 16:54:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/01/17/Aaron-Wests-entry-on-SES-URLs-with-Apache-modrewrite</guid><category>ColdFusion,Servers</category></item><item><title>Calling OnSessionEnd from outside the Application.cfc to log out users</title><link>http://daveshuck.instantspot.com/blog/2008/01/16/Calling-OnSessionEnd-from-outside-the-Applicationcfc-to-log-out-users</link><description>Example of using OnSessionEnd to do cleanup processes whether a User actively logs out or times out.</description><pubDate>Wed, 16 Jan 2008 21:30:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/01/16/Calling-OnSessionEnd-from-outside-the-Applicationcfc-to-log-out-users</guid><category>ColdFusion</category></item><item><title>Presentation Summary and Files: Mach-II User Authentication and More</title><link>http://daveshuck.instantspot.com/blog/2008/01/09/Presentation-Summary-and-Files-MachII-User-Authentication-and-More</link><description>&lt;p&gt;
Last night I gave a presentation to the DFW CFUG on Mach-II.&amp;nbsp; I spent the first part of the presentation talking about all the new features that have been added in both versions 1.5 and 1.6.&amp;nbsp;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
The features we covered were:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Mach-II 1.5&lt;/li&gt;
	&lt;ul&gt;
		&lt;li&gt;XML Includes and Modules&lt;/li&gt;
		&lt;li&gt;Subroutines&lt;/li&gt;
		&lt;li&gt;&amp;lt;redirect /&amp;gt; enhancements&lt;/li&gt;
		&lt;li&gt;Complex properties defined in config XML&lt;/li&gt;
		&lt;li&gt;URL Management Features (SES support) -buildUrl() &amp;amp; buildUrlToModule()&lt;/li&gt;
		&lt;li&gt;Bindable property placeholders for params &lt;br /&gt;
		&lt;/li&gt;
	&lt;/ul&gt;
	&lt;li&gt;Mach-II 1.6&lt;/li&gt;
	&lt;ul&gt;
		&lt;li&gt;Broadcast style listeners &amp;ndash; putting the II in Mach-II&lt;/li&gt;
		&lt;li&gt;Application.cfc enhancements - much simpler and new plugin points for onSessionStart/End&lt;/li&gt;
		&lt;li&gt;handleException() plugin point enhancements&lt;/li&gt;
		&lt;li&gt;Enhancements to tracing/debugging&lt;/li&gt;
		&lt;li&gt;New cache manager (granular)&lt;/li&gt;
		&lt;li&gt;Lot&amp;#39;s of goodies slated for 2.0.&amp;nbsp; Anyone interested in a dashboard module?&amp;nbsp; This will allow for programmatic reloading of the entire application, modules, managing the caching engine in addition to future enhancements to the framework.&amp;nbsp; &lt;/li&gt;
	&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;
Next we went into code examples where I had three stages of a sample application.&amp;nbsp; The first had two public events, one of which we would secure with user authentication in the next step.
&lt;/p&gt;
&lt;p&gt;
In the second phase, we added in necessary CFCs to support our User - User.cfc, UserDAO/Gateway/Service/Facade, and tied them together using the newly available ColdSpring property.&amp;nbsp;&amp;nbsp; We then secured one of our events by using a CheckIsLoggedIn filter 
&lt;/p&gt;
&lt;p&gt;
In our third and final phase, we took a very simple approach to introducing roles based security by securing a new event limiting access to only users who had a role of type &amp;quot;Site Admin&amp;quot;.&amp;nbsp; As mentioned in the presentation, there are certainly more robust ways to implement roles based security, but hopefully the example will help kick start ideas.
&lt;/p&gt;
&lt;p&gt;
You will find the following in the zip file below:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Presentation in both ODT and PPT&lt;/li&gt;
	&lt;li&gt;Three sample applications representing all stages covered&lt;/li&gt;
	&lt;li&gt;Sample http-vhosts.conf showing how I had the apps set up in Apache. &lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt;MySQL backup file of the database used.&amp;nbsp; You will need to add a ColdFusion DSN named &amp;quot;machii_auth&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Thanks to all that attended!
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;[box l80368p8o8]
&lt;/p&gt;
</description><pubDate>Wed, 09 Jan 2008 16:10:51 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/01/09/Presentation-Summary-and-Files-MachII-User-Authentication-and-More</guid><category>ColdFusion</category></item><item><title>Railo, Structures, Keys and Case</title><link>http://daveshuck.instantspot.com/blog/2007/12/19/Railo-Structures-Keys-and-Case</link><description>&lt;p&gt;
After hundreds and hundreds of development hours, Aaron and I are on the verge of releasing the completely rewritten InstantSpot to beta this week.&amp;nbsp; I plan on a more detailed post of the technology later, but in a nutshell, we are releasing it as a Linux/Apache2.2.x/Tomcat/Railo2/Mach-II application.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Until today, we have found only one place that we have had to make a Railo workaround and that was using some pretty fringe functionality doing XMLRPC for desktop blogging. &amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Last night I ran into the second point where we have to make a workaround, although from an architecture standpoint, again it is pretty slight.&amp;nbsp; This time, it came about as I was changing our Mach-II config to use the ColdspringProperty rather than the ColdspringPlugin.&amp;nbsp; When I did, the application died a horrible death with errors stating that it couldn&amp;#39;t find our imported ColdSpring XML files that are defined in our main ColdSpring XML.
&lt;/p&gt;
&lt;p&gt;
After tearing into it this bit, I found that the DefaultXMLBeanFactory.cfc calls a recursive method to build a structure of the main config XML, with additional keys for each imported XML file which are the full physical path to the file itself. &amp;nbsp; I could see that just prior to adding to the structure, the case was correct.&amp;nbsp; However, when I look at the key that was created, it was converted to lower case.
&lt;/p&gt;
&lt;p&gt;
Later in the process as the Mach-II ColdspringProperty.cfc tries to loop through these keys, the config files cannot be found if there are any capital letters that exist in the real path.&amp;nbsp;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
I then tried modifying the ColdSpring code to use structure bracket notation for adding the key, rather than using StructInsert(), since this is one known way of preserving key case in ColdFusion.&amp;nbsp; However, I found that no matter what I did, the structure key that is created is all lowercase.
&lt;/p&gt;
&lt;p&gt;
Stepping back a bit, I decided to do a simple test which confirmed this functionality:
&lt;/p&gt;
&lt;p&gt;
code:&lt;br /&gt;
[codeshare dec242e7] 
&lt;/p&gt;
&lt;p&gt;
Here were the results:&amp;nbsp;
&lt;/p&gt;
&lt;table border=&quot;0&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; style=&quot;font-family: Verdana,Geneva,Arial,Helvetica,sans-serif; font-size: 11px; color: #263300; empty-cells: show&quot;&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td colspan=&quot;2&quot; style=&quot;border: 1px solid #263300; empty-cells: show&quot; bgcolor=&quot;#669900&quot;&gt;&lt;img style=&quot;margin: 2px 2px 0px 0px&quot; src=&quot;http://www.instantspot2.local/railo-context/admin/resources/img/debug_minus.gif.cfm&quot; alt=&quot;&quot; /&gt;&lt;span style=&quot;font-weight: bold&quot;&gt;Struct&lt;/span&gt;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style=&quot;border: 1px solid #263300; empty-cells: show&quot; bgcolor=&quot;#669900&quot;&gt;thisonelast&lt;/td&gt;
			&lt;td style=&quot;border: 1px solid #263300; empty-cells: show&quot; bgcolor=&quot;#99cc00&quot;&gt;
			&lt;table border=&quot;0&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; style=&quot;font-family: Verdana,Geneva,Arial,Helvetica,sans-serif; font-size: 11px; color: #4f1500; empty-cells: show&quot;&gt;
				&lt;tbody&gt;
					&lt;tr&gt;
						&lt;td style=&quot;border: 1px solid #4f1500; empty-cells: show&quot; bgcolor=&quot;#ff4400&quot;&gt;number&lt;/td&gt;
						&lt;td style=&quot;border: 1px solid #4f1500; empty-cells: show&quot; bgcolor=&quot;#ff954f&quot;&gt;3&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style=&quot;border: 1px solid #263300; empty-cells: show&quot; bgcolor=&quot;#669900&quot;&gt;thisonesecond&lt;/td&gt;
			&lt;td style=&quot;border: 1px solid #263300; empty-cells: show&quot; bgcolor=&quot;#99cc00&quot;&gt;
			&lt;table border=&quot;0&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; style=&quot;font-family: Verdana,Geneva,Arial,Helvetica,sans-serif; font-size: 11px; color: #4f1500; empty-cells: show&quot;&gt;
				&lt;tbody&gt;
					&lt;tr&gt;
						&lt;td style=&quot;border: 1px solid #4f1500; empty-cells: show&quot; bgcolor=&quot;#ff4400&quot;&gt;number&lt;/td&gt;
						&lt;td style=&quot;border: 1px solid #4f1500; empty-cells: show&quot; bgcolor=&quot;#ff954f&quot;&gt;2&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style=&quot;border: 1px solid #263300; empty-cells: show&quot; bgcolor=&quot;#669900&quot;&gt;thisonefirst&lt;/td&gt;
			&lt;td style=&quot;border: 1px solid #263300; empty-cells: show&quot; bgcolor=&quot;#99cc00&quot;&gt;
			&lt;table border=&quot;0&quot; cellspacing=&quot;1&quot; cellpadding=&quot;3&quot; style=&quot;font-family: Verdana,Geneva,Arial,Helvetica,sans-serif; font-size: 11px; color: #4f1500; empty-cells: show&quot;&gt;
				&lt;tbody&gt;
					&lt;tr&gt;
						&lt;td style=&quot;border: 1px solid #4f1500; empty-cells: show&quot; bgcolor=&quot;#ff4400&quot;&gt;number&lt;/td&gt;
						&lt;td style=&quot;border: 1px solid #4f1500; empty-cells: show&quot; bgcolor=&quot;#ff954f&quot;&gt;1&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/tbody&gt;
			&lt;/table&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
As you can see, no matter which approach I took, the key is lowercase.
&lt;/p&gt;
&lt;p&gt;
So, what does this mean for our release?&amp;nbsp; Not much... back to using the ColdspringPlugin.&amp;nbsp; However, it is something that I hope the fine developers of the Railo project keep in mind as a future fix.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
</description><pubDate>Wed, 19 Dec 2007 21:14:24 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2007/12/19/Railo-Structures-Keys-and-Case</guid><category>ColdFusion</category></item><item><title>Attention Mach-II developers... we need your knowledge! </title><link>http://daveshuck.instantspot.com/blog/2007/12/11/Attention-MachII-developers-we-need-your-knowledge-</link><description>&lt;p&gt;
Team Mach-II is looking for Mach-II developers that are willing to contribute writing of content to help build out the official wiki for the &lt;a href=&quot;http://www.mach-ii.com/&quot;&gt;Mach-II Framework&lt;/a&gt;. &amp;nbsp;We have two general needs:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;FAQ&lt;/strong&gt; - Do you have some tidbits of helpful info that would help enrich the FAQ?&amp;nbsp; We would like to encourage the community to contribute and help us spread the word!&lt;br /&gt;
	&lt;br /&gt;
	 &lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Documentation&lt;/strong&gt; - If you have written or wish to create detailed write-ups targeted to specific features of Mach-II, now is your time to get them out there. &amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
If you are interested and would like to know how you can get involved, please contact me at &lt;a href=&quot;mailto:dave@mach-ii.com&quot;&gt;dave@mach-ii.com&lt;/a&gt; and we can discuss.
&lt;/p&gt;
</description><pubDate>Tue, 11 Dec 2007 20:18:33 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2007/12/11/Attention-MachII-developers-we-need-your-knowledge-</guid><category>ColdFusion</category></item><item><title>Free Subversion hosting with Unfuddle.com</title><link>http://daveshuck.instantspot.com/blog/2007/12/10/Free-Subversion-hosting-with-Unfuddlecom</link><description>&lt;p&gt;
As some of you know I used to be an advocate of CVSdude for subversion hosting on small projects.  It was simple to setup, had decent management, and had a free basic account.  It appears that these days they have done away with their free service all together, and their starter package is $5.99/mth as of the time of this entry.&lt;em&gt;&amp;nbsp;&lt;/em&gt;  While that is certainly affordable for any project worth doing, I like to shop around where I can and save pennies where I can.&amp;nbsp;  In doing so, I came across &lt;a href=&quot;http://www.unfuddle.com&quot;&gt;Unfuddle.com&lt;/a&gt;, which we have found to be a great service!&amp;nbsp; (&lt;strong&gt;EDIT: &lt;/strong&gt;&lt;em&gt;After writing this entry, I was contacted by Guy
Marion of CVSDude to inform me that they do indeed have a free service
with a 2MB limit, in addition to free hosting for open source projects and non-profits, but it is no longer published on the home page.)&lt;/em&gt;  
&lt;/p&gt;
&lt;p&gt;
The project we are working on is tiny in disk space terms and the 15MB limit for their free account was not an issue for us, even including the Mach-II and ColdSpring frameworks we have under source control as well.  They have a ticket management system, which we haven&amp;#39;t used yet, but it appears quite comparable to Trac, and a really nice comfortable control panel (&lt;a href=&quot;http://unfuddle.com/images/screens/dashboard.big.jpg&quot;&gt;screenshot&lt;/a&gt;) for your project.  Even the smallest projects, subversion is an invaluable tool and with free services such as this, there is no excuse to not use it! 
&lt;/p&gt;
</description><pubDate>Mon, 10 Dec 2007 15:35:12 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2007/12/10/Free-Subversion-hosting-with-Unfuddlecom</guid><category>ColdFusion</category></item><item><title>Interesting ColdFusion error with extended CFCs and Mixins</title><link>http://daveshuck.instantspot.com/blog/2007/12/07/Interesting-ColdFusion-error-with-extended-CFCs-and-Mixins</link><description>&lt;p&gt;
Many moons ago we experienced some behavior that we had a hard time pinpointing regarding CFCs with CFINCLUDES.&amp;nbsp; There is even a blog entry about it on here somewhere that is probably a year or two old.&amp;nbsp; In essence we were seeing some things that indicated that ColdFusion didn&amp;#39;t really see the CFC as a whole object.&amp;nbsp; We found a quick workaround at the time, and it faded from our memory never to be pursued.&amp;nbsp; I came across it again today and combined with past experience and bit more patience I think I have nailed down the problem.
&lt;/p&gt;
&lt;p&gt;
For background, we use the spectacular &lt;a href=&quot;http://code.google.com/p/cfcgenerator/&quot;&gt;Illudium PU-36&lt;/a&gt;  by &lt;a href=&quot;http://remotesynthesis.com&quot;&gt;Brian Rinaldi&lt;/a&gt;  to generate most of our objects.&amp;nbsp; Since things change during development time, it was sucking to have to re-add in any customization we made to our CFCs if we had to regenerate them.&amp;nbsp; Our solution was to modify the XSL so that in each package, there is a &amp;quot;_includes&amp;quot; folder.&amp;nbsp; We would then add a &amp;lt;cfinclude /&amp;gt; at the bottom of each CFC to include any custom methods so that we could regenerate the CFCs at well. For instance in a &amp;quot;Foo&amp;quot; package, the structure would look like this:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;_includes&lt;/li&gt;
	&lt;ul&gt;
		&lt;li&gt;Foo-cfc.cfm&lt;/li&gt;
		&lt;li&gt;FooGateway-cfc.cfm&lt;/li&gt;
		&lt;li&gt;FooService-cfc.cfm&lt;/li&gt;
	&lt;/ul&gt;
	&lt;li&gt;Foo.cfc &lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt;FooGateway.cfc&lt;/li&gt;
	&lt;li&gt;FooService.cfc&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
This was worked without flaw for us for some time now, and in fact the entire new architecture of the soon-to-be-release InstantSpot 2 is built in that fashion.
&lt;/p&gt;
&lt;p&gt;
However, in that environment we were doing no extending of objects and no method overloading. &amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
While working on a client application today I was building something that looked like this:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;_includes&lt;/li&gt;
	&lt;ul&gt;
		&lt;li&gt;ParentFoo-cfc.cfm&lt;/li&gt;
		&lt;li&gt;ParentFooService-cfc.cfm&lt;/li&gt;
	&lt;/ul&gt;
	&lt;li&gt;ParentFoo.cfc&lt;/li&gt;
	&lt;li&gt;ParentFooService.cfc&lt;/li&gt;
	&lt;li&gt;FooChild1Package&lt;/li&gt;
	&lt;ul&gt;
		&lt;li&gt;_includes&lt;/li&gt;
		&lt;ul&gt;
			&lt;li&gt;FooChild1-cfc.cfm&lt;/li&gt;
			&lt;li&gt;FooChild1Service-cfc.cfm&lt;/li&gt;
		&lt;/ul&gt;
		&lt;li&gt;FooChild1.cfc&lt;/li&gt;
		&lt;li&gt;FooChild1Service.cfc&lt;/li&gt;
	&lt;/ul&gt;
	&lt;li&gt;FooChild2Package&lt;/li&gt;
	&lt;ul&gt;
		&lt;li&gt;_inlcudes&lt;/li&gt;
		&lt;ul&gt;
			&lt;li&gt;FooChild2-cfc.cfm&lt;/li&gt;
			&lt;li&gt;FooChild2Service-cfc.cfm&lt;/li&gt;
		&lt;/ul&gt;
		&lt;li&gt;FooChild2.cfc&lt;/li&gt;
		&lt;li&gt;FooChild2Service.cfc&lt;/li&gt;
	&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;nbsp;What we have found is a situation like this... &amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Say that the FooChild1 object has a method called doStuff() which is included by FooChild1.cfc and it is intended to overload the Foo object&amp;#39;s parent doStuff() method.&amp;nbsp; When the objects are being instantiated, an exception is thrown saying that you cannot have two methods named the same in an object.&amp;nbsp; I can&amp;#39;t tell you why, but somehow in the way that ColdFusion is compiling, it just doesn&amp;#39;t know how to process that overloaded method in a cfinclude.
&lt;/p&gt;
&lt;p&gt;
The workaround is plain and simple, in that all we had to do was kill the includes and move the methods inside the actual CFC.&amp;nbsp;&amp;nbsp; To be specific, we could leave the include in the parent, but not the child.&amp;nbsp; Of course, now we will need to pay a bit of attention as we regenerate our objects, but due to the extensions they were pretty far from stock anyway.
&lt;/p&gt;
&lt;p&gt;
For the record, we have seen this behavior in both CF7 and CF8.&amp;nbsp;&amp;nbsp; I realize this is probably a fringe case to most, but I wanted to throw it out there in case anyone else stumbles across the same issue.&amp;nbsp; &lt;br /&gt;
&lt;/p&gt;
</description><pubDate>Fri, 07 Dec 2007 21:30:40 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2007/12/07/Interesting-ColdFusion-error-with-extended-CFCs-and-Mixins</guid><category>ColdFusion</category></item><item><title>Man, I have a lot of catching up to do</title><link>http://daveshuck.instantspot.com/blog/2007/12/04/Man-I-have-a-lot-of-catching-up-to-do</link><description>&lt;p&gt;
As a few of you seemed to notice, I took little sabbatical from blogging around mid-summer.  After going hard and heavy for a few years, and due to some circumstances that all seemed to converge at the same time, I felt like I didn&amp;#39;t have any room left for sharing with anyone else!  So, with that said, I am back in the swing of things and man, I have a hell of a list to catch up on. 
&lt;/p&gt;
&lt;p&gt;
Some topics on the immediate horizon:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt; Mach-II 1.6 is on the way... awesome new features!  &lt;a href=&quot;http://www.mach-ii.com/index.cfm/go/contributors/&quot;&gt;The Team&lt;/a&gt;  is also looking for people to help add documentation to the wiki. I am working on a &amp;quot;What&amp;#39;s New in Mach-II 1.6&amp;quot; document and will be sharing that information here as well.&lt;br /&gt;
	&lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt;Found a great free source control ticket management system for small client projects.  Now that CVSDude is a pay service, this fills the gap nicely.&lt;br /&gt;
	&lt;br /&gt;
	&lt;/li&gt;
	&lt;li&gt;INSTANTSPOT VERSION 2!   Aaron and I have been absolutely killing ourselves (and our families have paid the price too) on a complete bottom-to-top rewrite of InstantSpot.  We did not port over a single line of code.  Since it evolved dramatically as we started out, we were coding towards a moving target.  We stepped back, re-planned it, and started over.  We are super proud of the new version and will be releasing for beta testing in the next couple of weeks.&lt;/li&gt;
&lt;/ul&gt;
more to come...
</description><pubDate>Tue, 04 Dec 2007 21:09:15 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2007/12/04/Man-I-have-a-lot-of-catching-up-to-do</guid><category>ColdFusion</category></item><item><title>Big Mach-II news!  GreatBizTools officially backing the project</title><link>http://daveshuck.instantspot.com/blog/2007/07/20/Big-MachII-news--GreatBizTools-officially-backing-the-project</link><description>&lt;p&gt;
In what we feel marks the beginning of the &amp;quot;second generation&amp;quot; of the Mach-II project, Team Mach-II has just announced that &lt;a href=&quot;http://www.mach-ii.com/index.cfm/go/blog:showEntry/entryId/DA3367CD%2DADFD%2DFDD2%2D9C736643CD6C6DCE&quot;&gt;GreatBizTools has purchased the copyright&lt;/a&gt;  from Ben Edwards, who along with Hal Helms, created the Mach-II framework.  From the blog entry on the Team Mach-II blog:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;
GBT&amp;#39;s primary goal is to make the framework more transparent and open
to the community of users.&amp;nbsp; Plans are underway over the next several
months to achieve the following objectives regarding the Mach-II
project:&lt;/em&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;Develop an introductory Mach-II training program with a focus on object-oriented programming&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Develop an advanced Mach-II training program&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Release core framework CFC documentation&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Update and create special documentation as needed&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Continue releasing development roadmaps&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Launch a public bug tracking system&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Improve the process for users to provide feedback to the Mach-II team&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Extend and enhance the Mach-II framework through continued releases&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;Develop a technical support program and offer technical support to users&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Read the &lt;a href=&quot;http://www.mach-ii.com/index.cfm/go/blog:showEntry/entryId/DA3367CD%2DADFD%2DFDD2%2D9C736643CD6C6DCE&quot;&gt;entire post here&lt;/a&gt;. 
&lt;/p&gt;
</description><pubDate>Fri, 20 Jul 2007 15:31:42 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2007/07/20/Big-MachII-news--GreatBizTools-officially-backing-the-project</guid><category>ColdFusion</category></item><item><title>Mach-II 1.5 users - Team Mach-II wants to hear from you</title><link>http://daveshuck.instantspot.com/blog/2007/07/18/MachII-15-users--Team-MachII-wants-to-hear-from-you</link><description>As posted on the &lt;a href=&quot;http://www.mach-ii.com/index.cfm/go/blog:showHome&quot;&gt;Team Mach-II blog&lt;/a&gt;, we are interested in getting feedback from the Mach-II user community on the Beta1 release of Mach-II 1.5.&amp;nbsp;&amp;nbsp; If you are using the beta and have any input to offer, please go &lt;a href=&quot;http://www.mach-ii.com/index.cfm/go/blog:showEntry/entryId/D95DC494%2D01C6%2DDB7C%2D13B40C0D9B46BC2F&quot;&gt;check out this post&lt;/a&gt;.  
</description><pubDate>Wed, 18 Jul 2007 20:05:50 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2007/07/18/MachII-15-users--Team-MachII-wants-to-hear-from-you</guid><category>ColdFusion</category></item><item><title>Example Mach-II 1.5/ColdSpring application</title><link>http://daveshuck.instantspot.com/blog/2007/07/11/Example-MachII-15ColdSpring-application</link><description>&lt;p&gt;
Last night I wrote a little application for recording CFUG meeting attendees.  Someone on the &lt;a href=&quot;http://groups.google.com/group/mach-ii-for-coldfusion?hl=en&quot;&gt;Mach-II email list&lt;/a&gt;  was asking for an example of code that would populate a select dropdown list with records retrieved from Gateway objects by way of a Service layer, and I offered this application as an example.  If anyone is interested, the code can be downloaded at the link below and is bundled with both the Mach-II framework and ColdSpring.
&lt;/p&gt;
&lt;p&gt;
[box 1sk039u8dp]
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
From the Home page of the example:&lt;br /&gt;
&amp;quot;&lt;em&gt;This is a sample &lt;a href=&quot;http://www.mach-ii.com&quot;&gt;Mach-II 1.5&lt;/a&gt; /&lt;a href=&quot;http://www.coldspringframework.org&quot;&gt;ColdSpring&lt;/a&gt;  application whose purpose is to &lt;br /&gt;
record meeting attendance of CFUG members in order to make each attendance &lt;br /&gt;
record a virtual raffle ticket for our semi-annual software raffle.&lt;br /&gt;
&lt;br /&gt;
Considering that this application shows some techniques working with Mach-II, &lt;br /&gt;
ColdSpring, and an OO data model using Service objects talking to &lt;br /&gt;
Bean/DAO/Gateway objects, I am releasing it as a sample application. It &lt;br /&gt;
should be noted that there may be certain practices in this application which &lt;br /&gt;
could be debated to no end, such as passing arguments from Listeners to &lt;br /&gt;
Services using &amp;#39;argumentCollection&amp;#39;. In a stricter environment, it might be &lt;br /&gt;
wise to explicitly name your arguments so that you have a better visual &lt;br /&gt;
handle on the passing of data.&lt;br /&gt;
&lt;br /&gt;
Additionally, you may notice that my beans need to have a service in order to &lt;br /&gt;
exist. There are many people who would probably disagree with this approach, &lt;br /&gt;
but doing this is what allows us to neatly have child &lt;br /&gt;
queries/arrays/iterators, which you can see the usage of on the ListMembers &lt;br /&gt;
event. As a rule in this particular model, a Foo.cfc will always depend on a &lt;br /&gt;
FooService.cfc. Take a look at the bottom of the Service cfcs to see how &lt;br /&gt;
these child relationships are managed. This is a technique that we use in our &lt;br /&gt;
applications that work quite well for us.&lt;br /&gt;
&lt;br /&gt;
This application was really just written for my own use. Usability wasn&amp;#39;t a &lt;br /&gt;
terribly high priority, but hopefully it will serve as an example for tying &lt;br /&gt;
several concepts together. If you have any &lt;br /&gt;
questions/suggestions/complaints/insults about this application, feel free to &lt;br /&gt;
post them to the &lt;a href=&quot;http://groups.google.com/group/mach-ii-for-coldfusion?hl=en&quot;&gt;Mach-II email list&lt;/a&gt;  and I will do my best to respond there.&lt;/em&gt;&amp;quot;&lt;br /&gt;
&lt;/p&gt;
</description><pubDate>Wed, 11 Jul 2007 14:53:39 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2007/07/11/Example-MachII-15ColdSpring-application</guid><category>ColdFusion</category></item></channel></rss>