Coldfusion Scopes

So today I got a fun email. One of our web service tools stopped working suddenly and was returning the error message "Variable FORM not defined". This struck me as odd, because as far as I knew, the FORM scope should always be in existence.

After doing a little reading I learned this isn't always the case. It turns out that when rendering a WSDL address, the FORM scope never exists. This means that anytime you use either an optional form element or directly reference form, it MUST be explicitly defined somewhere in your page. This should also be taken into account if you are still using application.cfm as, of course, this file will be part of your WSDL files source code.

As a rule of thumb, one should never expect a specific scope to exist in application.cfm/application.cfc, since it can be used across all page rendering views. Additionally, different scopes can be available at different points in the rendering of a file. An obvious example being during OnApplicationStart. At this point in the page rendering, SESSION isn't yet available, however APPLICATION is.

Remember: Always scope your variables, not just because of the above information, but also because it can become very cumbersome to attempt to figure out the exact scope of a variable once it's deep in code.

Mobile Video in the Enterprise

Interesting and very practical article from Andy Howard on mobile video in the enterprise.

http://www.nojitter.com/post/232300396/does-your-mobile-device-do-video

Help Wanted: Web Application Developer

Ravenglass Technologies, Inc., located near Syracuse, New York (USA) is seeking a full-time Web Application Developer.

Degree in Computer Science or related field required. Must have demonstrable experience with HTML, AJAX, CSS, and SQL. Web application development experience in at least one of the following: ColdFusion, JSP, ASP.NET, or PHP. Mobile application development experience is a strong plus.

Professionalism and strong communications skills are a must. Salary plus full benefits, flexible commuting arrangements considered. Apply with resume and cover letter to jobs@ravenglass.com.

SQL Prettifier (Lint) Tool

I have spent countless hours of my life staring at SQL code. While I made every effort to keep my own SQL neat, it's not always easy to decipher errors in complex queries - especially those in legacy code or written by developers who don't share my passion for code formatting.

Today I was fortunate to find an excellent SQL prettifier that analyzes code (like a lint-style tool) and formats it with proper capitalization, indentation, and so forth.

Here's the link; I hope it saves somebody time in debugging and managing SQL code as it has just done for me.

http://www.dpriver.com/pp/sqlformat.htm?ref=g_wangz

Connecting to HTTPS urls via CFHTTP when the imported certificate fails

Sometimes I find problems that a solution is everywhere for, however when I attempt to implement it, I find the fix still doesn't work. This is what I encountered when attempting to connect to a web service provider the other day. Here was my situation, I was connecting to a web service that happened to have its data on an HTTPS server.

For the example we'll call the server "HTTPS://TESTSERVER.EXAMPLE.COM/FOO/BAR". When I tried to connect I was met with the following error:

Using the steps on the following site, I was able to import the server certificate and get it inserted into our CACERTS file.

http://blog.flexuous.com/2008/04/22/install-server-or-ca-certificate-in-coldfusion-or-java-virtual-machine/

I still kept getting the "peer not authenticated" issue. At first I thought it could be that I was updating the wrong CACERTS file or maybe I needed to update another section. That led me nowhere however. Finally, I had to take a step back and review my assumptions. I reviewed the certificate and all it's attributes. The biggest one that stuck out was the URL. Remembering that Java is indeed case sensitive I decided to update the URL have the domain be lower case: https://testserver.example.com/FOO/BAR

I gave the URL a try and lo and behold the process connected! I was happy to see this result, but I wanted to know exactly which part of the URL was causing the problem. I changed the subdomain testserver to upper case. The URL still worked not surprisingly, since the certificate is related to the domain specifically. What did surprise me was when I changed the domain to upper case. The connection still worked. Changing the only thing left to change, I updated the "https" to upper case. This duplicated the error.

My takeaway from this experience: If you're going to be creating CFHTTP calls, make sure your HTTPS text is lower case.

-Jonny

How I (Isaac) got started in ColdFusion

When I started coding ColdFusion it was not even on my radar, nor was web development.

I needed an internship badly the summer of my junior - senior year at college and had exhausted most my resources with no luck. I received no call backs from intern applications to random tech companies and had no leads in what exactly I wanted to do after school.

That's when a friend in one of my senior project classes said that the place he worked "Web Services @ Hamilton College" was looking for interns. I applied for the position and was called back immediately for an interview. My friend had mentioned that the position was for a "ColdFusion developer" so the night before the interview I took some online lessons and read up on ColdFusion just so I was not going into the interview blind.

The interview was going great when I eventually was asked..."so have you ever used ColdFusion?"...I replied..."Sure, just a little...I am cfsetting and cfdumping and stuff." That response which got everyone within earshot laughing would eventually go down as legend. Needless to say I got the position as a junior developer and the rest is history.

I spent my days as an intern learning CF and working on small web applications and scripts. The work experience I gained at Hamilton College programming web applications and maintaining CF code landed me the position I am in now at Ravenglass Technologies a year and a half later.

ColdFusion has shown me that programming web applications and systems can be fun and rewarding and that it is what I want to do for the rest of my life, and best of all ColdFusion has lead me to a great career at a great company.

Thank you ColdFusion!

-Isaac

Adobe Presentation and Big Attendance at ColdFusion Users' Group Event

Wednesday's ColdFusion User's Group event at ITT Technical Institute was a rousing success! Ravenglass sponsored the event, and more than 50 group members heard Josh Adams from Adobe Systems present ColdFusion Builder 2. Ravenglass thanks Josh as well as CFUG leaders Pete Freitag and Brian Love for organizing the program.

Employment Opportunity with Ravenglass

Ravenglass Technologies (Cazenovia, NY) is seeking a Summer Intern or Temporary Subcontractor interested in web and mobile application development.

The successful candidate will be pursuing or have recently completed a degree in Computer Science or a related field, and must demonstrate knowledge of programming and database fundamentals. Web development experience with PHP, ASP.NET, or ColdFusion is preferred. Familiarity with mobile application development for iOS or Android is a strong plus, as is practical experience with the administration and networking of desktop computers and mobile devices. Professionalism and strong communications skills are a must.

Opportunity for part-time or full-time ongoing employment beyond Summer 2011 for the right candidate. Apply with resume and cover letter to jobs@ravenglass.com.

MSSQL Job Error: The owner () of job <Job Name> does not have server access

The other week I noticed some of the Jobs that we have scheduled in our MSSQL setup had started repeatedly failing. They were giving the message, "MSSQL: The owner () of job <Job Name> does not have server access".

I thought this was weird, especially since other jobs were running fine. I investigated a little further and found this forum that discussed this issue.

What I gathered is that if using the DOMAIN/Username (Windows Login) syntax for the Owner field when setting up a job, sometimes after a server restart it has trouble verifying the admin privileges to allow the job to actually run.

The ways to fix this are:

[More]

Ravenglass hires two new developers

BRIAN CAUFIELD and CATHERINE TUXBURY have been hired at Ravenglass Technologies, Inc., a technology consulting and software development company in Cazenovia. Caufield, of Syracuse, is a mobile solutions specialist. He is a graduate of the State University College of Environmental Science and Forestry and worked for Time Warner Cable, in Syracuse. Tuxbury, of Baldwinsville, is knowledge manager. She is a graduate of Bates College, Lewiston, Maine, and worked for Time Warner Cable, in Syracuse.

More Entries