Playing with ColdFusion 10 locally on IIS 7.5 and Windows 7

My (current) preferred setup for developing on ColdFusion 10, IIS 7.5, ColdFusion Builder 2 on Windows 7.

TL;DR

My (current) preferred setup for developing on ColdFusion 10, IIS 7.5, ColdFusion Builder 2 on Windows 7:

  1. Create the CF Builder project
  2. Add a virtual host
  3. Add the IIS site
  4. Add the virtual host to the CF Builder server
  5. Update CF Builder project to use the new virtual host
Not Too Long; Did Read

Something new I’m trying at Security Labs is doing more local development, then pushing to a development server for testing. In the last couple of days, I’ve played with some setup, and I think I found the right mix for me.

Creating the ColdFusion Builder Project
  1. Right-click in the Navigator
  2. Choose New > ColdFusion Project
  3. Complete Project Details
    • Project Name
    • Use Default Location or Choose another location
    • Choose CFML Dictionary Version (probably ColdFusion 10)
  4. Click Finish

Adding a Virtual Host

  1. Launch Sublime Text 2 as administrator
  2. Go to File > Open File…
  3. Navigate to C:\Windows\System32\drivers\etc
  4. Select “hosts”
  5. Click Open
  6. Add a new entry like:
    • 127.0.0.1    testing.dev
  7. Save
  8. Ctrl + W to close the file
  9. Ctrl + W to close the app
Adding an IIS Site
  1. Launch IIS 7.5
  2. Expand to Sites
  3. Right-click > Add Web Site…
  4. Fill out web site details
    1. Name: project name above
    2. Select “ColdFusion” for the Application Pool
      • This is a custom Application Pool that I made. It’s probably not necessary, and I don’t quite understand the settings.
      • .NET Framework version: No Managed Code
      • Managed pipeline mode: Classic
    3. Browse to physical path for your files from above
    4. Connect As…
      • I use my Windows domain user
    5. Test Settings… should be all green
    6. Host Name: virtual host above
  5. Click OK
  6. Right-click the site > Add Virtual Directory…
    • Alias: jakarta
    • Physical Path: C:\ColdFusion10\config\wsconfig\1
  7. Right-click the site > Add Virtual Directory…
    • Alias: CFIDE
    • Physical Path: C:\ColdFusion10\cfusion\wwwroot\CFIDE
  8. Click OK
Adding a Virtual Host to a Server in ColdFusion Builder
  1. Right-click the server > Edit Server
  2. Click Next >
  3. Click Virtual Host Settings tab
  4. Click New
    • Name: project name above
    • Host Name: virtual host above
    • Port: 80
    • Type: http
    • Document Root: path to project above
  5. Click Apply
  6. Click Finish
Updating ColdFusion Server Settings in ColdFusion Builder
  1. Right-click the project > Properties
  2. Select ColdFusion Server Settings
  3. Choose appropriate local server-host name
    • Note: the Sample URL should use your virtual host from above
  4. Click OK

cf.Subjective() 2012

Reflections on attending my first cf.Objective() Conference.

I’ve heard cf.Objective() called “the [CFML] community’s conference.” Adobe’s MAX is all bombast and big budget, but cf.Objective() is where people go to learn, grow, and network. I can safely say, during my first experience at this conference, that reputation shone brightly through.

This year’s CF Objective (can I spell it this way, for now?) was held mid-May in Minneapolis, MN, but it connected CFML programmers and enthusiasts from across the globe. Speakers came from all sorts of backgrounds and organizations, including some from Google and a nice showing from Adobe. Some talked about technologies they use, some about technologies they’ve built, and some just shared their experiences in this crazy world of web development.

The conference kicked off with Adobe employees giving the keynote. Coincidentally (or was it?), ColdFusion 10 was newly released, and the focus of the keynote was to show off and expound on all the cool new features that were available. While it was a well executed plug for the brand new version of their product, it did introduce me to some features I wasn’t aware of; in particular, Adobe ColdFusion 10 has taken a strong stance in supporting HTML 5 technologies.

Nearly every session I attended felt worthwhile, interesting, and useful. One of my favorite speakers was Nathan Strutz, whose first presentation was technically disastrous but whose later presentation was awesome. LESS CSS, Meet ColdFusion fired me up about this popular CSS preprocessor. I had tried it several versions back, and his talk inspired me to play with it again. As much as I love pure CSS, I definitely began to see how using a pre-processor could increase my productivity. I even had a chance to talk to him in person, after the talk, and we discussed our equal frustration with the way Chrome handles loading localhost JavaScript files.

Pete Freitag is a guy who has ColdFusion security on his mind all the time. Maybe that’s overstating a little, but his company and web tools, like Hack My CF, are built around the mantra of “secure your stuff”. I knew he had a strong focus on CF security, but his talk really did outline how much he knows and thinks about this stuff. “Writing Secure CFML” was a great summary of security tips for all CFML writing and some of the new security features in ColdFusion 10.

New to CF Objective this year was a JavaScript development track. I’m unique in that I play pretty equally in the CFML arena and the HTML/CSS/JS arena, and I forgot that a lot of (most of?) the CFML world has no idea what’s on the other side of the fence. That said, the JavaScript talks I went to were far from elementary. Jason Kadrmas had a great talk on building HTML 5 games with PhoneGap, Steve Stroz also gave PhoneGap some love, and Elliott Sprehn discussed AngularJS. Elliott’s talk got me excited about AngularJS – and I immediately ran to go play with it – but the JavaScript talk I enjoyed the most was Simeon Bateman‘s “Node.js And You“. What I liked about it was that he gave the standard “build a web server” demo, and then told us, “But that sucks. Who wants to build their own web server?” I’ve played with Node.js and worked through the standard demos, but he built on all that and showed some of the really cool things you can do with it.

My favorite talk was also one of the longest; it was “Running CFML on Apache Tomcat: Deep Dive” by Matt Woodward. I first became aware of Matt’s expertise thanks to the podcast he used to do, ColdFusion Weekly. This session was one of the best at balancing the lecture and the lab. We got a lot of hands-on time, but we weren’t just thrown to the wolves. In the end, I learned a lot and had something to show for it.

Long story short, it was a great conference. There are fantastic speakers and sessions; there is a strong community showing; and (for me, at least) there is a convenient location. For any CFML developer wondering, I absolutely recommend cf.Objective().

Was It Saturday?

Sometimes you just need to know whether it was a Saturday or not.

Have you ever had a date in your head, and wondered to yourself, “Did that happen on a Saturday?” Then, did you wish that there was a web app dedicated to just that, but not a calendar?

Oh, you didn’t? Not at all? Well, I did, and that’s what this project is.

About the Project

Let me give you some background. We were working on a project where the creative direction called for the very quick, specific knowledge of whether a date happened on a Saturday.

Obvious techniques would involve clicking over to a calendar, and browsing or searching for the date in particular. This works great for a small number of dates: one, two, a dozen, twenty-five. What if you have hundreds of dates to check? Then it might be nice to have a little app that gives you the skinny on the Saturday.

Demo

Demo the app at awayken.com/saturday.

Code

The app is written in CFML and uses a Google webfont. Otherwise, there’s nothing significant about it. Fork it at github.com/awayken/Was-It-Saturday.

Never wonder whether ’twas Saturday again.

Announcing: An Awayken.com Blog!

Awayken.com adds a blog. You’re welcome.

Welcome to the Awayken.com blog!

So…  you might be confused. This is still Of Miles Rausch, but I’m going to be putting some development (read: boring) stuff up here occasionally. This move has been a while in the waiting. (Don’t confuse that with thinking I’ve been working on this blog for a while. It’s just been that I’ve been meaning to add a blog to this site for, well, ever.)

I’m planning on putting general programming thoughts here. It might be an “Awayken Autopsy”, where I dig into a website or webpage and try to figure out how it ticks. It might be “Get the Gist”, where I analyze a simple script or file and embed it for perusal. It might be a new project I’m working on. It might be a complaint. It might be boring. It might be interesting.

Prepare for boring.