CFBlogs.com Blog Feed - All Blogs http://www.cfblogs.com CFBlogs.com is the place to go for ColdFusion-related Blogs and Jobs Thu, 09 Feb 2012 01:21:31 GMT Adobe eSeminar on ColdFusion and Monitoring - Ray Camden http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/KDolsC8Jk8w/Adobe-eSeminar-on-ColdFusion-and-Monitoring (Sorry for the somewhat simple blog posts this week - all day offsite with Adobe. I promise to return to my normal incredibly exciting posts soon...) Monitoring ColdFusion with FusionReactor February 22, 2012 If your CF server starts acting up, how do you go about resolving problems? If you're on ColdFusion 8 or 9 Enterprise, you may know that you have a built-in ColdFusion Server Monitor. Did you know there is an alternative tool that supplements it well? FusionReactor is a commercial third-party tool, which can monitor not only any version of CF (6, 7, 8 or 9, whether Standard or Enterprise) but also Livecycle and any other Java web application or server in your environment. (www.fusion-reactor.com) Such monitoring is about more than "watching a screen". You can arrange to receive email alerts with valuable information (sort of a black box recording before a crash), and FusionReactor also creates really valuable logs that can also help with post-mortem analysis. They can also assist with deciding on CF server configuration settings, watch trends for hardware upgrades, and more. And as of FusionReactor 4, these logs now track information that previous only the CF Server Monitor displayed (but didn't log at all). Finally, an additional tool, FusionAnalytics, can help analyze and visualize that data over minutes, hours, days, weeks, months, and so on. In this 50-minute session, veteran CF troubleshooter and independent consultant Charlie Arehart will introduce and demonstrate these and other key features of FusionReactor (including stack tracing and crash protection), and will end with a brief demo of FusionAnaytics (www.fusion-analytics.com) Register Now: http://www.adobe.com/cfusion/event/index.cfm?event=detail&id=1965964&loc=en_us Wed, 08 Feb 2012 17:00:06 GMT http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/KDolsC8Jk8w/Adobe-eSeminar-on-ColdFusion-and-Monitoring China’s Ghost Cities - Ricardo Parente http://ricardo.parente.us/2012/02/chinas-ghost-cities/?utm_source=rss&utm_medium=rss&utm_campaign=chinas-ghost-cities Tue, 07 Feb 2012 19:05:52 GMT http://ricardo.parente.us/2012/02/chinas-ghost-cities/?utm_source=rss&utm_medium=rss&utm_campaign=chinas-ghost-cities ColdFusion offer from Intergral - Ray Camden http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/2_kBmWn4gTc/ColdFusion-offer-from-Intergral Intergral, makers of FusionReactor and FusionAnalytics, have a pretty cool offer for folks buying or upgrading ColdFusion: Intergral and Adobe Inc. are running the following promotion up to Feb 29 2012. If you purchase either a new or upgrade license to ColdFusion 9 Enterprise, you will receive FusionReactor Enterprise Server Monitor 1 Year Subscription (RRP $399), absolutely free. If you purchase a new license of ColdFusion 9 Standard, you will receive a copy of FusionReactor Standard 1 Year Subscription (RRP $249). All software must be purchased via Intergral http://www.fusion-reactor.com/adobe to be eligible for this offer. Our prices for CF are very competitive, making it all a very good deal. If you purchase Platinum Support with your new ColdFusion license, then you are entitled to receive all upgrades and updates to ColdFusion in the next 12 months following your purchase - read more http://www.adobe.com/support/programs/customer/platinum_solutions_brief.pdf Tue, 07 Feb 2012 15:10:06 GMT http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/2_kBmWn4gTc/ColdFusion-offer-from-Intergral Getting Started with ClojureScript (and FW/1) - Sean Corfield http://corfield.org/blog/post.cfm/getting-started-with-clojurescript-and-fw-1 There's been quite a bit of buzz about ClojureScript since it's launch last July but it is a fast-moving target and a but daunting to get started with. Fortunately, there's a simple Leiningen plugin called lein-cljsbuild that can make it pretty simple to get up and running! I'm going to assume you've already got Leiningen installed so let's get a small FW/1 application up and running and then add some ClojureScript to it. First off, we'll install the Leiningen plugin for FW/1: lein plugin install lein-fw1 0.0.6 Now let's create a skeleton FW/1 application: lein fw1 new fw1cljs If we drop into our new fw1cljs folder, we can fire up our new application: cd fw1cljs PORT=8888 lein run Once you see Jetty started on port 8888, you can visit the application: http://localhost:8888 You should see a bare bones "Welcome to FW/1" page - success! Now we're going to add ClojureScript to our project. Kill the Jetty process (press control-C in that terminal window to terminate lein run) the edit your project.clj file to add the following lines (between the :dependencies block and the :main): :cljsbuild { :source-path "src-cljs" :compiler { :output-to "src/fw1cljs/assets/js/main.js" :optimizations :whitespace :pretty-print true}} This setup is fine for development. When you're ready for production, change the :optimizations to :advanced and :pretty-print to false. That will create a heavily optimized and minified JavaScript file. Install the cljsbuild plugin: lein plugin install lein-cljsbuild 0.0.11 That will download a lot of stuff including ClojureScript itself and the Google Closure "compiler". Now we can start the compiler-watcher (in the fw1cljs folder): lein cljsbuild auto Leave that running. In another terminal window, we need to create the src-cljs folder in the project and an example subfolder: mkdir -p src-cljs/example Now we'll create src-cljs/example/util.cljs containing this code: (ns example.util) (defn length [nodes] (. nodes -length)) (defn item [nodes n] (.item nodes n)) (defn as-seq [nodes] (for [i (range (length nodes))] (item nodes i))) (defn by-id Tue, 07 Feb 2012 02:35:34 GMT http://corfield.org/blog/post.cfm/getting-started-with-clojurescript-and-fw-1 Christophe Coenraets On Backbone.js And PhoneGap - Ben Forta http://forta.com/blog/index.cfm/2012/2/6/Christophe-Coenraets-On-Backbonejs-And-PhoneGap Fellow Adobe evangelist Christophe Coenraets recently posted a three part article on building a CRUD application using HTML and the Backbone.js framework. He has now followed it up with a post on building a mobile app using Backbone.js And PhoneGap. Tue, 07 Feb 2012 02:05:05 GMT http://forta.com/blog/index.cfm/2012/2/6/Christophe-Coenraets-On-Backbonejs-And-PhoneGap Muse Rant: Open Letter to Sales People - ColdFusion Muse http://www.coldfusionmuse.com/index.cfm/2012/2/6/dont.call.me.please.dont.call.me In the immortal words of John Cleese "And now for something completely different." Please note that this post is intended to be funny. As a geek with a sort of geek sense of humor I have to say that up front or some folks may miss it. The Muse does not typically castigate sales people over the phone unless they are calling from a NY boiler room (the stock kind - I actually have an affinity for maintenance people). I'm generally nice with the goal of getting off the phone as quickly as possible. But I suppose some of these things are bubbling along inside of me all the same. If this gives you a laugh then I'm pleased, but I am not setting out to offend anyone. If you are trying to make a living calling folks to sell them something you might want to stop here unless you have a thick skin. I know you are just trying to make a living and I wish you success (but don't call me... please don't call me!!). And now.... [More] Mon, 06 Feb 2012 18:40:48 GMT http://www.coldfusionmuse.com/index.cfm/2012/2/6/dont.call.me.please.dont.call.me Ruby and JSONP - Simeon Says http://www.simb.net/2012/02/06/ruby-and-jsonp/ I have been working on several mobile projects recently. The backends for these apps are very simple CRUD style admins. People either just need to post some data or see what has been submitted. Then I can create an API that exposes the information for mobile consumption via JSON. Its hard to find an easier [...] Mon, 06 Feb 2012 17:15:42 GMT http://www.simb.net/2012/02/06/ruby-and-jsonp/ jQuery.whenSync() Plugin For Chaining Asynchronous Callbacks Using Deferred Objects - Ben Nadel http://www.bennadel.com/blog/2326-jQuery-whenSync-Plugin-For-Chaining-Asynchronous-Callbacks-Using-Deferred-Objects.htm Last week, I started to talk about chaining asynchronous Validation rules using jQuery Deferred objects . After writing up that post, I thought I might be able to factor-out the core idea into its own jQuery plugin - jQuery.whenSync(). Like the native jQuery.when() method, the jQuery.whenSync() method takes a variable-number of argument ... Read More » Mon, 06 Feb 2012 15:30:21 GMT http://www.bennadel.com/blog/2326-jQuery-whenSync-Plugin-For-Chaining-Asynchronous-Callbacks-Using-Deferred-Objects.htm How Do You Start Writing Tests? - Scott Stroz http://www.boyzoid.com/blog/index.cfm/2012/2/5/How-Do-You-Start-Writing-Tests I am beginning work on a personal project and I started writing unit/integration tests as one of the first steps. As I started, I realized this is the first project I am setting up from scratch and starting to write tests. (Other projects I have worked on I was brought in after the initial round of tests were already written. I simply needed to write new tests for new functionality we were adding.) This lead me to think, how should I handle this? Should I write a bunch of tests, that I know will fail initially, and then go through and get them to pass? Or should I write one test, get it to pass, then write another test, get it to pass, and so on? So, what do you think is the best way to handle this? Write a bunch of tests and then go through to make them pass? Write one test at a time and don't move on to writing another test until the current one passes? Sun, 05 Feb 2012 18:45:37 GMT http://www.boyzoid.com/blog/index.cfm/2012/2/5/How-Do-You-Start-Writing-Tests Flex User Group 2012 Tour European Dates - Ben Forta http://forta.com/blog/index.cfm/2012/2/4/Flex-User-Group-2012-Tour-European-Dates Following up on the Flex User Group 2012 Tour: North America Dates dates (mentioned recently), Flex User Group 2012 Tour: European Dates have now also been posted. Sun, 05 Feb 2012 01:50:05 GMT http://forta.com/blog/index.cfm/2012/2/4/Flex-User-Group-2012-Tour-European-Dates My Standing Desk - The Crumb http://feedproxy.google.com/~r/thecrumb/~3/7UU5-TUHdx0/ Many years ago, when I was drafting for a living, I stood at a table much like this one for most of the day. I had a stool but when working on large drawings standing was usually required. Then along … Continue reading → Sun, 05 Feb 2012 01:45:30 GMT http://feedproxy.google.com/~r/thecrumb/~3/7UU5-TUHdx0/ Job Opening for ColdFusion Developer at Arizona State University - Ray Camden http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/Mu3Bg7vu38A/Job-Opening-for-ColdFusion-Developer-at-Arizona-State-University Just passing it along... (btw reader - I never did want to be a 'job poster' for the CF community sinc eothers do- but I've done a couple recently. A few because they were for my last job, and one for Adobe. Do folks mind these? Find them helpful?) Web Application Developer Sat, 04 Feb 2012 21:00:06 GMT http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/Mu3Bg7vu38A/Job-Opening-for-ColdFusion-Developer-at-Arizona-State-University Job Opening for Sr. ColdFusion Developer in CA/ San Fernando Valley - Ray Camden http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/rqxiCutq7dY/Job-Opening-for-Sr-ColdFusion-Developer-in-CA-San-Fernando-Valley Just passing it on... Job Opening for Sr. ColdFusion Developer in CA/ San Fernando Valley Position: Senior ColdFusion Developer Contract to hire. Seeking an advanced-level developer who lives to push ColdFusion and Object-Oriented Web development to the edge. Job Description Sr. Web Developer / Architect to drive the direction of the company's technology solutions, define and implement best practices and build lean, powerful and extensible functionality. Work closely with Business/Systems Analysts, Database Administrators, and Stakeholders to architect, design, and implement robust and user friendly insurance business applications. More info at his blog post: Job Opening for Sr. ColdFusion Developer in CA/ San Fernando Valley Fri, 03 Feb 2012 20:00:05 GMT http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/rqxiCutq7dY/Job-Opening-for-Sr-ColdFusion-Developer-in-CA-San-Fernando-Valley Update to my highlight/fadeout example - now with CSS hotness - Ray Camden http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/G5GHXgBJYh8/Update-to-my-highlightfadeout-example--now-with-CSS-hotness Yesterday I posted an example of highlight/fadeout effects done with jQuery. It wasn't necessarily that exciting, but it's not something I've done before so it was fun to build. Fellow evangelist (and my boss, so yeah, his comments get special attention) Kevin Hoyt commented that what I had achieved would be possible with CSS and transitions. Now - I will admit to being a bit codependent on jQuery. It's not like I'm addicted. I can stop using jQuery whenever I want to. In fact, I went out of my way to in this post. I love jQuery, but I can definitely recognize that I'm almost depending on it like a crutch, so I thought I'd take the opportunity to try it with pure CSS. Before even approaching the idea of an animation, I thought I'd try a simple hover. That turned out to be trivial: .tagcloudword { opacity: 0.5; } .tagcloudword:hover { opacity:1; font-weight: bold; } That worked well enough where even if everything else I did failed, I'd be ok. Notice I also added the bold there to make it a bit more fancy. You can try this here: http://www.raymondcamden.com/demos/2012/feb/3/take2.html I knew next to nothing about animation and transitions in CSS, but quickly found the docs at MDN to be incredibly useful. Begin with their CSS page: https://developer.mozilla.org/en/CSS. They've got a page on animations and transitions. Obviously transitions are what we want here. I won't try to replicate the excellent docs over at MDN, but the basic gist of it seems to be this: Define your CSS for the item. Define your CSS for the hover. Then tell the CSS what properties are changing, how it changes (from a list of options like ease-in), and the duration. The only thing missing from the docs that may trip you up is the use of vendor prefixes. MDN focuses on what works for them - the moz prefix. For Chrome, I had to add webkit as well. This means you have to duplicate your code, which is kinda sucky, but passable. So here was my first update: .tagcloudword { opacity: 0.1; -webkit-transition: opacity; -webkit-transition-timing-function: ease-out; -webkit-transition-duration: 2000ms; -moz-transition: opacity; -moz-transition-timing-function: ease-out; -moz-transition-duration: 2000 Fri, 03 Feb 2012 16:00:05 GMT http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/G5GHXgBJYh8/Update-to-my-highlightfadeout-example--now-with-CSS-hotness ColdFusion Supports HTTP Verbs PUT And DELETE (As Well As GET And POST) - Ben Nadel http://www.bennadel.com/blog/2325-ColdFusion-Supports-HTTP-Verbs-PUT-And-DELETE-As-Well-As-GET-And-POST-.htm Over the weekend, I read an excellent book on building RESTful web services - the REST API Design Rulebook by Mark Masse . In the book, Masse describes how the various HTTP methods (also known as Verbs) are intended to be used to create, access, update, delete, and augment data within a RESTful web service API. As far as HTTP verbs go, I'm extremely familiar with GET and POST - the two ve ... Read More » Fri, 03 Feb 2012 15:30:21 GMT http://www.bennadel.com/blog/2325-ColdFusion-Supports-HTTP-Verbs-PUT-And-DELETE-As-Well-As-GET-And-POST-.htm Creating a highlight/fadeout text effect on a tag cloud - Ray Camden http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/TlC1SwRFxDo/Creating-a-highlightfadeout-text-effect-on-a-tag-cloud Yesterday I blogged a simple example of how to turn an RSS feed into a tag cloud. Today reader JP commented that it would be cool if I could mimic an effect he saw in a Flash based tag cloud. Basically, as you mouse over each word, they light up. Here's what I came up with. First off - I tweaked my data a bit. Instead of working with an RSS feed, I decided to hit my copy of CFBloggers and scan all the category data. My local database is a good 6 months old, but still has 48 thousand entries. This gave me a nice set of data. If you remember, Pete's tag cloud code already wraps every word with a span. The class on the span is based on the word's relative "score" compared to other words. I decided then to simply append to that: #w# I then added a CSS style for tagcloudword to make it a bit light by default: .tagcloudword { opacity: 0.5; } And then it was time for the jQuery. Turned out - it was pretty damn trivial: $(function() { $(".tagcloudword").mouseover(function(e) { $(this).animate({opacity:1.0},400); }); $(".tagcloudword").mouseout(function(e) { $(this).animate({opacity:0.5},400); }); }); As you can see, I'm simply using the animate API to change opacity when you mouse over and out of the word. And that's it. You can even make it simpler with the hover event: $(".tagcloudword").hover(function(e) { $(this).animate({opacity:1.0},400); },function(e) { $(this).animate({opacity:0.5},400); }); You can see a demo of this yourself by clicking the big demo button below. Note that I saved out the result as an HTML, so it's not "live". Thu, 02 Feb 2012 22:55:05 GMT http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/TlC1SwRFxDo/Creating-a-highlightfadeout-text-effect-on-a-tag-cloud My new adventure - Dave Ferguson http://blog.dkferguson.com/index.cfm/2012/2/2/My-new-adventure Well, For those of you not listening to the podcast, www.cfhour.com, after many years at Disney I decided to change jobs. Leaving Disney was not a decision I took lightly. The decision process caused many sleepless nights and many moments of panic. But with the help of family and friends I was, obviously, able to make a final decision. I have to say, leaving somewhere you have been for just shy of 11 years is tough. There is nothing that can prepare you for that day you resign nor the last day at work. I wish all the best to those friends I left behind at Disney. I know they will go forth and blaze a path on on their own. So, what am I doing now? Well, I am now a Sr. Developer at Nonfat Media. I am very excited about the future and what lies ahead. It is a strange place to be at the moment. I am coming from somewhere where I had all the answers to somewhere I have to ask all the questions. Once I get my bearings and get some knowledge I know I will be able to help do great things here. So, what about my blog (haven't blogged in a while) and the podcast? They will both continue on. I have gotten permission to talk and blog about things that I do here (with some restrictions). So, I hope that along my new journey of learning I will be able to teach others as well. Till next time... --Dave Thu, 02 Feb 2012 17:15:28 GMT http://blog.dkferguson.com/index.cfm/2012/2/2/My-new-adventure REST API Design Rulebook By Mark Masse - Ben Nadel http://www.bennadel.com/blog/2324-REST-API-Design-Rulebook-By-Mark-Masse.htm Over the weekend, I read The REST API Design Rulebook by Mark Masse . I absolutely loved this book! In a world where so many computer science questions are answered with, " It depends ," or, " there's no 'right' answer ," Masse comes through with a book that says, No, these are the rule ... Read More » Thu, 02 Feb 2012 15:05:22 GMT http://www.bennadel.com/blog/2324-REST-API-Design-Rulebook-By-Mark-Masse.htm Cloudy with a Chance of Tests tonight 6pm EST - Henke.ws - ColdFusion http://www.henke.ws/post.cfm/cloudy-with-a-chance-of-tests-tonight-6pm-est "Enlightenment must come little by little – otherwise it would overwhelm." – Idries Shah I will be presenting Cloudy with a Chance of Tests tonight 6pm EST online for the Online ColdFusion Meetup tonight, Feb 2, at 6pm EST. After most unit testing, ant, or Continuous Integration (CI) presentations I wasn't in the position to start down the path with uniting testing, acceptance testing, or any automated build process with my legacy code. This wasn't the fault of the presenters discussing Hudson, refactoring legacy code so it is testable, Selenium, MXUnit, or TDD (Test Driven Development). It wasn't the fault of the legacy code either. It wasn't the developers or managers fault. When preparing for this presentation, I found I wasn't at these phases yet. CI is not all or nothing, it is a path that progress through distinct phases. TDD (Test Driven Development) isn't till phase 5. Unit testing isn't introduced till Phase 3. Acceptance testing is phase 6. This presentation will cover Phase 1 – no build server and set you up for Phase 2 & 3. "First, master the fundamentals" – Larry Bird Here are the slides, some notes, and the Cloudy with a Chance of Tests project. Thu, 02 Feb 2012 13:25:43 GMT http://www.henke.ws/post.cfm/cloudy-with-a-chance-of-tests-tonight-6pm-est OpenCF Summit - The Crumb http://feedproxy.google.com/~r/thecrumb/~3/ny_YcKCZzA8/ OpenCF Summit is one of those conferences that I want to attend but life always seems to get in the way. I won’t be able to make it again this year but that doesn’t mean you can’t go! :) For … Continue reading → Thu, 02 Feb 2012 01:55:31 GMT http://feedproxy.google.com/~r/thecrumb/~3/ny_YcKCZzA8/ Generate a tag cloud from an RSS feed with ColdFusion - Ray Camden http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/WrB-ZhOt4pY/Generate-a-tag-cloud-from-an-RSS-feed-with-ColdFusion Earlier today Mike Henke asked if there was a way to generate a tag cloud from an RSS feed. While he was able to find a solution quick enough (Wordle), I thought it would be kind of fun to try this myself. I knew that Pete Freitag had already blogged on tag clouds and ColdFusion, so all I had to do was generate my word data and pass it to his code. Here's what I came up with. I began with a simple call to my RSS URL to generate a query of data. For my testing, this was the only thing I cached. Obviously all of my "crunching" could have been cached. Now for the fun part. In order to use Pete's code, I need to know each word and the number of times it appears. I began with an empty struct: Next, I created a list of "stop" words, words I'd always ignore. (Note, this list was kind of arbitrary. Also note I added some spaces in the blog entry just so it would wrap better.) I then split by word boundary and added them to the struct. Note that this word boundary also includes ' so I can match "don't". This is not perfect, but good enough. I had quite a few words, so I decided to remove all words with less than 5 instances. Now comes Pete's code to generate high/low values. And finally, the output: Word Cloud Wed, 01 Feb 2012 22:25:05 GMT http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/WrB-ZhOt4pY/Generate-a-tag-cloud-from-an-RSS-feed-with-ColdFusion Railo, ORM and MySQL 5.5.x gotcha - Anuj @ ColdFusion, Flex... http://www.anujgakhar.com/2012/02/01/railo-orm-and-mysql-5-5-x-gotcha/ I was testing the ORM stuff in the latest version of Railo (3.3.1.000 final) and after setting up the ORM settings in Application.cfc, when I tried to run the code, I could not get Railo to create the database tables, even with dbcreate=”dropcreate”. Here is my code, that was not working :- The above code [...] Wed, 01 Feb 2012 21:25:23 GMT http://www.anujgakhar.com/2012/02/01/railo-orm-and-mysql-5-5-x-gotcha/ ColdFusion MeetUp: Cloudy with a Chance of Tests, with Mike Henke - Ricardo Parente http://ricardo.parente.us/2012/02/coldfusion-meetup-cloudy-with-a-chance-of-tests-with-mike-henke/?utm_source=rss&utm_medium=rss&utm_campaign=coldfusion-meetup-cloudy-with-a-chance-of-tests-with-mike-henke Our 6pm (US ET) talk on Thursday February 2 will be a “Cloudy with a Chance of Tests”, with Mike Henke. TOPIC DESCRIPTION: (provided by the speaker) We will introduce CI (continuous integration) concepts and benefits. Hopefully you have seen presentations over ant, setting up Jenkins, unit testing and refactoring your code. I always walk away thinking this [...] Wed, 01 Feb 2012 18:40:53 GMT http://ricardo.parente.us/2012/02/coldfusion-meetup-cloudy-with-a-chance-of-tests-with-mike-henke/?utm_source=rss&utm_medium=rss&utm_campaign=coldfusion-meetup-cloudy-with-a-chance-of-tests-with-mike-henke PhoneGap 1.4 Released - Ben Forta http://forta.com/blog/index.cfm/2012/2/1/PhoneGap-14-Released PhoneGap 1.4 has just been released, and here's a list of all that has changed. Wed, 01 Feb 2012 18:30:05 GMT http://forta.com/blog/index.cfm/2012/2/1/PhoneGap-14-Released Reminder - Adobe Cookbooks - Ray Camden http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/sbDw_nRRwrM/Reminder--Adobe-Cookbooks As a gentle reminder, don't forget the excellent resource that is the Adobe Cookbook, including over 200 ColdFusion Cookbook entries. Looks like it has been a while since content was added, so take this as a gentle push to yall to consider adding something. Wed, 01 Feb 2012 17:20:05 GMT http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/sbDw_nRRwrM/Reminder--Adobe-Cookbooks Use A Return Statement When Invoking Callbacks, Especially In A Guard Statement - Ben Nadel http://www.bennadel.com/blog/2323-Use-A-Return-Statement-When-Invoking-Callbacks-Especially-In-A-Guard-Statement.htm In a synchronous processing workflow, the Return statement tends to indicates the end of a given function's execution. In an asynchronous processing workflow, callbacks are more generally used to indicate the desired end of a given function's execution. That said, it is critical that a Return statement is also used in an asynchronous workflow in order to ensure that multiple callbacks are not invoked accidentally. This is a mistake that I have made many times and it always comes back to bite ... Read More » Wed, 01 Feb 2012 15:20:27 GMT http://www.bennadel.com/blog/2323-Use-A-Return-Statement-When-Invoking-Callbacks-Especially-In-A-Guard-Statement.htm jQuery Mobile 1.0.1 Released - Ben Forta http://forta.com/blog/index.cfm/2012/1/31/jQuery-Mobile-101-Released jQuery Mobile 1.0.1 has been released, full list of enhancements in this blog post. Tue, 31 Jan 2012 16:50:05 GMT http://forta.com/blog/index.cfm/2012/1/31/jQuery-Mobile-101-Released Using jQuery Deferred To Chain Validation Rules In An Asynchronous, Non-Blocking Environment - Ben Nadel http://www.bennadel.com/blog/2322-Using-jQuery-Deferred-To-Chain-Validation-Rules-In-An-Asynchronous-Non-Blocking-Environment.htm A while back, I blogged about how client-side validation is changing the structure of server-side validation ; with the client creating user-friendly error messages, the server can finally streamline its validation and data processing using a light-weight, exceptions-based workflow. While I really like this evolutionary step in data handling, I realize ... Read More » Tue, 31 Jan 2012 15:45:20 GMT http://www.bennadel.com/blog/2322-Using-jQuery-Deferred-To-Chain-Validation-Rules-In-An-Asynchronous-Non-Blocking-Environment.htm OpenCF Summit 2012 - Why You Should Attend - Sean Corfield http://corfield.org/blog/post.cfm/opencf-summit-2012-why-you-should-attend Last year I attended the first OpenCF Summit and I thought it was a great event for a number of reasons. It's back again this year, Feburary 24-26, in the same great location and it's just $72 for three days of collaborative education. What makes this conference so unique in the CFML world is that bridges beyond our community to worlds that would never normally see our favorite language. Last year, Chris Schalk came from Google to talk about their (free) platform services and to showcase CFML running on Google App Engine; Ean Schuessler came to talk about "Government 2.0" and open source software. The conference attracts people who are interested in open source but may not know that CFML has a burgeoning open source community and two thriving open source CFML engines. Ean Schuessler is back again this year, digging deeper into "Government 2.0" and mining that data thru RESTful APIs. The cloud is represented this year by Judah Johns of Jelastic. The reach of the conference expands to cover online payment processing with Dan Martin from MasterCard International, how investors view technology and open source with Jim Milbery of Chicago Growth Partners, how the City of Austin leveraged open source for a rebuild of its website with Matthew Esquibel from the City of Austin's IT group. These are key topics that speak to the viability of CFML in an evolving world where open source is gaining ground in almost every territory. These are topics you won't find at any other CFML conference! Even amongst the sessions given by members of the CFML community, OpenCF Summit offers unique content such as showing how you can use WebSockets with CFML today, how to manage deployments across hundreds of servers - real large-scale CFML, how CFML fits into an open source market. In addition to the sessions, there's training, unconferences and the application hackfest returns, which was a lot of fun last year, allowing people to collaborate in a team-based environment, using bug-tracking, version control, frameworks and cloud deployment - a unique experience for many participants - producing a valuable web application for a non-profit organization: very much the spirit of great open source software! If you attended last year, you know how much fun it was and what a great atomosphere the event created - and based on the folks I spoke to, a lot was learned about CFML in an open source world. If you missed last year's event, this is your opportunity to experience something different and very worthwhile, to learn and to contribute, to get a sense of the larger picture in which CFML exists today. What are you waiting for? Register for OpenCF Summit 2012 today! Tue, 31 Jan 2012 00:05:29 GMT http://corfield.org/blog/post.cfm/opencf-summit-2012-why-you-should-attend Ray Camden On Getting Started With PhoneGap - Ben Forta http://forta.com/blog/index.cfm/2012/1/30/Ray-Camden-On-Getting-Started-With-PhoneGap The latest Inspire Magazine is out, and it includes an article by our own Ray Camden on Combining your web skills with PhoneGap to build mobile apps. Mon, 30 Jan 2012 23:20:05 GMT http://forta.com/blog/index.cfm/2012/1/30/Ray-Camden-On-Getting-Started-With-PhoneGap RIACon 2012 - Ray Camden http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/GMRhzSukveQ/RIACon-2012 RIACon 2012 will be held August 6th and 7th in beautiful Rockville, MD at The Legacy Hotel and Conference Centre. The official call for speakers will begin next week, but for more information, check out the web site: http://www.riacon.com. I missed last year but hope to speak at this years conference! Mon, 30 Jan 2012 21:45:05 GMT http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/GMRhzSukveQ/RIACon-2012 Bad use of tablet space - an example - Ray Camden http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/3LhHba3LKco/Bad-use-of-tablet-space--an-example I came across something interesting in a tablet app today and I thought it was a great example of bad design. I hate to go critical, especially for a service I love, and especially since I'm no expert in tablet design myself, but I thought it would be a good illustration and a good discussion here.Late last year I discovered TripIt. Apparently everyone at Adobe uses it and I was just late to the party. It is - essentially - a way to track flights and trip information. It's real handy when you are traveling and need a quick way to look up your flights and hotel information. I used to simply copy and paste this information into an Evernote note called "Travel", and if I forgot to do so, I was screwed. Tripit makes this nicer though - especially since you can actually forward them emails from your travel agent. Anyway - go to the site - check it out - love it - etc. I've had the mobile version for some time now, but just today I decided to check out their iPad2 version. I was pretty surprised by how badly they made use of the tablet form. After selecting a trip, this is what you see: That's a heck of a lot of white space. I thought maybe I had hit the wrong button, but as far as I can see, that's the main view. To actually see your itinerary, you click the itinerary button to make it fly out: I find it really odd that the default view makes so little use of the space. Maybe there is other data that shows up there, but wouldn't the itinerary normally be the most critical information? Compare this to their Android version: I thought that was the end of it until I accidentally oriented my iPad into Landscape mode and saw this: Now that makes sense to me. So any ideas why the Portrait mode is so bare? As I said, maybe there is trip information folks store that normally show up there. I only use TripIt in a pretty basic manner so I may be missing something. Mon, 30 Jan 2012 18:15:06 GMT http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/3LhHba3LKco/Bad-use-of-tablet-space--an-example Bolt Talks – Do One Now - Henke.ws - ColdFusion http://www.henke.ws/post.cfm/bolt-talks-do-one-now I had the privilage to participate in a Bolt Talk with Tim Cunningham. If you are passionate about a project, topic, or pretty much anything related to programming, do one now. All you need to do is contact Tim. It was a great experience and easy since Tim handles recording and editing. BoltTalk "A BoltTalk is a short podcast with a single interview on a single narrowly focused topic of interest to people in the programming community. If you would like to talk to me for a few minutes on any topic that would be of interest to the programming community, for less than 15 minutes, please submit them to me via gmail: timcunningham71 . This article gives you more background on the genesis and purpose of a BoltTalk." Cloudy with a chance of tests Mike Henke talks about trying to introduce continuous integration and unit testing into his legacy code. Taking a "baby steps" approach he tells how he sets up a continuous integration environment, to test code changes even without unit testing. Bolt Talk: Mike Henke – Cloudy with a chance of tests Mon, 30 Jan 2012 16:45:44 GMT http://www.henke.ws/post.cfm/bolt-talks-do-one-now Best of JavaScript, HTML5 & CSS3 - Week of January 23, 2012 - Brian Rinaldi http://www.remotesynthesis.com/post.cfm/best-of-javascript-html5-css3-week-of-january-23-2012 In this new series of posts, I hope to share the best links I found over the prior week on the topics of JavaScript, CSS3 and HTML5. Those of you who follow me on Twitter or on Facebook may have seen many of these already, but it’s worth reviewing in case you missed some because, in my opinion, these are all posts you’ll want to bookmark for reference. Hopefully you find this a useful resource. A great reference and tutorial on JavaScript form validation from Adobe evangelist Raymond Camden. Raymond Camden's Blog: A look at JavaScript Form Validation This is looking pretty sweet. Seriously.js adds real-time effects to HTML5 video using JavaScript. Seriously.js: A Realtime, Node-Based Video Compositor for the Web - Badass JavaScript Video tutorial on how to use Douglas Crockford’s new JSDev tool for JavaScript testing and debugging by Andrew Burgess. Meet Crockford’s JSDev | Nettuts+ This is a really slick demo of PhotoBooth-style live video effects in JavaScript and WebGL. PhotoBooth Style Live Video Effects in JavaScript and WebGL - Badass JavaScript A really interesting and useful review of the top 10 Javascript MVC frameworks by Gordon Hempton. The Top 10 Javascript MVC Frameworks Reviewed - CodeBrief A great post with helpful JavaScript tips called “Captain Obvious on JavaScript,” was not so obvious to me. <a href="http://j.mp/zC5ya Mon, 30 Jan 2012 13:20:42 GMT http://www.remotesynthesis.com/post.cfm/best-of-javascript-html5-css3-week-of-january-23-2012 A long awaited update on coldfusiondocs.com - Anuj @ ColdFusion, Flex... http://www.anujgakhar.com/2012/01/30/a-long-awaited-update-on-coldfusiondocs-com/ I launched coldfusiondocs.com in December, 2007 and back then, it was a Flex based app. I got feedback from several people and everyone liked the app. However, for the past year or so, I have not been able to give it the time and attention that it deserves for several reasons. I have been keeping [...] Mon, 30 Jan 2012 11:00:28 GMT http://www.anujgakhar.com/2012/01/30/a-long-awaited-update-on-coldfusiondocs-com/ How I Got Node.js Running On A Linux Micro Instance Using Amazon EC2 - Ben Nadel http://www.bennadel.com/blog/2321-How-I-Got-Node-js-Running-On-A-Linux-Micro-Instance-Using-Amazon-EC2.htm In the past, I've dabbled with Node.js (a server-side JavaScript runtime environment) on my local MacBook Pro. If you know JavaScript, it's not too hard to get something up and running on your local machine. Putting Node.js out into the wild, however, is whole other beast. Not only am I mediocre at managing web servers in general, I happen to know almost nothing about Amaz ... Read More » Sat, 28 Jan 2012 00:15:19 GMT http://www.bennadel.com/blog/2321-How-I-Got-Node-js-Running-On-A-Linux-Micro-Instance-Using-Amazon-EC2.htm Searching across all resources in Chrome - Ray Camden http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/jL9rLeTo3uY/Searching-across-all-resources-in-Chrome Thanks for this goes to Paul Irish. For a while now I've been trying to find a way to search for a value across multiple files that are loaded in a browser request. But every time I used the Search field in Chrome Dev tools, it would only search the current file. I'm talking about the highlighted search field below: Yes - I know - my MSPaint skills suck. ;) As I said, that only searches the current file. If there are a bunch of JavaScript files in one request, you're screwed unless you feel like manually switching from one to another. But it turns out there's another search form you can open with ctrl-shift-f (cmd-opt-f on OSX): Not only will it search across all files (not just JavaScript), it supports case sensitivity and regex based searches as well. Anyway - thanks again to Paul for sharing the tip and I hope it helps others. Fri, 27 Jan 2012 22:55:06 GMT http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/jL9rLeTo3uY/Searching-across-all-resources-in-Chrome Thibault Imbert Introduces Flash Player 11.2 And AIR 3.2 Beta 4 - Ben Forta http://forta.com/blog/index.cfm/2012/1/27/Thibault-Imbert-Introduces-Flash-Player-112-And-AIR-32-Beta-4 Thibault Imbert has written a great post Introducing Flash Player 11.2 and AIR 3.2 Beta 4 and Stage 3D support. Fri, 27 Jan 2012 17:00:10 GMT http://forta.com/blog/index.cfm/2012/1/27/Thibault-Imbert-Introduces-Flash-Player-112-And-AIR-32-Beta-4 A look at JavaScript Form Validation - Ray Camden http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/p9X_u26n9w4/A-look-at-JavaScript-Form-Validation Validating forms with JavaScript has been possible since the very beginning of time... or at least the introduction of LiveScript (the original name before the marketing drones got ahold of it). While it's not particular new or as exciting as Canvas based games, JavaScript form validation is one of the best uses of the language (imo) and something that can dramatically improve your user's experience. I recently had a reader ask how to do JavaScript form validation so I thought it might be nice to write up a simple tutorial. This is not meant to cover every possible way, of course, and will be a very manual approach (no frameworks or plugins!) to the problem. As always, I welcome folks comments and suggestions below. Before we write a lick of code, let's look at this topic at a high level. JavaScript form validation comes down to four basic steps: The first thing you must do is prevent your forms from doing their default behavior - submitting. There are a few ways of doing this but our method will focus on simply listening for the submit event for the form. One tricky thing here to watch out for is ensuring our code doesn't have any errors. Yeah, sure, we should always do that, right? Well one thing that may trip you up is that if an error occurs in your code then the browser will go ahead and submit the form as if nothing happened. This is probably a good thing for the web at large, but during development it can be a bit of a pain. See my random tips at the end for a workaround for this. The next thing is to introspect the form and figure out what needs to be checked for what. So that's part technical ("how do I know what form field X is set to?") and part business ("what fields do I care about?"). Obviously this guide can't cover every detail, but hopefully it will give you enough to go on to build more complex form validation routines. The third concern will be reporting the error back to the user. Again, there are a couple of options here. You can use the old Alert prompt, which is ugly, but direct, or simply update the DOM with nice error messages. These can be on top of the form, to the side, underneath, or even next to the particular fields that are incorrect. Again, you've got options, but obviously you need to let the user know what in the heck is wrong. And lastly, you must absolutely 100% no excuses test your form with JavaScript turned off. While the amount of people without JavaScript is pretty minuscule, there are far too many sites that react badly when you submit a form with JavaScript turned off. I think it's perfectly reasonable to require JavaScript and simply return nothing, or a blunt error, to a user with JavaScript turned off, but you want to ensure bad things don't happen. Assume users will not send the right form fields, will send more data then you expect, less data, etc. Your form submission page is the exhaust port of the Death Star. It's dangerous. Ok, en Fri, 27 Jan 2012 16:20:06 GMT http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/p9X_u26n9w4/A-look-at-JavaScript-Form-Validation Performance Tip - CF Builder 2 Plugin on Windows 7 64 bit - ColdFusion Muse http://www.coldfusionmuse.com/index.cfm/2012/1/27/cfbuilder-performance-64bit-plugin The Muse is a slow moving tools user. I just switched to CF Builder about a year ago in fact. Before that I was using CF Eclipse. I still use the venerable Homesite for quick troubleshooting on production servers or to review code. I'm using it to write this blog in fact. I have written my blogs in hand coded HTML for many years - which I'm sure, explains the copious amounts of in-line CSS throughout. But I'm a full convert to CF Builder now and have been for some time. All my "Code-for-production" work is done using CFB with integrated SVN through a local environment. Recently on one of the email lists I follow I heard a tip from mad-genius Kevin Miller (Websolete.com). Like the Muse, Kevin runs CF Builder 2 on Windows 7 64bit as a plugin against a heavily customized version of eclipse 64bit. Also like the Muse he finds it to be an underachiever. CFB (or perhaps it's just 64bit Eclipse and we are throwing CFB in there unnecessarily) tends to use way more processor than seems necessary and at times seem to lag and catch up like a fat man at a marathon. On rare occasions when I'm editing large files or (in particular) browsing files on the network it simply peters out and needs to be defibrillated - also like the fat man I suppose. Of course I have edited the eclipse.ini file and I run a large heap. I've experimented with different GC's and other params. In the end I just kind of assumed that.... well that it was a dog like many Java desktop apps (don't judge me). And at age 46 I've learned to settle for a lot of things, so I was reasonably content to simply live with it. I know - it sounds horrible when I write it down like that (doh!). But Kevin suggested switching from javaw.exe to the jvm.dll by adding the "-vm" switch. I had assumed that "javaw.exe" was necessary because it builds a Windows GUI. But that "GUI" is not the Eclipse gui (at least I don't think so). More likely it is that annoying system tray thingy that keeps begging me to let it spout all the wonderful things Oracle is doing while it upgrades my SDK. Anyway, with a little trial and error I found that Eclipse runs splendidly using the jvm.dll and I'm having fewer lags and problems with. Kevin's post is here if you want the full story. Let me add to his comments that I had a bit of trouble finding the right "jvm.dll". The first one I tried was apparently 32 bit. The one I needed was in the jre6 folder - which eventually I found installed elswhere on my machine. Thinking back I think the SDK install does ask for a specific location for those files - so that makes sense. Once I had right path I opened my eclipse short cut and added.. eclipse.exe -vm "C:\Program Files\Java\jre6\bin\server\jvm.dll"...to the ta Fri, 27 Jan 2012 15:35:42 GMT http://www.coldfusionmuse.com/index.cfm/2012/1/27/cfbuilder-performance-64bit-plugin Cool Stuff with the Flash Platform - 1/27/2012 - Brian Rinaldi http://www.remotesynthesis.com/post.cfm/cool-stuff-with-the-flash-platform-1-27-2012 A busy week (or so) of posts. The hot topic lately seems to be not just Stage3 but specifically 2D game development using Stage3D. Each week seems to bring upates to new or existing game engines and frameworks for 2D game development as well as tutorials on the topic. This week is no exception. Cool Stage3D Stuff A new version the Genome2D framework (version 0.3.5) was released and includes a number of new features including texture filtering, texture pivots and a number of new components. In addition, a demo is shared showing the work on a Genome2D physics extension that is being developed. Aymeric Lamboley announces a new version of the CitrusEngine for 2D games that supports Stage3D and Starling. In addition, the new version includes new objects, a level manager and class for storing game data. Jean-Marc Le Roux of Aerys shows how to achieve a cell shading effect in a single pass on 3D objects using Minko, Stage3D and Flash Player 11. Jackson Dunstan demonstrates a simple Stage3D-based sprite class to demonstrate how Stage3D is used in 2D game frameworks such as Starling and ND2D. Flash Daily is a great resource for seeing what the community is doing with Stage3D, and this week was no exception. The first post shows a 3D Earth rendering that also includes Facebook integration to map where your friends are. The next post links to an impressive demo illustrating lighting and depth of field using Away3D. Finally, this post links to a number of resources and tutorials for getting started with Away3D 4.0. Richard Lord explains entity frameworks for game development in the wake of his recent release of Ash for ActionScript 3. Pete Shand shares an example of how to achieve backwards compatibility with Flash Player 10 when using Stage3D in Flash Player 11. Cool ActionScript/Flash Stuff Adobe's Thibault Imbert introduces the Flash Player 11.2 and AIR 3.2 beta4 and the advances the runtimes are making related to Stage3D and how this affects Flash Fri, 27 Jan 2012 14:45:35 GMT http://www.remotesynthesis.com/post.cfm/cool-stuff-with-the-flash-platform-1-27-2012 CF-FireLogger Brings ColdFusion Support To FireLogger - Ben Forta http://forta.com/blog/index.cfm/2012/1/26/CFFireLogger-Brings-ColdFusion-Support-To-FireLogger FireLogger is server logger console for Firebug with built-in support for Python and PHP. CF-FireLogger adds ColdFusion support to FireLogger, enabling logging of information from within ColdFusion code directly to the Firebug/FireLogger console. Fri, 27 Jan 2012 05:25:05 GMT http://forta.com/blog/index.cfm/2012/1/26/CFFireLogger-Brings-ColdFusion-Support-To-FireLogger Is Adobe ColdFusion Web Application Construction Kit series bad for new CFML developers? - Henke.ws - ColdFusion http://www.henke.ws/post.cfm/is-adobe-coldfusion-web-application-construction-kit-series-bad-for-new-cfml-developers I remember when I started programming ColdFusion fresh out of college in 1999. I had a 3 day HTML class which was my first exposure to HTML, then read books. I would "buy" the Dummy series, then return them unmarked for a more advanced book on the same subject covering ColdFusion, SQL, and HTML. The Adobe ColdFusion Web Application Construction Kit (CFWACK) book was my bible along with a ColdFusion video series. Flash to today, would I recommend someone learning ColdFusion the CFWACK book. Most likely not, the content has been updated for ColdFusion releases but the methodology has not. It seems to still teach on a procedural methodology not Object Oriented approach. Is Adobe ColdFusion Web Application Construction Kit series bad for new CFML developers? I would say yes, it teached how to create a mess with unmaintainable code. We aren't developing web pages anymore but web applications. Even though the title says "web applications" the book misses this point. On Amazon, I looked inside Vol 1 and the first CFML code the reader is exposed to is one template with a query, html, cfoutput in "Introducting ColdFusion". I am guessing Chapters 11 Creating Data-Driven pages and Chapter 14 Using Forms to Add or Change Data are the same procedural mess with the dreaded display/action page methodology. It appears the first mention of CFC is Part 5, Chapter 24. Also CFWACK series is huge, Vol 1 is 600 pages. This being said, I would recommend several ColdFusion books for new CFML developers. ColdFusion 9 Developer Tutorial Object-Oriented Programming in ColdFusion ColdFusion ORMAdobe ColdFusion 9 documentation set (pdf/html):Installing Adobe ColdFusion 9Configuring and Administering Adobe ColdFusion 9Developing Adobe ColdFusion 9 ApplicationsAdobe ColdFusion 9 CFML Reference You were able to purchase the Adobe ColdFusion documentation set for a ridiculously low price around $50 dollars but I am not sure if it is still printed with the most recent ACF release. Not Adobe but Railo 3 Beginner's Guide covers CFC in chapter 3, about 70 pages into the book.< Thu, 26 Jan 2012 16:10:38 GMT http://www.henke.ws/post.cfm/is-adobe-coldfusion-web-application-construction-kit-series-bad-for-new-cfml-developers Extending Classes In A Modular JavaScript Application Architecture Using RequireJS - Ben Nadel http://www.bennadel.com/blog/2320-Extending-Classes-In-A-Modular-JavaScript-Application-Architecture-Using-RequireJS.htm Yesterday, I tried to apply some deep thinking to how dependencies should be managed in a modular JavaScript application architecture that is using RequireJS . The conclusion that I came to was that RequireJS should manage and load "definitions" while your application should manage and load "instances." This makes sense since instantiation is the domain of your business ... Read More » Thu, 26 Jan 2012 15:30:25 GMT http://www.bennadel.com/blog/2320-Extending-Classes-In-A-Modular-JavaScript-Application-Architecture-Using-RequireJS.htm A database utility class for PhoneGap - Ray Camden http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/19ispTvPjP8/A-database-utility-class-for-PhoneGap I've done a few projects now that make use of PhoneGap's database support. Like most things in PhoneGap, it just plain works. But I've encountered a few things I thought could be done a bit easier, so I've built a simple utility class for my future projects. I thought I'd share it with folks and see if it would be useful for others. My utility library has the following features: executeBatch: Given a file path (via URL), you can have PhoneGap read in an XML file that contains a set of SQL commands. So for example: myDbController.executeBatch("sql/createtables.xml",successHandler,errHandler); Where your XML would look like so: create table foo if not exists foo(....) create table moo if not exists foo(....) This was done to support the fact that unlike Adobe AIR, the SQLite support in PhoneGap doesn't allow you to ship a pre-populated database. (Although it is possible via a workaround: Prepopulate SQLite DataBase in PhoneGap Application.) The syntax for this was based on work from my fellow evangelist, Christope Coenraets. executeSql: As you can guess, this simply wraps up executing SQL. While PhoneGap doesn't make this necessarily hard, I found the API a bit awkward in terms of all the callbacks you had to use. ("All" sounds like a lot - it's more like two - but you get the idea.) So for example: dbController.executeSql("select * from notes", gotNote, errHandler); The other nice thing this will do is automatically take the result set and return it as a simple array of objects. Again, it's not difficult to work with the normal result set, this is just a bit simpler. Finally, the class has a simple init() handler that sets up your connections for you. What makes it nice is that it can also automatically call your batch scripts for you. So for example: dbController.init("main","data/seed.xml",dbReady); The code is below and is free to use by anyone. var DBController = function() { var db,success,failure; return { init:function(name,importscript,successHandler) { //todo - allow for version db = window.openDatabase(name,"1.0",name,100000); if(typeof importscript !== "undefined") { console.log("being asked to run a script"); if(typeof successHandler === "undefined") throw "Invalid call - must pass success handler when importing data"; this.executeBatch(importscript,successHandler); } }, executeBatch:function(path,successHandler,errorHandler) { success=successHandler; failure=errorHandler; $.get(path, {}, this.gotFile, "xml"); }, //sql, successH Thu, 26 Jan 2012 15:10:06 GMT http://feedproxy.google.com/~r/RaymondCamdensColdfusionBlog/~3/19ispTvPjP8/A-database-utility-class-for-PhoneGap World Singles at Clojure/West - Sean Corfield http://corfield.org/blog/post.cfm/world-singles-at-clojure-west I was very pleased today to get confirmation that my team are all going to Clojure/West in San Jose in March! We've been a CFML house for a decade but we're using Clojure more and more on the back end to provide a high-performance, concurrency-safe foundation for our application. Back in December a couple of us attended Clojure/conj, with three days of Clojure training for one of our team. Now we're training up another team member on Clojure, and in March three of us will attend the Clojure conference, with training on Cascalog (big data analysis) for one of our team. It's an exciting time to be a developer! Thu, 26 Jan 2012 09:00:42 GMT http://corfield.org/blog/post.cfm/world-singles-at-clojure-west Java, CFML and Frameworks - Sean Corfield http://corfield.org/blog/post.cfm/java-cfml-and-frameworks I get a lot of emails asking questions. Some of them come in directly to me, some via the Contact page on my blog. With the latter, developers have to provide an email address. Most developers seem capable of doing this, but every now and then someone fills out the form with a bunch of "demands" and fails to provide a correct email address. It's not really that hard, so when I write a long reply and it bounces, I usually think "What a dick!" and forget about it. I recently received a question with a bad reply address from an Indian software developer and I wrote a fairly long reply, frustrated at both their tone and the lack of useful context in their question. It bounced. I moaned on Twitter about how frustrating it was that Indian software developers send "demands" for assistance yet can't even provide their correct email address for a reply. A friend suggested I blog the answer anyway, so lazy people can read it without needing to provide an email address. Let's call the Indian developer "Ankit" and here's the answer that they would have received, if they'd been smart enough to provide a valid email address: I am a Java Developer. I used to develop webapps in plain CFML couple of years back. OK, were you a Java developer first? Or a CFML developer? What's your background? Procedural? OOP? Scripting? Compiled languages? What frameworks have you used in what languages? It would be grateful of you if you help me by suggesting a framework according to my needs. Impossible to say given how little information you've provided. Currently I am planning to use Railo for the first time for my project and I want to use Java and CFML. I want to use a MVC framework in which I could implement my model services in Java. Well, you can probably do that with any CFML MVC framework. I saw couple of your blogs and presentations about various frameworks and Railo. I wanna know which framework would have best support for Java Objects while still being supported by Railo. Your question doesn't really make sense. CFML interoperates with Java (or Groovy or Scala or Clojure or...) really well. Frameworks don't make that easier or harder, assuming an OO model. Frankly, I think Java is a terrible, rigid language and not worth using with CFML. Groovy for the model would make sense because it is relaxed and dynamic. Scala for the model would make sense for its conciseness and power. Clojure for the model makes sense because it is the best of dynamic scripting with the power of immutability and easy concurrency and data manipulation. Java is... an awful choice in the context of rapid application development, which is what CFML and Railo are all about. If you could suggest me something or provide me a reference to study, it would be very kind of you. I Thu, 26 Jan 2012 09:00:42 GMT http://corfield.org/blog/post.cfm/java-cfml-and-frameworks Configuring and Running Railo Powered CFML Applications on Jelastic Cloud - Akbarsait ColdFusion Web Log http://www.akbarsait.com/blog/index.cfm/2012/1/25/Configuring-and-Running-Railo-Powered-CFML-Applications-on-Jelastic-Cloud I have been watching the Jelastic Cloud for almost a month and finally I gave it a try last week. The team behind Jelastic did all the ground works for us to get up and Running with Railo in their environment. I have configured Railo and created a sample job search application railoweb.akbarsait.com and hosted it in their Cloud in just 10 minutes time. [More] Thu, 26 Jan 2012 05:00:20 GMT http://www.akbarsait.com/blog/index.cfm/2012/1/25/Configuring-and-Running-Railo-Powered-CFML-Applications-on-Jelastic-Cloud Nginx redirect www to non www domain - Pete Freitag http://www.petefreitag.com/item/802.cfm I've been playing around with Nginx web server over the past few days, its a great light weight web server, ideal for VPS's or smaller Amazon EC2 instances where resources are not as abundant. One thing I like about nginx so far is the configuration, while I haven't had to do anything overly complex with it yet, it does seam to be quite flexible. Here's a quick example of redirecting a www domain to the non www version: server { listen 80; server_name www.example.com; rewrite ^ http://example.com/ permanent; } Note that's just one way of doing it, by creating a new virtual server for the non-www hostname and redirecting all requests. You can also do this from within your main server declaration, eg: server { listen 80 if ($host != 'example.com') { rewrite ^ http://example.com/ permanent; } } I like the first method better, but this just goes to show how flexible the configuration is for nginx Wed, 25 Jan 2012 21:05:06 GMT http://www.petefreitag.com/item/802.cfm Managed Dependencies vs. Dependency Injection In RequireJS - Ben Nadel http://www.bennadel.com/blog/2319-Managed-Dependencies-vs-Dependency-Injection-In-RequireJS.htm In my journey towards understanding modular JavaScript application architecture, I've been using a lot of RequireJS . The RequireJS framework facilitates the organization and then the subsequent loading of in ... Read More » Wed, 25 Jan 2012 15:45:20 GMT http://www.bennadel.com/blog/2319-Managed-Dependencies-vs-Dependency-Injection-In-RequireJS.htm