<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.cfwheels.org/~d/styles/itemcontent.css"?><rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007" version="2.0">
   <channel>
      <title>ColdFusion on Wheels</title>
      <description>A full stream of Wheels blog posts, articles, discussion, and screencasts.</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=8701a02d9b531e30868b2616fa80eec8</link>
      <pubDate>Thu, 02 Sep 2010 15:02:33 -0700</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.cfwheels.org/cfwheels" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="cfwheels" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
         <title>Maxx on Form Helpers and Showing Errors</title>
         <link>http://cfwheels.org/docs/chapter/form-helpers-and-showing-errors#comment-150</link>
         <description>&lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/docs/chapter/form-helpers-and-showing-errors#comment-150"&gt;Documentation Comment&lt;/a&gt; by Maxx on &lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/docs/chapter/form-helpers-and-showing-errors"&gt;Form Helpers and Showing Errors&lt;/a&gt;: &lt;/p&gt; &lt;p&gt;It would be great if there were some useful documentation for these functions. Phrases like "The variable name of the object to build the form control for." tell me absolutely nothing in terms of computer science.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://cfwheels.org/docs/chapter/form-helpers-and-showing-errors#comment-150</guid>
         <pubDate>Tue, 31 Aug 2010 05:08:21 -0700</pubDate>
      </item>
      <item>
         <title>Very good progress with my form application in CF on Wheels. Saving data to multiple database tables was never easier!</title>
         <link>http://combofusion.posterous.com/very-good-progress-with-my-form-application-i</link>
         <description>&lt;p&gt;&lt;div&gt;Recently I started to focus on ColdFusion on Wheels Framework and to be honest I am really starting to enjoy it so much that I just can't get off my computer even when soccer is on TV! For the last 5 days I've been glued to the chair, reading blogs, documentation, watching screen-casts and coding simple examples (inspired by &lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/screencasts"&gt;Chris Peters' screencasts&lt;/a&gt;) that are really helping me learning to work with Wheels. &lt;strong&gt;The reason is the simplicity of everything in Wheels!&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;div&gt;&lt;strong&gt;My idea is to&amp;nbsp;show you an example of what can a newbie in Wheels (such as myself) accomplish with this amazing MVC based framework.&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;As I promised on the &lt;a rel="nofollow" target="_blank" href="http://groups.google.com/group/cfwheels/browse_thread/thread/7ae1d71787c6de6d"&gt;CF on Wheels Google Group&lt;/a&gt;, here's an update on my work regarding those multiple database tables in ColdFusion on Wheels Framework, that were bugging me in the &lt;a rel="nofollow" target="_blank" href="http://combofusion.posterous.com/ideas-about-saving-form-data-into-multiple-ta"&gt;previous post&lt;/a&gt;. I hope this one comes in handy to someone. I am sure that when it'll be finished and when I'll show you how I did it, you will definitely see the real value of Wheels and of course Coldfusion itself.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;strong&gt;Please be patient, since the application is not finished yet - it is work in progress.&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;Right now I am just giving you a screen-cast with no comments. I know, I could wait until it is done, but maybe it is better to watch the evolution of this app in segments as it evolves into something more complicated, but in a way that also a Wheels newbie, such as myself, can understand how everything is done and hopefully get some new knowledge from it.&amp;nbsp;&lt;/div&gt;
&lt;p /&gt;
&lt;p&gt;  &lt;/p&gt; 
&lt;div&gt;
&lt;p /&gt;
&lt;div&gt;In case you want to see a bigger screen, click here:&amp;nbsp;&lt;a rel="nofollow" target="_blank" href="http://screenr.com/WNr"&gt;http://screenr.com/WNr&lt;/a&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;strong&gt;What I used while playing with the form&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;My screencast shows how I was able to use the Scaffold plugin and turn it into a nice, very usable web form with some CSS applied to it. It also shows some error reportings (the 1st step) and how I made it possible to the user to go back and forth from one form to another. At the end you will also see the preview of the data and the possibility to edit the end result before submitting it.&lt;/div&gt;
&lt;p /&gt;
&lt;/div&gt;
&lt;div&gt;In the app (in the screencast) you'll see, that there is a lot of functionalities missing, the form data validation is still not applied to all forms and I still need to sort out the CSS layout.&amp;nbsp;The app includes &lt;strong&gt;4 temp DB tables and 4 main DB tables.&lt;/strong&gt;&amp;nbsp;I still have to work on moving data from the temp to the main tables. Will finish it when possible.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;As already mentioned I am using the &lt;strong&gt;Scaffold plugin&lt;/strong&gt; and testing &lt;strong&gt;Wheels validation functions&lt;/strong&gt; and I even made a &lt;strong&gt;helper function&lt;/strong&gt;&amp;nbsp;that takes data from four check-boxes and display the result in an &lt;strong&gt;array list&lt;/strong&gt;. Just to try out helper functions.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;Last year, when I didn't know much about Wheels or any other CF framework I asked a friend:&lt;/div&gt;
&lt;p /&gt;
&lt;blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:#cccccc;border-left-style:solid;padding-left:1ex;"&gt;&lt;span style="font-size:large;"&gt;&lt;span style="font-family:georgia, serif;"&gt;"Do Coldfusion frameworks have alternatives to&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:large;"&gt;&lt;span style="font-family:georgia, serif;"&gt; PHP Smarty tags&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:large;"&gt;&lt;span style="font-family:georgia, serif;"&gt;?"&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p /&gt;
&lt;div&gt;Now I know the answer. Those who are more familiar with PHP and the the &lt;a rel="nofollow" target="_blank" href="http://www.smarty.net/manual/en/what.is.smarty.php"&gt;Smarty tags&lt;/a&gt; may see a lot of similarities in Wheels helper functions. Both help us separating HTML from the scripting code, however Wheels helper functions are much more flexible and thus more powerful in my humble opinion. Still I am almost sure that every MVC based framework has it's equivalent to Smarty tags.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;On the other hand, since I haven't been paying too much attention on this topic lately, it might just happen that maybe Smarty tags are already obsolete. &lt;strong&gt;Opinions on that topic are more than welcome. Feel free to pots your comments on that.&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:#cccccc;border-left-style:solid;padding-left:1ex;"&gt;&lt;span style="font-family:georgia, serif;"&gt;&lt;span style="font-size:large;"&gt;"Why are those forms so important? Anyone can make a stupid form!"&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p /&gt;
&lt;div&gt;If we get back to our forms... Well it is not just about the forms. It is the way a Wheels newbie can cope with them using some of the great features of Wheels (such as Ra&amp;uacute;l Riera's&amp;nbsp;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/listing/9"&gt;Scaffold plugin&lt;/a&gt;). But the real message I want to get out there is how I was&amp;nbsp;able&amp;nbsp;(again - as a Wheels beginner) to comprehend so many things in such a short period of time. It's the power of the framework.&lt;strong&gt; I love conventions! :)&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Everything about this web form, which is the topic of this post is also about learning basics of this really great Framework. If you are interested to learn what I and many others did, feel free to go on &lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/screencasts"&gt;Chris Peters' screen-casts&lt;/a&gt; and learn Wheels basics by building relatively simple web forms.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;strong&gt;Ok, I admit, maybe I am over-zealous, but certainly I am not biased. In any case&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;I have a feeling that after 5 or 10 years we will be still talking about Wheels in a very positive way.&amp;nbsp;&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Prior to Wheels I tried the PHP Zend Framework and to be honest I am having much more fun with Wheels than Zend. All seems so much easier and nicer in Wheels. I know that Zend is a great Framework too, that it has a big community and it has many options that I still don't know about but right now I am stuck with Wheels and I love it.&amp;nbsp;&lt;strong&gt;Isn't that the most important thing?&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;I am still leaving the door open to other Frameworks, however I will enjoy ColdFusion and Wheels as long as I can. Hopefully will even make a career from it. The signs are already here.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;BTW, I apologize for any mistake in the text if you find it. It is just so late and I cannot see straight anymore. Feedback or comments are more than welcome!&lt;/div&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://combofusion.posterous.com/very-good-progress-with-my-form-application-i"&gt;Permalink&lt;/a&gt; | &lt;a rel="nofollow" target="_blank" href="http://combofusion.posterous.com/very-good-progress-with-my-form-application-i#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt; &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cfwheels/bloggers/~4/f0X_gRHsQMo" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://combofusion.posterous.com/very-good-progress-with-my-form-application-i</guid>
         <pubDate>Wed, 25 Aug 2010 20:50:00 -0700</pubDate>
      </item>
      <item>
         <title>Ideas about saving form-data into multiple tables &amp; keeping functions like the errorMessagesFor() helper and validation functions in Wheels</title>
         <link>http://combofusion.posterous.com/ideas-about-saving-form-data-into-multiple-ta</link>
         <description>&lt;p&gt;&lt;div&gt;I had a rough night while trying to make an alternative validation system that would suit my needs of saving data from different forms into multiple database tables. When waking up I saw Cris Peters' email and some helpful notes in the &lt;a rel="nofollow" target="_blank" href="http://groups.google.com/group/cfwheels/browse_thread/thread/7ae1d71787c6de6d"&gt;CF On Wheels Google group&lt;/a&gt;.&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Here is the main part of our latest discussion. I am posting it because there are some nice ideas thrown on the the table. Chris had some nice suggestions about the way I should approach my problem and I also came up with some interesting ideas. I am more than happy to share them with you, as feedback would be mostly appreciated, so please feel free to post comments and your ideas!&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;strong&gt;The quotes in this posts belong to Chris Peters.&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:#cccccc;border-left-style:solid;padding-left:1ex;"&gt;&lt;span style="font-family:georgia, serif;"&gt;&lt;span style="font-size:large;"&gt;"For the foreseeable future, validation functions are only available when&amp;nbsp;saving to the database."&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p /&gt;
&lt;div&gt;That's why I was thinking to solve my problem by adjusting myself to that. Since I think that those validation functions are sent from heaven :), I really want to keep the functionality. I really want to use them. In the last project I made in PHP, I was busting my ass to make sure the validation works as it should, so I really want to use those functions! :) So my idea now is to save the choir form data in sections, thus for each section having a DB table on it's own. &lt;strong&gt;However this may not be the best solution, because in this case we we would have more database tables than we maybe should. But on the other hand, does this really matters?&lt;/strong&gt; I don't know... My idea was to have temporary tables that would be used as temporary containers... instead of using the session scope for that purpose, we could save the temporary data into temporary tables which would enable to access the data also after loosing the sessions!&amp;nbsp;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;That may sound funny, but I am sure it wouldn't be the first time that someone makes it this way. However I know that once we will be able to use NestedProperties(), things won't be so complicated anymore.&lt;/div&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;div&gt;BTW, about the NestedProperties() function. Here is what halfFAST wrote:&lt;/div&gt;
&lt;blockquote&gt;
&lt;div&gt;&lt;em&gt;"&lt;span style="font-family:arial, sans-serif;font-size:12px;"&gt;Nested properties are coming in 1.1... you'll need to be running code&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:arial, sans-serif;font-size:12px;"&gt;right from the svn repo to try them out as there is no release that&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:arial, sans-serif;font-size:12px;"&gt;supports nested properties out yet.&amp;nbsp;&lt;/span&gt;"&lt;/em&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p /&gt;
&lt;div&gt;Raul also wrote:&lt;/div&gt;
&lt;blockquote&gt;
&lt;div&gt;&lt;em&gt;&lt;span style="font-family:arial, sans-serif;font-size:12px;"&gt;"SVN is subversion control, where Wheels code lives :)&amp;nbsp;&lt;a rel="nofollow" target="_blank" href="http://www.google.com/url?sa=D&amp;amp;q=http://code.google.com/p/cfwheels/&amp;amp;usg=AFQjCNETBNiiCgovLyPmro2B1282sxpkPw" style="color:#0000cc;"&gt;http://code.google.com/p/cfwheels/&lt;/a&gt;.&amp;nbsp;&amp;nbsp;You can go into the "source" section and everything under the folder "&lt;/span&gt;&lt;span style="font-family:arial, sans-serif;font-size:12px;"&gt;trunk" is what is called the bleeding edge code of ColdFusion on&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:arial, sans-serif;font-size:12px;"&gt;heels (in other words the upcoming 1.1 version)&amp;nbsp;&lt;/span&gt;"&lt;/em&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p /&gt;
&lt;div&gt;&lt;span style="font-size:large;"&gt;So let me explain a little bit more how I was thinking to use those sections and the "temp" tables.&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;strong&gt;1. "Main info" section&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;This section would have only a couple of input fields in the form. This form would be the first thing that a user would see when clicking the &lt;strong&gt;"Add choir"&lt;/strong&gt; button in the administration. It would have the fields: &lt;strong&gt;"Choir title"&lt;/strong&gt; (textfield),&lt;strong&gt; "Type of choir"&lt;/strong&gt; (select), &lt;strong&gt;"Date of the Choir Establishment"&lt;/strong&gt; (calendar or select), &lt;strong&gt;"Number of singers"&lt;/strong&gt; (select). This form, or this section would be mainly used for creating a new record, with a new main record ID in the database. Once the user would fill up those 4 forms (4 sections) we would just save() the data into a DB table named &lt;strong&gt;"tempchoirs"&lt;/strong&gt; (I hope this name follows the Wheels conventions. Does it?), which would allow us to use both the form validation functions and the errorMessagesFor() helper function. Now we would have the ID of the newely inserted choir, which we would use in the following sections (steps of the form) as a foreign key, to connect the whole choir record (all 4 temp tables).&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;strong&gt;2. "Address" Section&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;After saving the data in the first section of the form, we would have the "tempchoirs" table filled with a new record and we would be redirected to the second step of the form - to the "&lt;strong&gt;Address"&lt;/strong&gt; section. Actually we would be redirected to a new action, which would use the same controller. This section would have around 4 or 5 form fields for the address data (city, house number, post-office number...) and would save the filled data into the second-section DB table named "tempadresses".&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;The procedure would be the same also in the &lt;strong&gt;"Formal info"&lt;/strong&gt; section (data would be stored in the &lt;strong&gt;"tempchoirinformation"&lt;/strong&gt; DB table) and in the &lt;strong&gt;"Extra infro"&lt;/strong&gt; section (data would be stored in the &lt;strong&gt;"tempextrachoirinformation"&lt;/strong&gt; DB table).&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;span style="font-size:large;"&gt;Now, here is the important part!&lt;/span&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;After filling up and checking the data of all 4 sections, the user would click&lt;strong&gt; "Save record"&lt;/strong&gt; and the information would be moved f&lt;strong&gt;rom the temporary DB tables to the main tables&lt;/strong&gt;: "choirs", "addresses", "choirinformation" and "extrachoirinformation".&amp;nbsp;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;strong&gt;The information from the DB tables would move (copy and delete) in this way:&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;tempchoirs -&amp;gt; choirs&lt;/div&gt;
&lt;div&gt;tempaddresses -&amp;gt; addresses&lt;/div&gt;
&lt;div&gt;tempchoirinformation -&amp;gt; choirinformation&amp;nbsp;&lt;/div&gt;
&lt;div&gt;tempextrachoirinformation - &amp;gt; extrachoirinformation&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;Probably you were asking yourself...&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;strong&gt;"What happens after the user stops on the second step of the form? Do we have only one temp table filled?"&lt;/strong&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;&lt;strong&gt;Yes! Why not?&lt;/strong&gt; This can also have it's benefits and it certainly doesn't affect the user at all. Let's say that the user comes back after a few hours and wants to insert it's choir again from the beginning (step 1). Once he or she would start filling the form, the app could suggest names of the choirs that were not finished filling up and! Maybe by using Ajax.&lt;/div&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;div&gt;IMHO this whole scenario may be useful because in this way we would certainly keep the functionality of the form validation functions and the errorMessagesFor() helper function. Also this may be a good idea, or a good method for some future Wheels versions. Or we could use this idea to make a new plugin perhaps? Hm... :)&lt;/div&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:#cccccc;border-left-style:solid;padding-left:1ex;"&gt;&lt;span style="font-size:large;"&gt;&lt;span style="font-family:georgia, serif;"&gt;"What I suggest is running the validations before storing the new data in the&amp;nbsp;session."&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p /&gt;
&lt;div&gt;Well, this is what I was trying to do actually, but in the process I lost the functionality of the validation functions. I hope what you are suggesting really works! Have you been using this system in your apps?&lt;/div&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:#cccccc;border-left-style:solid;padding-left:1ex;"&gt;&lt;span style="font-size:large;"&gt;&lt;span style="font-family:georgia, serif;"&gt;"That way you can validate that everything is OK before "committing"&amp;nbsp;to the session scope."&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p /&gt;
&lt;div&gt;Exactly! Validating before even saving to the session scope would be even better!&lt;/div&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:#cccccc;border-left-style:solid;padding-left:1ex;"&gt;&lt;span style="font-size:large;"&gt;&lt;span style="font-family:georgia, serif;"&gt;"As for displaying error messages, there are a lot of ways to skin that cat.&amp;nbsp;I happen to like the simplicity of errorMessagesFor()."&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p /&gt;
&lt;div&gt;Exactly! I would be glad if we could keep this function working in every scenario. :)&lt;/div&gt;
&lt;p /&gt;
&lt;p /&gt;
&lt;div&gt;So, to wrap up I this post I want to say that ever since I started using ColdFusion a year ago I always said that this community is the best. However we could freely add the Wheels community to that statement. :) Thank you guys for helping. It is very nice to know that there is someone to ask for help, especially after a long night unsuccessfully to solve your problem.&amp;nbsp;&lt;/div&gt;
&lt;p /&gt;
&lt;div&gt;I encourage everyone to post your comments and feedback!&lt;/div&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://combofusion.posterous.com/ideas-about-saving-form-data-into-multiple-ta"&gt;Permalink&lt;/a&gt; | &lt;a rel="nofollow" target="_blank" href="http://combofusion.posterous.com/ideas-about-saving-form-data-into-multiple-ta#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt; &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cfwheels/bloggers/~4/A-5V2oCWYYY" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://combofusion.posterous.com/ideas-about-saving-form-data-into-multiple-ta</guid>
         <pubDate>Mon, 23 Aug 2010 06:01:00 -0700</pubDate>
      </item>
      <item>
         <title>How to properly save form data to multiple DB tables and still sticking to CFWheels conventions</title>
         <link>http://combofusion.posterous.com/how-to-properly-save-form-data-to-multiple-db</link>
         <description>&lt;p&gt;&lt;p&gt;Since I've been neglecting ColdFusion and this blog for almost a year now (I wish I had a choice... have been too busy with other stuff), I guess it's finally time for one more post. &lt;p /&gt;I am now super excited to finally going along with everything that ColdFusion has to offer. After the first time I got across and installed a CF Framework (CF on Wheels) I am now happily discovering all the possibilities that a CF Framework throws on the plate for us.&lt;p /&gt; Since I first came across CFWheels (a year ago) the guys at the &lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/"&gt;CFWheels official site&lt;/a&gt; have been working hard and made many improvements that got me all excited. Chris Peters also made some excellent &lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/screencasts"&gt;Screencasts&lt;/a&gt; you might check out.&lt;p /&gt; This blog post however is more a cry for help rather than giving advice. If anyone can read this (the text below) and point me to the right direction with useful advice I would really appreciate it!&lt;p /&gt;I will explain what I was dealing with and also how I solved the problem. My objective now is to do a similiar thing within the CFWheels framwork. If anyone has a better idea I would kindly like to ask you to share it with me by commenting under this blog post or send me a personal message.&lt;p /&gt; Here we go... I posted this also in the &lt;a rel="nofollow" target="_blank" href="http://groups.google.com/group/cfwheels/browse_thread/thread/7ae1d71787c6de6d"&gt;CFWheels Google Group&lt;/a&gt;. &lt;p /&gt;
&lt;blockquote class="gmail_quote" style="border-left:1px solid #cccccc;margin:0pt 0pt 0pt 0.8ex;padding-left:1ex;"&gt;Before I start I would like to point out that this topic relates to this one: &lt;a rel="nofollow" target="_blank" href="http://groups.google.com/group/cfwheels/browse_thread/thread/b11a5f79.."&gt;http://groups.google.com/group/cfwheels/browse_thread/thread/b11a5f79..&lt;/a&gt;..&lt;p /&gt; Recently I've been working on a system (in PHP) that saves data from a quite complicated (many input fields) web-form into 4 different MySQL tables. When you pressed the save button below the form, I created a MD5 unique ID, so each record would have one.&lt;p /&gt; Now I want to apply a similiar problem into CF, using the CFWheels Framework, but as a Wheels newbie I would first like to know if there is an easier and quicker way to do it in Wheels. I know that Wheels makes things easier and I would like to know if I there is a conventional way in Wheels to do that.&lt;p /&gt; Let's go back to my PHP solution, to explain my system...&amp;nbsp; Since in the form I have 4 different sections ("Choir" section, "Choir Master" section, "Choir President" section and "Competition details" section) that should be stored each in its own DB table I connected all 4 section-records with one Unique ID. I obviously stored the data into 4 different session structs / arrays (like... session.myArray1, session.myArray2...) and each of them had the same MD5 unique ID stored as well.&lt;p /&gt; By using the same unique ID, stored in all 4 tables I could pull one record with the same unique ID from those 4 tables at any time.&lt;p /&gt;So what I did was, not to have normal foreign keys at we usually do. Instead I could get data of one record from all 4 tables simply by referencing each table with a unique ID that was stored in each table.&lt;p /&gt; Now I am using Wheels (testing it the past few days) and I was thinking to apply this system to my CF project, but I am not sure if there are any Wheels conventions that help me to do this in an easier way.&lt;p /&gt;Here is a screencast I just made to show you what I want to do.&lt;p /&gt;  . &lt;p /&gt;Here I am trying to savi data from a form into two different DB tables.&lt;p /&gt;Now with Wheels I have the idea to first save the data of the Choir form into a session, where I also save a unique ID. After that the user could maybe fill up the Address form which would also be saved in the session, having the same unique ID that I just made when saving the choir data first.&lt;p /&gt; OK, I know my explanation may not be the best, so if anyone wants to help me here, I will gladly explain if you don't understand something that I wrote or said in the Screencast.&lt;p /&gt;Thank you in advance.&lt;/blockquote&gt; &lt;p&gt;&lt;a rel="nofollow" target="_blank" href="http://combofusion.posterous.com/how-to-properly-save-form-data-to-multiple-db"&gt;Permalink&lt;/a&gt; | &lt;a rel="nofollow" target="_blank" href="http://combofusion.posterous.com/how-to-properly-save-form-data-to-multiple-db#comment"&gt;Leave a comment&amp;nbsp;&amp;nbsp;&amp;raquo;&lt;/a&gt; &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cfwheels/bloggers/~4/sFVO252eX4s" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://combofusion.posterous.com/how-to-properly-save-form-data-to-multiple-db</guid>
         <pubDate>Sun, 22 Aug 2010 09:00:00 -0700</pubDate>
      </item>
      <item>
         <title>New Tutorial: Wheels, AJAX, and You</title>
         <link>http://feeds.cfwheels.org/~r/cfwheels/blog/~3/vDK5LXTuKrY/</link>
         <description>Raúl Riera and I collaborated on a new tutorial in the reference guide called Wheels, AJAX, and You. The tutorial discusses 3 different ways to request and receive data from the controller using asynchronous JavaScript. While much of this may be standardized in future releases of Wheels, this tutorial gives you some fairly simple options [...]</description>
         <guid isPermaLink="false">http://cfwheels.org/blog/?p=247</guid>
         <pubDate>Fri, 20 Aug 2010 04:47:39 -0700</pubDate>
         <content:encoded><![CDATA[<p><a rel="nofollow" target="_blank" href="http://cfwheels.org/user/profile/3">Raúl Riera</a> and I collaborated on a new tutorial in the reference guide called <a rel="nofollow" target="_blank" href="http://cfwheels.org/docs/chapter/wheels-ajax-and-you">Wheels, AJAX , and You</a>. The tutorial discusses 3 different ways to request and receive data from the controller using asynchronous JavaScript.</p>
<p>While much of this may be standardized in future releases of Wheels, this tutorial gives you some fairly simple options for integrating AJAX functionality into your Wheels 1.0.x applications <em>today</em>.</p>
<img src="http://feeds.feedburner.com/~r/cfwheels/blog/~4/vDK5LXTuKrY" height="1" width="1"/>]]></content:encoded>
         <category>Tutorials</category>
      </item>
      <item>
         <title>Learning CFWheels – CRUD and My All-in-One View</title>
         <link>http://kwbarrett.wordpress.com/2010/08/19/learning-cfwheels-crud-and-my-all-in-one-view/</link>
         <description>In a previous life, I was a Fusebox 4.1 developer. We had a pretty standard way of making an interface for Creating, Retrieving, Updating, and Deleting records. All records would be displayed in a table, the last column of which was called the actions column. In this column, next to each record would be links [...]&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kwbarrett.wordpress.com&amp;amp;blog=1166602&amp;amp;post=250&amp;amp;subd=kwbarrett&amp;amp;ref=&amp;amp;feed=1" width="1" height="1"/&gt;&lt;img src="http://feeds.feedburner.com/~r/cfwheels/bloggers/~4/r8BrQY8vbm4" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://kwbarrett.wordpress.com/?p=250</guid>
         <pubDate>Thu, 19 Aug 2010 18:46:40 -0700</pubDate>
         <media:content url="http://1.gravatar.com/avatar/592c13df5d497f5527bcaebf643220d5?s=96&amp;amp;amp;d=identicon&amp;amp;amp;r=G" medium="image" media:title="kwbarrett" />
         <media:content url="http://kwbarrett.files.wordpress.com/2010/08/screen-shot-2010-08-19-at-9-06-35-pm.png" medium="image" media:title="add_edit_delete_interface" />
      </item>
      <item>
         <title>Episode 13: Pagination</title>
         <link>http://cfwheels.org/screencasts/view/14</link>
         <description>All it takes to offer pagination is two extra arguments to &lt;code&gt;findAll()&lt;/code&gt; and a call to a view helper called &lt;code&gt;paginationLinks()&lt;/code&gt;. Watch as Chris Peters demonstrates this powerful functionality that's sure to save you some major time.</description>
         <guid isPermaLink="false">http://cfwheels.org/screencasts/view/14</guid>
         <pubDate>Thu, 19 Aug 2010 05:08:36 -0700</pubDate>
         <media:content fileSize="51178544" url="http://cfwheels.org/files/screencasts/social-network-13.mp4" type="video/mp4" />
         <enclosure length="51178544" url="http://cfwheels.org/files/screencasts/social-network-13.mp4" type="video/mp4" />
      </item>
      <item>
         <title>CFWheels Full Stack (Why all the downloads then?)</title>
         <link>http://www.henke.ws/post.cfm/cfwheels-full-stack-why-all-the-download-then</link>
         <description>&lt;p&gt;Wheels is mentioned as a full stack framework sometimes. What does "full stack" mean? Full stack frameworks "often gathered multiple libraries useful for &lt;a rel="nofollow" title="Web development" target="_blank" href="http://en.wikipedia.org/wiki/Web_development"&gt;web development&lt;/a&gt; into a single cohesive &lt;a rel="nofollow" class="mw" title="Software stack" target="_blank" href="http://en.wikipedia.org/wiki/Software_stack"&gt;software stack&lt;/a&gt; for web developers to use." The quote is from &lt;a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Web_application_framework"&gt;http://en.wikipedia.org/wiki/Web_application_framework&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can get started with Wheels without any downloads/plugins. After you get familiar with Wheels, you may want to check plugins out. Like most things with Wheels, you don't have to learn everything at once. It can be on your own time line.&lt;/p&gt;
&lt;p&gt;If Wheels is a single cohesive stack, why all the downloads/plugins? Well, as great as &lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/community/core-team"&gt;the Wheels core team&lt;/a&gt; is they may not have thought of everything. They may even have a different idea from what you think some Wheels function's parameters should be and what it should do. &lt;/p&gt;
&lt;p&gt;Plugins allow you, the Wheels framework user, to modify or enhance Wheels functionality. Some plugins may eventually get incoroporated in Wheels like the Flash Helper mentioned below. Some plugins may be niche like the Oracle Auto increment plugin and not necessary to be added to the framework but are useful anyways. &lt;/p&gt;
&lt;p&gt;Below is a list of some of the many plugins created by Wheels users. The full selection is here &lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/"&gt;http://cfwheels.org/plugins/&lt;/a&gt;. &lt;/p&gt;
&lt;a rel="nofollow" id="internal-source-marker_0.39658189518377185" name="internal-source-marker_0.39658189518377185" target="_blank" href="http://cfwheels.org/plugins/listing/4"&gt;Asset Bundler&lt;/a&gt; Version 1.0.1&lt;br&gt;A plugin that combines and minifies your javascript and css code. &lt;ul&gt;
&lt;li&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/download/4"&gt;Download&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;br&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/listing/33"&gt;DatabaseViews&lt;/a&gt; Version 0.3&lt;br&gt;Adds support for database views &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/download/33"&gt;Download&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/listing/28"&gt;DBMigrate&lt;/a&gt; Version 0.4&lt;br&gt;This plugin adds Database Migration functionality to CFWheels similar to Rails' Active Record migrations. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/download/28"&gt;Download&lt;/a&gt; &lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/download/4"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/listing/10"&gt;Flash Helpers&lt;/a&gt; Version 0.4&lt;br&gt;Handle with ease Wheels "flash" system &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/download/10"&gt;Download&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt; &lt;a rel="nofollow" id="internal-source-marker_0.39658189518377185" name="internal-source-marker_0.39658189518377185" target="_blank" href="http://cfwheels.org/plugins/listing/36"&gt;Oracle Auto Increment&lt;/a&gt; Version 0.1&lt;br&gt;Simulates Auto Increment primary key field for Oracle using sequences &lt;ul&gt;
&lt;li&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/download/36"&gt;Download&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt; &lt;p&gt;&lt;br&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/listing/8"&gt;PluginManager&lt;/a&gt; Version 0.9&lt;br&gt;Browse and download authorized plugins directly from your local Wheels install. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/download/8"&gt;Download&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/listing/6"&gt;Provides&lt;/a&gt; Version 0.2&lt;br&gt;The Provides Plugin lets you manage the data format returned by your Wheels controller. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/download/6"&gt;Download&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/listing/9"&gt;Scaffold&lt;/a&gt; Version 0.6&lt;br&gt;Add scaffolding to your Wheels applications. It will enable you to quickly create Controllers, Models and Views. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/download/9"&gt;Download&lt;/a&gt; &lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/download/6"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/listing/30"&gt;UploadFiles&lt;/a&gt; Version 0.1.1&lt;br&gt;This plugin tries to make uploading files to your CFWheels application easy and secure &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/download/30"&gt;Download&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/listing/20"&gt;WordArt&lt;/a&gt; Version 0.6&lt;br&gt;WordArt CFC generates image for insertion of typography on a webpage by converting text to image in various styles. There are over 25 different options available in this first release of WordArt. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/download/20"&gt;Download&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/listing/16"&gt;YM_Google-Analytics&lt;/a&gt; Version 0.1&lt;br&gt;YM_Google-Analytics helps you easily track website statistics within your application using Google Analytics' service. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel="nofollow" target="_blank" href="http://cfwheels.org/plugins/download/16"&gt;Download&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/cfwheels/bloggers/~4/a1YA7Eq72YI" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://www.henke.ws/post.cfm/cfwheels-full-stack-why-all-the-download-then</guid>
         <pubDate>Thu, 19 Aug 2010 04:35:49 -0700</pubDate>
      </item>
      <item>
         <title>Learning CFWheels – Keeping it DRY with Partials</title>
         <link>http://kwbarrett.wordpress.com/2010/08/17/learning-cfwheels-keeping-it-dry-with-partials/</link>
         <description>I&amp;#8217;m relatively new to CFWheels, but not CF. In my fusebox days, I would use the same form for both the create and edit, living by the credo DRY(don&amp;#8217;t repeat yourself). I would simply add logic that checks to see if the id is greater-than zero. If yes, it&amp;#8217;s an update, otherwise it&amp;#8217;s an insert. [...]&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kwbarrett.wordpress.com&amp;amp;blog=1166602&amp;amp;post=243&amp;amp;subd=kwbarrett&amp;amp;ref=&amp;amp;feed=1" width="1" height="1"/&gt;&lt;img src="http://feeds.feedburner.com/~r/cfwheels/bloggers/~4/aVrVHeaohq4" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://kwbarrett.wordpress.com/?p=243</guid>
         <pubDate>Tue, 17 Aug 2010 18:59:24 -0700</pubDate>
         <media:content url="http://1.gravatar.com/avatar/592c13df5d497f5527bcaebf643220d5?s=96&amp;amp;amp;d=identicon&amp;amp;amp;r=G" medium="image" media:title="kwbarrett" />
      </item>
      <item>
         <title>Scaffold Plugin for CFWheels</title>
         <link>http://kwbarrett.wordpress.com/2010/08/17/scaffold-plugin-for-cfwheels/</link>
         <description>I recently stumbled upon the Scaffold plugin for CFWheels. While I was aware of scaffolding for RoR, I was pleased to find it for CFWheels. It allows me to quickly create the routine CRUD functions and get on to solving more complex issues. It can also serve as a basic prototyping or wireframing tool.&lt;img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=kwbarrett.wordpress.com&amp;amp;blog=1166602&amp;amp;post=237&amp;amp;subd=kwbarrett&amp;amp;ref=&amp;amp;feed=1" width="1" height="1"/&gt;&lt;img src="http://feeds.feedburner.com/~r/cfwheels/bloggers/~4/-ex2OZvngDA" height="1" width="1"/&gt;</description>
         <guid isPermaLink="false">http://kwbarrett.wordpress.com/?p=237</guid>
         <pubDate>Tue, 17 Aug 2010 11:56:57 -0700</pubDate>
         <media:content url="http://1.gravatar.com/avatar/592c13df5d497f5527bcaebf643220d5?s=96&amp;amp;amp;d=identicon&amp;amp;amp;r=G" medium="image" media:title="kwbarrett" />
         <media:content url="http://kwbarrett.files.wordpress.com/2010/08/cfwheels_debug.png?w=300" medium="image" media:title="cfwheels_debug" />
      </item>
   </channel>
</rss><!-- fe3.pipes.re3.yahoo.com uncompressed/chunked Thu Sep  2 15:02:31 PDT 2010 -->
