Download Firefox -  a safer, easier to use web browser. Return to - Leap into the online experience! Return to - Leap into the online experience! - Leap into the online experience!

Project News :.

The latest project to launch was the site for Gorilla Offroad Company. Aside from their main site, a social media strategy was develop to launch the company into various industry specific automobile enthusist discussion board communities as well as popular social media fronts like Facebook, Pinterest, and Twitter.

Valid XHTML 1.0 Transitional

Valid CSS!

Section 508 Compliant

powered by: Macromedia ColdFusion MX

made with: Macromedia Dreamweaver MX

What is RSS

XML - often denotes RSS Feed information.

Macromedia - ColdFusion Programming
white horizontal rule

ColdFusion News :.

To bring a little life to my site, I've pulled a couple What is RSS Feeds into this page. You can currently choose between the technology related news stories from the following news sources:

You are currently viewing and RSS Feed from

Upload Files Directly to Amazon S3 using ColdFusion

Here's a quick example showing how to upload a file directly to Amazon S3 (bypassing your server). The tricky part in getting this to work is that you don't want to allow anyone to upload a file anywhere on your S3. To accomplish this you can create an AWS Access Control Policy, base64 encode it, and then sign it using HMAC-SHA1 with your AWS Secret Key. A policy is a JSON string that might look like this:

{ "expiration": "2014-11-26T13:23:00.000Z",
  "conditions": [
    {"bucket": "example-bucket-name" },
    ["eq", "$key", "image.jpg"],
    {"acl": "public-read" },
    {"redirect": "" },
    ["starts-with", "$Content-Type", "image/"]

To generate this policy dynamically we might do something like this:

<cfset expDate = DateConvert("local2utc", now())>
<cfset expDate = DateAdd("n", 15, expDate)><!--- policy expires in 15 minutes --->
<cfset fileName = CreateUUID() & ".jpg">
<cfsavecontent name="jsonPolicy">
{ "expiration": "#DateFormat(expDate, "yyyy-mm-dd")#T#TimeFormat(expDate, "HH:mm")#:00.000Z",
  "conditions": [
    {"bucket": "example-bucket-name" },
    ["eq", "$key", "#JSStringFormat(fileName)#"],
    {"acl": "public-read" },
    {"redirect": "" },
    ["content-length-range", 1, 1048576],
    ["starts-with", "$Content-Type", "image/"]
<cfset b64Policy = toBase64(Trim(jsonPolicy), "utf-8")>
<cfset signature = HMac(b64Policy, variables.awsSecretKey, "HMACSHA1", "utf-8")>
<!--- convert signature from hex to base64 --->
<cfset signature = binaryEncode( binaryDecode( signature, "hex" ), "base64")>

Because we are using the HMac function you must be on CF10+ or Railo 4.1+ if you are on an older version you will need to find a third party hmac implementation.

Next you create a form that posts directly to Amazon S3:

<form action="" method="post" enctype="multipart/form-data">
    <input type="hidden" name="key" value="#EncodeForHTMLAttribute(fileName)#" /
    <input type="hidden" name="acl" value="public-read" />
    <input type="hidden" name="redirect" value="" >
    <input type="hidden" name="AWSAccessKeyId " value="#EncodeForHTMLAttribute(variables.awsAccessKeyID)#" />
    <input type="hidden" name="Policy" value="#b64Policy#" />
    <input type="hidden" name="Signature" value="#signature#" />
    File: <input type="file" name="file" />
    <input type="submit" name="submit" value="Upload to Amazon S3" />

According to the S3 documentation there are some conditions in which the redirect will not happen:

Please note that the redirect is not guaranteed to be followed. It is possible that an upload would succeed, but that a networking problem on the end-users network prevents them from following the redirect. It is also possible that in certain failure conditions, that a file is actually uploaded but you are not notified about the upload.

To get around this uncertainty you can setup Event Notifications for the S3 bucket you are uploading to.

The other thing to note is that if an error occurs the redirect will not happen and the user will be presented with an XML error message. To handle that more gracefully you could upload the file via AJAX, and then handle the error condition within JavaScript.

(Wed, 26 Nov 2014 12:00:25 GMT)
[view article in new window]

Flash 16 Beta Updated
Title says it all, we'ev posted an update to the Flash Player 16 beta on Adobe Labs.
(Wed, 26 Nov 2014 12:00:05 GMT)
[view article in new window]

AIR and Android Lollipop
Yes, there are issues running AIR apps on Android 5 Lollipop. The issue is actually at the OS level, and we are working with Google to get it fixed. In the meantime, if you have AIR apps that are not working, read this post.
(Wed, 26 Nov 2014 12:00:05 GMT)
[view article in new window]

Breaking Changes In Isolate-Scope Behavior In AngularJS 1.2
Ben Nadel looks at breaking changes in isolate-scope behavior in AngularJS 1.2 and why you shouldn't use isolate-scope directives haphazardly in AngularJS 1.0.8....
(Wed, 26 Nov 2014 08:00:17 GMT)
[view article in new window]

Ext JS 5, Sencha Fiddle and
As I’ve used Sencha Fiddle, I’ve really come to enjoy how simple it makes testing ideas, exploring aspects of Ext JS, and debugging my code. One of the really nice features is the ability to simulate AJAX requests. While this is REALLY nice for simulating the loading of remote data, one place where it has…
(Wed, 26 Nov 2014 02:00:14 GMT)
[view article in new window]

Into The Box 2015 Call For Speakers

The Into The Box 2015 conference has just been announced and I am super excited to be part of it for another year. This year it was a great success and such a great networking event with speakers and attendees from across the world. The call for speakers has been announced, so if you are interested in participating in this developer conference, please head over the call for speakers entry and fill it out to your heart's content. See you next year in Minneapolis!

(Tue, 25 Nov 2014 20:00:15 GMT)
[view article in new window]

Into The Box 2015 Call For Speakers

We just announced a second year of Into The Box and we're excited for it to be even bigger than last year but we need your help. Our call for speakers is officially open! ITB topics generally tie into one or more of the Ortus Box products but we encourage people to submit a wide range of topics covering any of the following:

  • Development
  • Tooling
  • Workflows
  • Testing
  • Performance
  • Migration
  • Project Management
  • Architecture
  • Cloud Deployment

If in doubt or even if you'd like to hear someone else present on a topic, submit it anyway. The call for speakers starts now and will close on December 31st so get your submissions in now!

Submission Form

(Tue, 25 Nov 2014 20:00:14 GMT)
[view article in new window]

jsFiddle : Circular Gauge with Raphael
A single 0-to-100 percent circular gauge done with Raphael. It is largely based off of a StackOverflow posting, but I added the text display and color animations as tests. It should be easy to bake this into an AngularJS directive for reuse.
(Tue, 25 Nov 2014 18:00:14 GMT)
[view article in new window]

PHP: don't forget the timestamp / DateTime survey, if you have a moment for a one-question survey
I released this ("PHP: a survey about date data handling") on Friday, which is a bit of as rubbish day for me to ask for ppl's input as they've generally got better things to think about. Whereas on Monday people might be looking for something to do other than work.

I've got 55 responses, which ain't bad given how anonymous both myself and this blog is in the PHP world, but I wouldn't mind a few more. So if you've got an opinion on PHP timestamps vs DateTime objects, I'd be keen to hear it. Or if you can fwd it on to other people who are in the PHP world, that'd be cool too.

I'll post the analysis tomorrow. Spoiler: there's not much in it.


(Tue, 25 Nov 2014 17:55:44 GMT)
[view article in new window]

We're Baaaack - Into The Box 2015

We're baaaaaaack!

After a great sold out Into The Box conference last year, we're back with a vengeance and looking to have a greatsecond year. We're going to be tagging along with dev.Objective()again, which if you haven't heard, is the new name for cf.Objective().

Into The Box 2015 will be held May 12th at theEmbassy Suites Minneapolis, Bloomington, MN. We'll have one full day packed with 2 tracks again that will cover all sorts of development-centric topics around the Ortus Solutions product stack. This includes, but is not limited to:

  • ColdBox MVC
  • ContentBox Modular CMS
  • CommandBox CLI & Package Manager
  • CacheBox, LogBox, WireBox
  • TestBox/MockBox
  • CFCouchbase NoSQL SDK
  • DataBoss Dynamic Administrator
  • FuseGuard Security Module
  • ProfileBox Fusion Reactor Module

These sessions will be useful for any ColdFusion/Railo developer who wants to come up their game as a developer regardless of whether they're using any of these libraries or frameworks yet.

Please check out our main conference site, where we'll be updating information on sessions and speakers soon.

Our registration portal is already open and ready for you to sign up.

And if you're interested in speaking please submit a topic here.

(Tue, 25 Nov 2014 14:00:15 GMT)
[view article in new window]

© The connection to the CFBLOGGERS_FEED's RSS feed has timed out - please try again later. We are sorry for any inconvenience this may have caused.