Tag Archive for coldfusion

CF Summit 2013 Rant

I was unable to attend the summit, which is too bad.  I love Vegas in October and I love ColdFusion… great combination.  Most importantly, it seems like everyone who was able to attend had a great time.

On the flip-side, the coverage outside this event has been HORRIBLE!  Beyond bad!  Aside from Ray’s post (of whom I share the same sentiment as the first commenter), where’s the blog entry covering everything that happened at the event with slides of the presentations (thanks to the dude on twitter who shared the dropbox link)?  In that entry there should also be links to all the slides of those who presented.  How about bullet points of all the new features covered in CF11 including the cfclient crap nobody wants (and maybe at least try to sell us on it).  How about an official response regarding the stolen source code.  Honestly I’m still miffed about EOL Dreamweaver support… how about a meaningless apology followed by details, screenshots, etc on an improved CF Builder which I currently loathe, but dying to hear info on improvements because you know, CF Builder is still EXTREMELY inefficient to code with (seriously, it’s painful… like adding days, not hours, but days to projects) and I’m clearly not going to get CF11 Dreamweaver extensions.  How about maybe a shout out to what’s going on with ColdFusion Brackets support as well.

I’ve been hanging on the fence whether to continue ColdFusion development for future projects. Hell, Ben’s response to me in one of his blog entries was quite unsettling: ‘even ColdFusion at some point in the future will end up in maintenance mode‘.  To reiterate, Ben’s closing statements (according to Ray’s blog entry) further acknowledged: ‘it is no longer enough for us to be “ColdFusion developers” but rather “developers” instead‘, which isn’t really a big deal because this has really always been the case, but it is a big deal regarding what seems to be Adobe’s attitude toward ColdFusion as a language.  C is hanging around in forms that are being used to code all of our iPhone apps… so why does ColdFusion have to ever go into ‘maintenance mode’?  Java’s oldschool and so damn awesome that ColdFusion rides on top of it (lets not mention Java’s use on Android… or everywhere else lol).  It’s almost hard to swallow, but is maintenance mode the plan for ColdFusion with Adobe?  And it’s not like there was public information that came out of the event… if you haven’t read Ray’s post or followed Twitter, there was NO information period!  Thank goodness I was tipped off to follow the #cfsummit2013 hash tag on Twitter (make sure click on the all link at the top), but it is very difficult to sort through the nonsense and figure out the very little information that is relevant.  Nearly a week after the event we get an ‘official success‘ blog post with absolutely no information about the event… not even a picture!  So there’s an education program that’s long overdue (like so overdue it might be too late) and there’s statistics that nobody can validate but Adobe….

CFSummit also gave Adobe an opportunity to showcase both the current and future of the product and receive valuable feedback from the community.

Showcase what?  There’s not a single link, screenshot or code sample in the post.  This event was a success?  If getting from start to finish is what measures a successful conference, then I guess it was.  I was unable to attend so I know I’m missing the ‘conference high’, but I have certainly found nothing motivating, refreshing or exciting out of the conference to drive me to want to continue being a CF developer other than my current commitment to the language, my clients and their projects.  And I tried to follow the conference as closely as I could, but man I had to pry and dig for info.  Who the hell handles the press for this anyway [rhetorical]?  So I’m still on the fence and rapidly coming to a point where I must make a decision.

I was expecting this weekend geeky buzz/high on ColdFusion information for me to pick through and go over and there hasn’t been so much as a peep.  I used to show off features to clients when I was beta testing so my clientele could get a glimpse of how easy the cool new stuff was.  If you want to get people excited about ColdFusion again, the communication outside of this year’s summit is exactly how NOT to do it.  Hell, the headlines on ColdFusion in Google news are still on the source code being stolen nearly a month ago.  Was that covered at the conference?  There’s not even so much as an afterthought of the conference to be found anywhere.  Did it even happen?

I keep telling myself it’s irrelevant whether CF is dead or not because I use it (and like it).  But if I have to code an application that needs to last ten years, stay relevant and stay functional in ten years before it’s redeveloped (precisely why frameworks and MVC are unacceptable), I’m beginning to believe I need to look elsewhere.  Maybe I’m the last one to realize this… or do I wait till cf.Objective() 2014? /sad CF fanboy.

Adobe CC Deprecated Me!

So I spent the past day excitedly uninstalling all my CS6 software and “upgrading” to the new Adobe CC.  I didn’t want to believe Adobe would no longer develop Fireworks (which I find completely stupid and insane, but whatever), so I figured I’d spend the next 6-12 months teaching myself Illustrator… no biggie.  If Rogie can do it, I can do it.

Well not only is Fireworks dead, but lo and behold ColdFusion development has been completely removed from Dreamweaver!  What!?!  When was this announced?  What do I do?  I have work due by the end of the week… and I CAN’T REINSTALL CS6!!!  Seriously, I physically cannot get my work done!

Read more

Java 1.8 and ColdFusion 10

Ted Patrick retweeted a little blurb about Java 1.8 being released into the wild, so I immediately had to give it a go with CF10.  Unlike the myriad of problems I had trying to upgrade to Java 1.7 before the CF10 update 8, Java 1.8 worked without a hitch [on Windows 2008r2]!

I just stopped my CF10 service, uninstalled 1.7, installed 1.8, modified the java.home directory in my jvm.config file (CFdir\cfusion\bin\), restarted the service and presto!  It worked!

Now I have no idea what the benefits are other than the usual faster, more secure… blah, blah, blah… but finally!  Something that didn’t require jumping through hoops with Adobe.  Love it!  This is on my development server and I’ve looked at all my sites with only a brief look.  I’ll update this post if I notice anything good or bad as a result of the upgrade.

Screenshot and Java link after the break. Read more

CF10 Disaster Resolved… Sort-Of

So Adobe caught wind of my troubles and went out of their way to contact me (through e-mail and on the phone) to try and fix the issues I was having.  There were a few times when I think we were both gonna lose it (to be honest I’m just glad the same problems I had been having were arising for him), but after 75 arduous minutes, we were able to establish that ColdFusion 10 did in fact install (I knew this), indeed it was working (that was a revelation to me), but was not configuring IIS correctly with a previous iteration of ColdFusion having been on the server (CF9 in this case).

In my particular case (of both my win2008r2 servers), CF10 did in fact install, but did NOT update the mappings in IIS.  The key to my sites not working lied within the IIS Handler Mappings.  When installing CF10, none of the handler mappings were changed to CF10, it retained the old CF9 handler mappings.  This is both when I installed CF10 with CF9 already on the server and when I had removed CF9 from the server before installing CF10, in which the CF9 uninstall did not remove the IIS mappings (you get all that? lol).  Also worth noting is ColdFusion now uses ports on the 8007 and 8012… ports on my development server that were being used (each site in IIS had it’s own port to make it unique for development on the 8000 block of ports… I moved my stuff to the 8100 block).  Bear in mind that if you have a lot of sites (and I have like 20+ on each server), that changing all these mappings is a VERY time consuming and tedious process.  I had fixed IIS to the point it would render ColdFusion, but that was it (couldn’t render PHP or even basic HTML anymore).  Seeing no easy way to fix everything in a timely manner after tearing IIS apart with Adobe to find problems, I concluded a fresh reinstall of Win2008r2 was a better route to take (I tried removing and re-adding the IIS server role, but even that was gonna take some internal work to completely reset… bleh… reinstall). Read more

IIS7 UrlScan and ColdFusion

I was doing a security scan of my ColdFusion 9 server to make sure things were locked down (using the ever so awesome hackmycf.com) and I came across a warning for “Server Header Disclosure”.  This linked me to an article by Pete Freitag on how to fix this security risk on Apache with direction on how to fix it with IIS.

Well ummm… the direction got me to install UrlScan, but not how to fix it, and stupid me I spent a solid 15 minutes looking for a pretty icon in IIS to configure it via the GUI.  Oops.  Turns out the settings are in a simple text ini file in the following directory:

C:\Windows\System32\inetsrv\urlscan

Cool.  Now what the heck am I looking for?

First and foremost, take some time to familiarize yourself with the whole thing as it’s relatively short, but darn powerful.  And after you install, check your sites.  I have some older sites that don’t use SES URLs and the ‘&’ is blocked by default, which I had to change/comment out… so tweak as needed, but carefully.  For something I’ve never used before, I will definitely be relying on this tool heavily in the future… it’s just simple and awesome.

The setting we’re looking for, in reference to the warning we’re getting from the ever so rockin hackmycf though, is right near the top.  Change RemoveServerHeader from 0 to 1 and you’re done.  Smooth!

ColdFusion 10 Disaster

So I thought I’d spend my New Year’s Day messing around with some new CF10 features (namely sockets) on my development server with a 30-day-trial/developer edition to see if it’s something worth upgrading to this year, even though I’ve yet to find a single use relevant to any of my clients or any of the applications I’m creating (maybe I’ll find one right?).

Installation Hell!

I’m no IT admin, but I’m very adept with my way around Windows 2008 [R2] having used a Windows/IIS environment since Windows 2000 Server.  I’ve also never had a problem with a CF install… to the point where I was comfortable enough with CF that with CF9 I wasn’t afraid to tinker with settings.  Honestly, I don’t do anything special… I use a standalone instance of CF.

So when the “Cannot configure IIS connector” error popped up, it was no big deal to Google the error, open up the server roles and add the additional .NET services I was missing (I already had CGI installed for use with PHP… was just missing the others)… understandable.

I finished the installation with no problems.  I clicked the done button to launch the configuration wizard and got a 500 internal server error.

I did a bit of my own troubleshooting and quickly discovered the ColdFusion service didn’t start.  I also couldn’t manually start it.  No biggy… server reboot… the service started… same 500 error. Read more

Dreamweaver to CF Builder to Dreamweaver

So I’m a bit late to the party, but I had my reasons to not make the switch… namely my complete distaste for Eclipse (I’ve expressed this before).  I’m finding myself wanting more when I code cfscript, javascript and all that ajaxy stuff, so I finally forced myself to set aside my differences with Eclipse and approach CF Builder with an open and very clear mind.  I made the switch and started this article in October 2011 and just now wrapping it up after an in depth evaluation.

First, my work environment.

I have a live co-located server that hosts my final product.  I then have a separate development server in my home office which I use to create all my masterpieces.  I have a laptop which I’ve never really been comfortable coding with, but do use it from time to time.  And then there’s my crown jewel… my dual monitor workstation which I’m on nearly all day every day (would like to eventually add a third monitor).  The only reason I mention the dual monitors is that it’s imperative to my development… Dreamweaver CF Builder, Fireworks, Navicat & FlashFXP (all the development stuff) on the left and my browser is on the right (of course I test in every browser… no built-in rendering or troubleshooting tools needed for me), which I refresh as I go making sure I’m getting my desired outcome across all platforms.  And as I just mentioned, I use Navicat for all my SQL management (both Dreamweaver’s and Eclipse’s built-in SQL stuff is just laughable [and unnecessary]) and then FlashFXP for my FTP client (built-in FTP clients work fine… they just scare me.  I test over the local network and want to make sure I’m only uploading the final product, not risking overwriting anything important.).

Read more

CF HTML5 Validation Gotcha

I spent some time scratching my head over this one and thought I’d share.

<cfset userAgent = trim(listGetAt(CGI.HTTP_USER_AGENT, 2, ';'))> <!--- This only works for IE --->
<cfset outtaDate = 'MSIE 8.0, MSIE 7.0b, MSIE 7.0, MSIE 6.1, MSIE 6.01, MSIE 6.0b, MSIE 6.0'> <!--- List all the versions of IE that are out of date --->
<cfif ListFindNoCase(outtaDate, userAgent, ',') NEQ 0> <!--- We're not gonna bump em from the site, but we will display a warning to those visitors using the older versions of IE --->
<div class="outtaDate">You are using an out of date version of Internet Explorer and this site <b>WILL NOT</b> display correctly. If you are using Windows Vista or Windows 7, please use Windows Update and upgrade to Internet Explorer 9 or newer. If you are using Windows XP and earlier which cannot upgrade to Internet Explorer 9, please download the latest version of <a href="http://www.mozilla.org" target="_blank">Firefox</a>, <a href="http://www.google.com/chrome" target="_blank">Chrome</a>, <a href="http://www.opera.com" target="_blank">Opera</a> or <a href="http://www.apple.com/safari/" target="_blank">Safari</a> to see this site correctly.</div>
</cfif>

I’m using this code to identify older versions of IE that don’t support CSS3 and/or HTML5. Maybe I should be identifying browsers a better way, but the problem here lies within the listGetAt on line 1.

This code will trip up the W3C Markup Validation Service marking your code invalid with one of ColdFusion’s styles from an error… ColdFusion’s pumping out an error to the service… even though the running site won’t pump out an error at all.

Here is ColdFusion’s exception error to the W3C service:

In function ListGetAt(list, index [, delimiters]), the value of index, 2, is not a valid as the first argument (this list has 1 elements).&nbsp;Valid indexes are in the range 1 through the number of elements in the list.

I’m sure this isn’t a big deal since most people aren’t identifying browsers with their code or even coding in HTML5 for that matter, let alone valid HTML5 to use the W3C service (hopefully it’s more than I think).

Either way, I don’t know why the validator service is getting that error, having tested the code on virtually every browser without any problems (old and current alike). And I can’t really tell whether the problem is with CF or the W3C’s tool, but it’s not having any sort of effect on the live code, which is always a good thing.

CFX: Feature Requests Part 2 – New Tags & Functions

Before we get into the tags, I’d first like to mention I firmly believe SES URLs need to somehow make their way into ColdFusion.  The root of ColdFusion is making development life simple, and there is nothing simple about setting up SES URLs, particularly if you don’t know regular expressions.  I think this should be enabled/disabled at the application scope level and be a well thought out, simple process that doesn’t require IIS or Apache URL rewriting… it’s all done seamlessly in CFX.

With that said, here are some new tags I’d like to see:

  • CFTRAIL – This will leave a breadcrumb trail.  I initially thought this would be a feature that would require the use of SES URLs in the application scope, but thinking further, I think it could still be done with the developer providing parameters.
  • CFBROWSER – Web browser detection baby!

And while we’re at it lets add some parameters to CFLOCATION to allow delayed cflocating:

<CFLOCATION from="now()" delay="dd:hh:mm:ss" />

Lets also add a parameter to CFDIV to allow that loading icon to be customized:

<CFDIV icon="/images/yourAnimatedIcon.gif" />

This being ideal for loading user custom-created pages from a database, I think one of the features I would use the most is the ability to loop over cfcase in a cfswitch:

<CFSWITCH expression="#whatever#">
<cfloop query="yourQuery">
<cfcase value="#query.Column#"></cfcase>
</cfloop>
<cfdefaultcase></cfdefaultcase>
</cfswitch>

And finally some new functions I’d also like to see:

  • dollarformat() – oops!  Already exists.
  • encryptStruct()
  • encryptArray()
  • queryToArray(my.query,[dimension])

Coming next week
CFX: Feature Requests Part 3 – Everything Else

CFX: Feature Requests Part 1 – Addons & Frameworks

Even though I was unable to attend, Max 2011 produced some good things in the way of announcements for ColdFusion 10 (I like CFX better).  Most of what was announced though seemed like obvious steps forward of things that needed to be addressed, and not necessarily features that will make you jump out of your seat to line up and buy the product the second it’s released.  And I don’t really want to cover these features which can be easily found via Google.

Seeing as I’m not part of the alpha/beta of Zeus, what I do want to cover are some things that I believe would make CFX the product that would make you get in line and a product you can’t live without.

Today’s software and programming world is plagued with modularization. It is no longer just the language that is chosen for a project, but also the framework on which it’s built.

I am an anti-framework guy.  I honestly don’t get the buzz or see the benefit.  Inheriting someone else’s mistakes and relying on them because I’m too lazy to code the features myself isn’t a blessing for me or any of my clients.  It may save time to slap together a site in a few minutes, but does it really save time in the long run (and then have to keep that framework up-to-date… no thanks)?  Having jumped from framework to framework I’ve become a naysayer.  However, for the world of framework-lovers and the fact that ColdFusion is for everyone, lets modularize: Read more