<?xml version="1.0" encoding="utf-8"?>

			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>Glyn Jackson&apos;s Web Design and ColdFusion Blog - ColdFusion</title>
			<link>http://www.cfcoffee.co.uk/index.cfm</link>
			<description>Glyn Jackson&apos;s ColdFusion, Web Design and Web Development Blog. Award Winning Web Design in Staffordshire and Manchester, UK.</description>
			<language>en-gb</language>
			<pubDate>Sat, 04 Sep 2010 20:36:57 +0100</pubDate>
			<lastBuildDate>Tue, 31 Aug 2010 23:50:00 +0100</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>cfsparky@gmail.com</managingEditor>
			<webMaster>cfsparky@gmail.com</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>cfsparky@gmail.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			
			<itunes:explicit>no</itunes:explicit>
			
			
			
			
			
			<item>
				<title>My First ColdBox ORM Setup</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2010/8/31/My-First-ColdBox-ORM-Setup</link>
				<description>
				
				&lt;p&gt;As promised I will be posting on my own experiences in setting up CF9&apos;s inbuilt ORM with ColdBox. Most of this will be for my own reference, if I am making a mistake please point them out. Hopefully these posts will help others starting out with CB and CF9 ORM.&lt;/p&gt;

&lt;p&gt;My first post starts at the beginning, how to setup ORM to use in your application. For this example I am using the M6 release of ColdBox so some of this may change by the final release.&lt;/p&gt;

&lt;h4&gt;Right, let&apos;s start.&lt;/h4&gt;

&lt;p&gt;First like a normal CF9 ORM project you have to tell your application you are using ORM. ColdBox has it&apos;s own set of tools which help integrate hibernate. The first is must if you&apos;re going to use hibernate within CB, and that&apos;s the event handler! I would suggest reading up on the ORM event handler as it does a lot more and shows you how to setup Autowire to inject objects into your entities etc. &lt;/p&gt;

&lt;code&gt;
	// ORM Setup
	this.ormEnabled = true;
	this.datasource = &quot;myDS&quot;;
	this.ormSettings = {
		dbcreate = &quot;update&quot;,
		dialect = &quot;MicrosoftSQLServer&quot;,//Specifies the dialect. 
		logSQL = true,
		eventhandling = true,
		eventhandler = &quot;model.ORMEventHandler&quot;,
		flushAtRequestEnd = false
	};
&lt;/code&gt; 

&lt;p&gt;As you can see you have added eventhandling = true,
  and eventhandler = &quot;model.ORMEventHandler&quot; to the code above. You will now need to add the ORMEventHandler.cfc to your model folder (providing you are following the same folder structure of course). &lt;/p&gt;

&lt;p&gt;Next I am going to setup my first Domain Object. Depending on how your using it you will need to create this in the same model folder.&lt;/p&gt;

&lt;p&gt;For this example we will setup a simple object and I will assume you already have some understanding of this.&lt;/p&gt;
				 [More]
				</description>
				
				
				<category>ColdFusion 9</category>
				
				<category>ColdBox</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Tue, 31 Aug 2010 23:50:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2010/8/31/My-First-ColdBox-ORM-Setup</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Dear ColdBox</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2010/8/29/Dear-ColdBox</link>
				<description>
				
				&lt;p&gt;It&apos;s been hard for me to get my head around CF9 ORM and  ColdBox. The first mistake was using ORM within ColdBox for the first time. My  life would have been easy if I had just started at the beginning with ORM. Why did  I do it! Why!&lt;/p&gt;
&lt;p&gt;
  Anyhow, I am committed! Truly, exciting and frustrated at  the same time. The ColdBox support group is really helpful and if I may say incredibly  patient at helping me with my stupid questions!&lt;/p&gt;
&lt;p&gt;
  Over the next few weeks I am going to write up my own experiences  with ORM and set up a demo using the M6 version of ColdBox. It won&apos;t be from an  authority point of view, but from a beginners venture into ORM. In the mean  time I want to just remind people of a post Luis made about community and support. &lt;/p&gt;
&lt;p&gt;
  &lt;a href=&quot;http://groups.google.co.uk/group/coldbox/browse_thread/thread/80126f02a472af39&quot; target=&quot;_blank&quot;&gt;Post Here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Luis gives back so much with this Framework it&apos;s made my life a lot easier, if it&apos;s helped you, then why not do your bit to.&lt;/p&gt;
				
				</description>
				
				
				<category>ColdFusion 9</category>
				
				<category>Chit Chat and Reviews</category>
				
				<category>ColdBox</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Sun, 29 Aug 2010 23:20:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2010/8/29/Dear-ColdBox</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Layer Example Added to RIAForge</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2010/8/6/Layer-Example-Added-to-RIAForge</link>
				<description>
				
				&lt;p&gt;I have had requests for an example of the CFC I used in the &quot;Creating a simple Layar with ColdFusion&quot; Tutorial. I decided to comment on the CFC and upload it to &lt;a href=&quot;http://www.riaforge.org/&quot; target=&quot;_blank&quot;&gt;RIAForge&lt;/a&gt;. So if anyone wants it you can find the project &lt;a href=&quot;http://layarcfc.riaforge.org/&quot; target=&quot;_blank&quot; title=&quot;Layar Service Provider CFC&quot;&gt;there&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It&apos;s only a example of what&apos;s needed to create POI&apos;s and Actions. POI, and objects. However you should be pulling these from a database!&lt;/p&gt;

&lt;p&gt;I would love to know what others are doing with Layar at the moment.&lt;/p&gt;
				
				</description>
				
				
				<category>ColdFusion 9</category>
				
				<category>Chit Chat and Reviews</category>
				
				<category>ColdFusion 8</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Fri, 06 Aug 2010 17:50:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2010/8/6/Layer-Example-Added-to-RIAForge</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Creating a simple Layar with ColdFusion: a step by step tutorial</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2010/7/4/Creating-a-simple-Layar-with-ColdFusion-a-step-by-step-tutorial</link>
				<description>
				
				&lt;p&gt;I have been doing a lot of mobile development recently. The &lt;a href=&quot;http://www.jqtouch.com/&quot; title=&quot;A jQuery plugin for mobile web development&quot;&gt;jqtouch plugin&lt;/a&gt; for jquery is awesome by the way! If you have not had the delight of developing with it yet I highly recommend the plugin for you next mobile project.&lt;/p&gt;

&lt;p&gt;Anyhow back to Layar, I was asked to produce a simple Layar for one of our clients. Layar if you don&apos;t know is a cool augmented reality browser for the iPhone and Android. Other phone operating systems have been announced and its set to come pre-installed on most phones by 2012. &lt;/p&gt;

&lt;p&gt;Augmented reality is exploding in Europe and I really think it&apos;s the next big thing. 
Creating a Layar is supper easy but no tutorial seemed to exist showing how to create POI in  ColdFusion so I decided to write a quick post from an asp.NET Layar I did a few weeks back.&lt;/p&gt;

&lt;h2&gt;Before you start...&lt;/h2&gt; 
&lt;p&gt;&lt;b&gt;Requirements&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Webserver with ColdFusion 8 or Above (JSON support needed)&lt;/li&gt;
&lt;li&gt;Android or iPhone 3GS or above (needs GPS and compass)&lt;/li&gt;
&lt;li&gt;Gmail Account&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You should know that a Layers consist of two parts:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Layer definition:&lt;/b&gt; Created using a web form on the Layar Publishing site. I will show you how to do that.&lt;.p&gt;

&lt;p&gt;&lt;b&gt;Points of Interest within a layer:&lt;/b&gt; Fetched directly from the Layer Service Provider via the API. We will do this in CF. I will show you a quick example of this here also&lt;/p&gt;
				 [More]
				</description>
				
				
				<category>Layar</category>
				
				<category>ColdFusion 8</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Sun, 04 Jul 2010 15:22:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2010/7/4/Creating-a-simple-Layar-with-ColdFusion-a-step-by-step-tutorial</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>ColdBox M5 and 2.6.4 Playing Together Continued</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2010/5/2/ColdBox-M5-and-264-Playing-Together-Continued</link>
				<description>
				
				&lt;p&gt;This morning I had sometime on my hands to revisit how I had setup ColdBox M5 using refactoring. Following a comment by Jason Dean, who suggested it would be much easier to use application specific mappings with CF8+. So I decided to give it another ago.&lt;/p&gt;

&lt;p&gt;When I first tried this I got an error due to Application.cfc extending the framework. As another comment pointed out ColdBox apparently since version 2.6 comes with a no inheritance version that instead of extending the framework bootstraps it. This would allow me declare my mapping before the framework is initialised.&lt;/p&gt;

&lt;code&gt;
  &lt;cfset this.mappings[ &quot;/coldbox&quot; ] = expandPath( &quot;/coldbox&quot; ) /&gt;
&lt;/code&gt;

&lt;p&gt;This is why I love the medium I choose to express myself in and the CF community, because they are so helpful.&lt;/p&gt;
				
				</description>
				
				
				<category>ColdFusion 9</category>
				
				<category>ColdBox</category>
				
				<category>ColdFusion 8</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Sun, 02 May 2010 17:29:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2010/5/2/ColdBox-M5-and-264-Playing-Together-Continued</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>ColdBox M5 and 2.6.4 Playing Together</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2010/4/30/ColdBox-M5-and-264-Playing-Together</link>
				<description>
				
				&lt;p&gt;&lt;b&gt;To do this without refactoring see: http://www.cfcoffee.co.uk/index.cfm/2010/5/2/ColdBox-M5-and-264-Playing-Together-Continued&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Have you downloaded the lasted update from Luis, ColdBox M5? No? Well you should download it right now! So many new goodies, however running CB release M5 alongside my stable version CB 2.6.4 took me a while to set-up in my environment. I have been playing with the new update for a week, but only locally. Now I wanted to actually do something I would need to run it in an environment with an older version.&lt;/p&gt;

&lt;p&gt;I run IIS6 and have CB 2.6.4 mapped in my ColdFusion Administrator. Any reference to coldbox/system will use this release. I wanted to run both versions so that my old applications running 2.6.4 still work!&lt;/p&gt;    

&lt;p&gt;As I found out this can be done very easily following ColdBox Refactoring Guide found &lt;a href=&quot;http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbRefactoringGuide&quot;&gt;here&lt;/a&gt; and the Ant Script found in the download. I had a few issues with this tho, not many but here is what I did....&lt;/p&gt;

&lt;p&gt;Your set-up many differ from this, this is just my experience!&lt;/p&gt;

&lt;p&gt;I Downloaded M5 from the the ColdBox site and placed it on my desktop following the instructions in the refactoring guide. I used ColdFusion Builder to run the Ant script not Eclipse but it&apos;s the same.&lt;/p&gt;

&lt;p&gt;My default path for my CFC&apos;s is coldbox.system, this is mapped in my ColdFusion Administrator to shared/frameworks/coldbox/system. Because my new version is going to run inside the same &apos;framework&apos; folder I entered not the full path to the new location as the guide shows but the Logical Path. This is my case would be coldbox3.system.&lt;/p&gt;
				 [More]
				</description>
				
				
				<category>ColdBox</category>
				
				<category>ColdFusion 8</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Fri, 30 Apr 2010 16:16:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2010/4/30/ColdBox-M5-and-264-Playing-Together</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>BBC News Feedback on the ColdBox Application by Gencia Media</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2010/3/29/BBC-News-Feedback-on-the-ColdBox-Application-by-Gencia-Media</link>
				<description>
				
				&lt;p&gt;The feedback and press have started to come in for the She Says, She Says campaign created by &lt;a href=&apos;http://www.gencia.co.uk&apos; target=&quot;_blank&quot; title=&quot;Gencia Media &quot;&gt;Gencia Media&lt;/a&gt; which used ColdFuson and the framework ColdBox to power a mobile application to help awareness of teen sexual violence and rape. Read the full article on the BBC &lt;a href=&apos;http://news.bbc.co.uk/1/hi/wales/8587572.stm&apos; target=&quot;_blank&quot; title=&quot;Teen sexual violence in Wrexham is targeted by college &quot;&gt;here&lt;/a&gt;&lt;/p&gt;
				
				</description>
				
				
				<category>Press</category>
				
				<category>Chit Chat and Reviews</category>
				
				<category>Project Showcases</category>
				
				<category>ColdBox</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Mon, 29 Mar 2010 17:13:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2010/3/29/BBC-News-Feedback-on-the-ColdBox-Application-by-Gencia-Media</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>ColdBox Helps Government Rape Awareness Campaign</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2010/3/23/ColdBox-Helps-Government-Rape-Awareness-Campaign</link>
				<description>
				
				&lt;img src=&quot;http://www.cfcoffee.co.uk/images/iphone.jpg&quot; style=&quot;float:right;&quot; /&gt;&lt;p&gt;The start of several Government projects including a mobile application that helps teenagers become more aware of what constitutes as rape and how to get support was launched today. The applications both mobile and web needed a fast and reliable approach. After a short debate the development team including myself decided to use the &lt;a href=&quot;http://www.coldboxframework.com&quot; target=&quot;_blank&quot;&gt;ColdBox Framework&lt;/a&gt; by Luis Majano along with &lt;a href=&quot;http://www.jqtouch.com/&quot; target=&quot;_blank&quot;&gt;jQTouch&lt;/a&gt; (A jQuery plugin for mobile web development) we first heard about on a CF Podcast (&lt;a href=&quot;http://www.cfhour.com/&quot; target=&quot;_blank&quot;&gt;CFHour&lt;/a&gt;). &lt;/p&gt;
&lt;p&gt;The first campaign is using a version of &lt;a href=&quot;http://www.gencia.co.uk&quot; target=&quot;_blank&quot;&gt;Gencia&apos;s&lt;/a&gt; new survey based system written with the ColdBox framework. It&apos;s designed for Schools allowing them to create both mobile and web campaigns which then local authorities get live statistical data on how each area is doing including detailed analyse of changes in patterns of behaviour.&lt;/p&gt;
				 [More]
				</description>
				
				
				<category>Press</category>
				
				<category>Project Showcases</category>
				
				<category>ColdBox</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Tue, 23 Mar 2010 18:05:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2010/3/23/ColdBox-Helps-Government-Rape-Awareness-Campaign</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Learning Coldbox: Validating</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2010/2/11/Learning-Coldbox-Validating</link>
				<description>
				
				&lt;p&gt;I have tried many ways to validate data in ColdBox, and there are many ways! I have used 3rd party plug-ins and followed many blogs posts on the subject. I want to share one of my preferred ways to validate data in ColdBox. Its not the most polished method and it has its flaws (persisting values) but it has worked well for me!&lt;/p&gt;

&lt;p&gt;First I will create an example handler (show below). This handler is used to display School data based on the ID and School URL passed to it. I won&apos;t go into the Application or the model here.&lt;/p&gt;
				 [More]
				</description>
				
				
				<category>ColdBox</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Thu, 11 Feb 2010 18:52:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2010/2/11/Learning-Coldbox-Validating</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>IE and XML issue over SSL</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2010/1/24/IE-and-XML-issue-over-SSL</link>
				<description>
				
				&lt;p&gt;I spent most of Friday morning with a strange ColdFusion and XML issue. A number of customers reported that a flash application we run was hanging on the loading screen. The flash accepts a XML file created by ColdFusion. The flash application appeared to be working in FireFox and Chrome but not in good old IE! The plot thickens, when the request was made on port 80 and not SSL the flash worked in IE and the load was successful.&lt;/p&gt;

&lt;p&gt;The problem got even more strange, some IE users were successfully loading the flash. The only difference between the two IE users where some had installed a set of IE updates (xml did not load) and the other had not (xml worked, flash loaded).&lt;/p&gt;
				 [More]
				</description>
				
				
				<category>ColdFusion</category>
				
				<pubDate>Sun, 24 Jan 2010 11:30:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2010/1/24/IE-and-XML-issue-over-SSL</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Learning ColdBox: Coldbox Proxy How Cool is This!</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2009/11/4/Learning-ColdBox-Coldbox-Proxy-How-Cool-is-This</link>
				<description>
				
				&lt;p&gt;I had some CFGRID code I needed to implement into an existing ColdBox application. The grid run out of the box without any intervention from the ColdBox Framework. However it would be necessary for the CFGRID to access my service layer and properties injected from ColdSpring if I wanted it to take full advantage of the CB Framework. I assumed this would be a nightmare, I mean how to I get my AJAX grid to use the same reusable ColdBox and model code?&lt;/p&gt;

&lt;p&gt;With ColdBox Proxy of course!  The ColdBox proxy enables remote calls like AJAX to communicate with ColdBox and take advantage of all the goodies it has to offer, thanks ColdBox!&lt;/p&gt;

&lt;p&gt;So how easy was it to get working? Very, it only took a few extra lines of code to work, really!&lt;/p&gt;

&lt;p&gt;First I told my CFGRID to access the proxy directly and not the CFC.&lt;/p&gt;

&lt;code&gt;
  bind=&quot;cfc:admin.coldboxproxy.getAllproducts({cfgridpage},
                              {cfgridpagesize},
                              {cfgridsortcolumn},
                              {cfgridsortdirection})&quot;
&lt;/code&gt;


&lt;p&gt;Next using the ColdBox proxy template already provided (which extends coldbox.system.extras.ColdboxProxy) I created a new function that works the same was as handlers in ColdBox.&lt;/p&gt;

&lt;code&gt;
&lt;cffunction name=&quot;getAllproducts&quot; output=&quot;false&quot; access=&quot;remote&quot; returntype=&quot;any&quot; hint=&quot;Process a remote call and return data/objects back.&quot;&gt;
  &lt;cfargument name=&quot;page&quot; type=&quot;numeric&quot; required=&quot;yes&quot;&gt;
  &lt;cfargument name=&quot;pageSize&quot; type=&quot;numeric&quot; required=&quot;yes&quot;&gt;
  &lt;cfargument name=&quot;gridsortcolumn&quot; type=&quot;string&quot; required=&quot;no&quot; default=&quot;&quot;&gt;
  &lt;cfargument name=&quot;gridsortdir&quot; type=&quot;string&quot; required=&quot;no&quot; default=&quot;&quot;&gt;

    &lt;cfset var results = &quot;&quot;&gt;    
    &lt;cfset results = getBean(&quot;storeService&quot;).getAJAXProducts(page=#arguments.page#,					 pageSize=#arguments.pageSize#,
			gridsortcolumn=#arguments.gridsortcolumn#,
			gridsortdir=#arguments.gridsortdir#) /&gt;

    &lt;!--- Convert Query for Paging ---&gt;
    &lt;cfreturn QueryConvertForGrid(results,page,pageSize)&gt;
&lt;/cffunction&gt; 
&lt;/code&gt;

&lt;p&gt;getBean(&quot;storeService&quot;)  interact directly with the service layer. Once this was done I could then take advantage of my dependency injection framework and ColdBox features. How cool is that!&lt;/p&gt;
				
				</description>
				
				
				<category>ColdBox</category>
				
				<category>ColdFusion 8</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Wed, 04 Nov 2009 15:16:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2009/11/4/Learning-ColdBox-Coldbox-Proxy-How-Cool-is-This</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Learning ColdBox: Multiple Updates uisng a Object</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2009/10/24/Learning-ColdBox-Multiple-Updates-uisng-a-Object</link>
				<description>
				
				&lt;p&gt;My venture in ColdBox has been so far very enjoyable. It has really changed the way I plan my applications. My stumble in to using objects (correctly) has also brought with it some challenges and changed my approach to building maintainable and reusable applications. &lt;/p&gt;
      
&lt;p&gt;So far my blog entries on ColdBox have mainly been on objects, validation and persistent, all straight forward when doing simple updating/creating/deleting actions.&lt;/p&gt;
 
&lt;p&gt;Anyway, going back to challenges and objects, my first real stumbling block came a few weeks ago. How do I insert multiple records from data that comes from a form using a object?&lt;/p&gt;
 
&lt;p&gt;I asked this question on both the ColdBox forums and CFTALK list. They all make it sound so simple, not sure they had this in mind.&lt;/p&gt;

&lt;p&gt;My problem was as follows: when creating/updating a product I need to insert/update or delete multiple records for the product options based on what the user ticked or not ticked. So my first attempt worked that&apos;s a start right? here goes....&lt;/p&gt;
				 [More]
				</description>
				
				
				<category>ColdBox</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Sat, 24 Oct 2009 20:54:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2009/10/24/Learning-ColdBox-Multiple-Updates-uisng-a-Object</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>Persisting Values in ColdBox</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2009/9/19/Persisting-Values-in-ColdBox</link>
				<description>
				
				&lt;p&gt;I have never found a way to validate data I feel is 100% right for me, but I think I am getting close, let me explain.&lt;/p&gt;

&lt;p&gt; I have a simple ColdBox &apos;view&apos; containing my user form. This form is used to both create and update user&apos;s credentials.&lt;/p&gt;

&lt;code&gt;
user view

&lt;cfoutput&gt;
  &lt;fieldset&gt;
    &lt;div class=&quot;fm-req&quot;&gt;
      &lt;label for=&quot;firstname&quot;&gt;First Name&lt;/label&gt;
      &lt;input id=&quot;firstname&quot; name=&quot;firstname&quot; type=&quot;text&quot; class=&quot;text&quot; value=&quot;#rc.bean.getfirstname()#&quot; maxlength=&quot;15&quot;&gt;
    &lt;/div&gt;
    &lt;div class=&quot;fm-req&quot;&gt;
      &lt;label for=&quot;surname&quot;&gt;Last Name&lt;/label&gt;
      &lt;input id=&quot;surname&quot; name=&quot;surname&quot; type=&quot;text&quot; class=&quot;text&quot; maxlength=&quot;15&quot; value=&quot;#rc.bean.getsurname()#&quot;&gt;
    &lt;/div&gt;
    &lt;div class=&quot;fm-req&quot;&gt;
      &lt;label for=&quot;email&quot;&gt;Email Address&lt;/label&gt;
      &lt;input id=&quot;email&quot; name=&quot;email&quot; type=&quot;text&quot; class=&quot;text&quot; maxlength=&quot;100&quot; value=&quot;#rc.bean.getemail()#&quot;&gt;
    &lt;/div&gt;
    &lt;div class=&quot;fm-req&quot;&gt;
      &lt;label for=&quot;username&quot;&gt;Username&lt;/label&gt;
      &lt;input id=&quot;username&quot; name=&quot;username&quot; type=&quot;text&quot; class=&quot;text&quot; maxlength=&quot;12&quot; value=&quot;#rc.bean.getusername()#&quot;&gt;
    &lt;/div&gt;
    &lt;div class=&quot;fm-req&quot;&gt;
      &lt;label for=&quot;password&quot;&gt;Password&lt;/label&gt;
      &lt;input id=&quot;password&quot; name=&quot;password&quot; type=&quot;password&quot; class=&quot;text&quot; maxlength=&quot;20&quot; value=&quot;#variables.PasswordEncrypt#&quot;&gt;
    &lt;/div&gt;
  &lt;/fieldset&gt;
&lt;/cfoutput&gt; 
&lt;/code&gt;

&lt;code&gt;
example handler

&lt;!--- Edit User ---&gt;
&lt;cffunction name=&quot;editUser&quot; access=&quot;public&quot; returntype=&quot;void&quot; output=&quot;false&quot;&gt;
&lt;cfargument name=&quot;Event&quot; type=&quot;coldbox.system.beans.requestContext&quot;&gt;
     &lt;cfscript&gt;
	  var rc = event.getCollection();// RC Reference
      var userBean = variables.adminUsersService.createAdminUserBean(); //Create adminUserBean
	  getPlugin(&apos;beanFactory&apos;).populateBean(userBean);//the magic bean machine
	  variables.adminUsersService.getUserByID(userBean);
	  rc.bean = userBean;
	  event.setValue(&quot;pageTitle&quot;,&quot;Edit System User&quot;);//Form H1 Title
	  event.setValue(&quot;formURL&quot;,&quot;/users/updateUser?adminId=#rc.adminId#&quot;);
	  event.setValue(&quot;buttonValue1&quot;,&quot;Update User&quot;);//H1 Title
	  runEvent(event=&apos;users.createUserTabs&apos;,private=true); // Create User Tabs 
	  Event.setView(&quot;user/edit&quot;); // Set the View To Display, after Logic 
     &lt;/cfscript&gt;
&lt;/cffunction&gt;
&lt;/code&gt;


&lt;p&gt;I use one handler to create a new user and another to update, the only difference is the update handler pre populates the object from the database. So far simple stuff. Next I needed to validate my input. Again simple, I would submit to an intermediate handler that would validate my data against the object. However my dilemma is what to do if validation fails!&lt;/p&gt;

&lt;code&gt;
&lt;!--- Validation  ---&gt;
&lt;cffunction name=&quot;validation&quot; access=&quot;public&quot; returntype=&quot;void&quot; output=&quot;false&quot;&gt;
&lt;cfargument name=&quot;Event&quot; type=&quot;coldbox.system.beans.requestContext&quot;&gt;
     &lt;cfscript&gt;
	  var rc = event.getCollection();// RC Reference
      var userBean = variables.adminUsersService.createAdminUserBean(); //Create adminUserBean
      getPlugin(&apos;beanFactory&apos;).populateBean(userBean);//the magic bean machine
	  
	 errors = userBean.validateUserALL();//Check For Validation Errors  
	  
	 if (NOT ArrayLen(errors)){//No Validation Errors
	  
		  if ( variables.adminUsersService.updateUser(userBean)) {//Update Was OK
			 getPlugin(&quot;messagebox&quot;).setMessage(&quot;info&quot;, &quot;User was successfully updated.&quot;); 
		  }
		  else {//Could Not Update User Show Error Message
			   getPlugin(&quot;messagebox&quot;).setMessage(&quot;error&quot;, &quot;Sorry, for some reason this user was not updated!&quot;); 
		  }
		  
	  setNextEvent(&apos;users.overView&apos;);  // Set the Event To Run, After Logic  
	 }//End Of No Validation Errors 
	  
	  else {//We Have Validation Errors Show The User A Message
         getPlugin(&quot;messagebox&quot;).setMessage(&quot;error&quot;, &quot;&lt;b&gt;The Following Validation Errors Occurred:&lt;/b&gt;&lt;br /&gt;&quot;,errors);
		 
             ///what to do here?
		 
     }
     &lt;/cfscript&gt;
&lt;/cffunction&gt;

&lt;/code&gt;
				 [More]
				</description>
				
				
				<category>ColdBox</category>
				
				<category>ColdFusion 8</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Sat, 19 Sep 2009 16:01:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2009/9/19/Persisting-Values-in-ColdBox</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>ColdBox and ColdSpring Hard Lessons</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2009/8/6/ColdBox-and-ColdSpring-Hard-Lessons</link>
				<description>
				
				&lt;p&gt;It has been a few weeks now of me getting to grips with ColdBox and ColdSpring. My question has been mainly on why I would use ColdSpring at all. Some will be glad to hear I am starting to see how ColdSpring helps with managing CFC&apos;s. I also just wanted to recommend Jason Dean&apos;s Blog. He has provided a very insightful step by step guide to using ColdBox and ColdSpring which has really helped me. I got it late, I know but if for some strange reason you have not read his series, do it, do it now!&lt;/p&gt;

&lt;h2&gt;The Hard Lesson&lt;/h2&gt;
&lt;p&gt;When I was creating my object i.e &lt;b&gt;&quot;userservice().init()&quot;&lt;/b&gt; CF was throwing an error. It seemed ColdSpring knew nothing about my injected properties to the CFC, can you spot why? Well either ColdSpring or ColdBox (not sure which) handles the .init() it  calls the constructor and passes in the correct argument without my help. So because I was trying to call the init() myself it was not being managed by ColdSpring. Simple, but it held me up for a long time. Because I always try and follow the best practice it never occurred to me this could be the culprit. A quick post on the ColdSpring user group and Brian Kotek quickly put me on the right track, thanks again.&lt;/p&gt;
				 [More]
				</description>
				
				
				<category>ColdBox</category>
				
				<category>ColdSpring</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Thu, 06 Aug 2009 21:03:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2009/8/6/ColdBox-and-ColdSpring-Hard-Lessons</guid>
				
				
			</item>
			
		 	
			
			
			<item>
				<title>ColdBox using ColdSpring</title>
				<link>http://www.cfcoffee.co.uk/index.cfm/2009/7/24/My-First-Look-at-ColdBox-using-ColdSpring</link>
				<description>
				
				&lt;p&gt;The more I work in ColdBox the more I want to learn, so pardon my ramblings but yesterday ColdBox and ColdSpring took my fancy. I have never worked with ColdSpring nor any other AOP for CFC&apos;s.&lt;/p&gt; 
 
&lt;p&gt;So ColdSpring, what&apos;s all that about then? To be honest I am still not sure why I would use it. I started by playing around, I wanted to inject my ColdBox DNS setting into my common.cfc (database gateway).&lt;/p&gt;

&lt;code&gt;
&lt;beans default-autowire=&quot;byName&quot;&gt;
&lt;bean id=&quot;coldboxFactory&quot; class=&quot;coldbox.system.extras.ColdboxFactory&quot; /&gt;
&lt;bean id=&quot;ConfigBean&quot; factory-bean=&quot;ColdboxFactory&quot; factory-method=&quot;getConfigBean&quot; /&gt;
&lt;bean id=&quot;dsnBean&quot; factory-bean=&quot;ColdboxFactory&quot; factory-method=&quot;getDatasource&quot;&gt;
	&lt;constructor-arg name=&quot;alias&quot;&gt;
	&lt;value&gt;DBDetails&lt;/value&gt;
	&lt;/constructor-arg&gt;
&lt;/bean&gt;	
	&lt;bean id=&quot;userService&quot; class=&quot;model.UserService&quot; /&gt;
	
	&lt;bean id=&quot;userGateway&quot; class=&quot;model.common&quot; &gt;
	    &lt;property name=&quot;dsnBean&quot;&gt;
            &lt;ref bean=&quot;dsnBean&quot; /&gt;
        &lt;/property&gt;
     &lt;/bean&gt;

&lt;/beans&gt;
&lt;/code&gt;

&lt;p&gt;I then created a UserService.cfc. The idea I think behind this is that I access the userService.cfc to get to common.cfc (gateway) and common.cfc gets the DNS setting injected.&lt;/p&gt;

&lt;code&gt;
&lt;cfcomponent name=&quot;User Service&quot;&gt;

&lt;cffunction name=&quot;init&quot; access=&quot;public&quot; returntype=&quot;any&quot; hint=&quot;Constructor.&quot;&gt;
  &lt;cfreturn this /&gt;
&lt;/cffunction&gt;

&lt;cffunction name=&quot;getUserGateway&quot; access=&quot;public&quot; returntype=&quot;any&quot; output=&quot;false&quot; hint=&quot;Return the UserGateway.&quot;&gt;
  &lt;cfreturn variables.instance[&apos;userGateway&apos;] /&gt;
&lt;/cffunction&gt;

&lt;cffunction name=&quot;setUserGateway&quot; access=&quot;public&quot; returntype=&quot;void&quot; output=&quot;false&quot; hint=&quot;Set the UserGateway.&quot;&gt;
  &lt;cfargument name=&quot;userGateway&quot; type=&quot;any&quot; required=&quot;true&quot; hint=&quot;UserGateway&quot; /&gt;
  &lt;cfset variables.instance[&apos;userGateway&apos;] = arguments.userGateway /&gt;
&lt;/cffunction&gt;
&lt;/cfcomponent&gt;
&lt;/code&gt;

&lt;code&gt;common.cfc
&lt;cffunction name=&quot;setdsnBean&quot; access=&quot;public&quot; returntype=&quot;void&quot; output=&quot;false&quot; hint=&quot;Set the dsnBean.&quot;&gt;
    &lt;cfargument name=&quot;dsnBean&quot; type=&quot;any&quot; required=&quot;true&quot; hint=&quot;dsnBean&quot; /&gt;
    &lt;cfset variables.instance[&apos;dsnBean&apos;] = arguments.dsnBean /&gt;
&lt;/cffunction&gt;
&lt;/code&gt;

&lt;p&gt;Why is this any better? I could have achieved this all in the init() method without ColdSpring, or I could have extended my CFC, or I could have even created a config CFC and injected that into the common.cfc.&lt;/p&gt;
  
&lt;p&gt;Sorry, If these questions are just ignorant.&lt;/p&gt;
				
				</description>
				
				
				<category>ColdBox</category>
				
				<category>ColdSpring</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Fri, 24 Jul 2009 10:40:00 +0100</pubDate>
				<guid>http://www.cfcoffee.co.uk/index.cfm/2009/7/24/My-First-Look-at-ColdBox-using-ColdSpring</guid>
				
				
			</item>
			
		 	
			</channel></rss>