IP Ranger

Today I released a new ColdFusion administrator extension, IP Ranger, which allows IP ranges to be added to the debugging IP address list. IPv4 IP address ranges may be added using wildcards (192.*.*.*), octect ranges (192.168.1-10.1-120), or a combination of both (192.168.*.1-120). IP Ranger also allows you to verify, delete, and refresh IP address ranges.

[More]

Using Secure AMF Channels in Swiz

This question comes up quite a bit on the Swiz mailing list so I thought I'd write a blog post on how I handle this. For those new to Swiz, one very cool feature of the framework is the DynamicChannelSet wich allows you to remove the dependency on services-config.xml. Here is an example, from the Swiz docs, of how you would use DynamicChannelSet in your Bean Loader:

[More]

ColdFusion 9: Flex Improvements

With the release of the ColdFusion 9 beta I thought I'd share a few of the Flex integration improvements I've been checking out this week. First, ColdFusion 9 now uses Blaze DS to power Flex remoting and messaging. ColdFusion has had remoting support for several versions, but before CF 9 you had to install LCDS or BlazeDS to get Flex messaging. With the move to Blaze DS there is no longer an integrated LCDS Express installation option, so if you want RTMP or data services you will have to buy a separate LCDS license or install the free LiveCycle Data Services ES Single-CPU License version yourself. I know some people feel this is a loss but I'm pretty happy having messaging available out of the box, without the single CPU limitation.

[More]

ColdFire Nominated for Community Achievement Award

Today I was pretty stoked to find out that ColdFire was nominated for a Community Achievement Award in the Best Open Source Project category. I'm not sure who nominated ColdFire, but thank you. It is a honor just to be mentioned with other projects such as ColdBox, BlogCFC, Mango Blog, Mura CMS, ColdSpring, Transer and Model Glue. Of course ColdFire wouldn't even exist were it not for the vision and work of Ray Camden and Adam Podolnick. Thanks guys for letting me work on your project!

Be sure to vote for your favorite Open Source Project, and lot of other topics here.

Working With Each Key In A Struct

Earlier today I saw a tweet from Marc Esher where he was looking to do something like: mystruct.each( myFunctionThatDoesStuffWithEachKeyItVisits). While you can't get that exact syntax, you can run a function on each key pretty easily. Below is an example:

<cffunction name="StructEach" returntype="Array">
   <cfargument name="struct" type="struct" required="true">
   <cfargument name="func" type="any" requried="true">   
   <cfset var results = [] />   
   <cfloop collection="#arguments.struct#" item="key">   
      <cfset ArrayAppend(results,arguments.func(arguments.struct[key])) />
   </cfloop>   
   <cfreturn results />   
</cffunction>

<cffunction name="FindIt" returntype="boolean">
   <cfargument name="item" type="string" required="true">   
   <cfreturn REFindNoCase('not a test$',arguments.item) />
</cffunction>

<cfscript>
myStruct = {};
myStruct.key1 = "This is a test.";
myStruct.key2 = "This is a test";
myStruct.key3 = "This is not a test.";
myStruct.key4 = "This is not a test";
myStruct.key5 = "Not a test, this is.";
results = StructEach(myStruct,FindIt);
</cfscript>

<cfdump var="#results#" />

Not sure if it is exactly what Marc was looking for, but cool none the less.

RIAForge Now Protected by Akismet

A few months ago I got so fed up with dealing with spam on the ColdFire RIAForge site that I disabled comments for all blog entries and completely disabled the forums. However, rather than admit defeat, I talked with Ray Camden to see if I could help get Akismet support in RIAForge. Ray took me up on my offer and today he released a couple of updates that I think project authors will really appreciate.

The biggest update is that under the hood RIAForge is now using Brandon Harper's cfAkismet library to validate blog comments and forum posts. Blog comments flagged as spam by Akismet are moderated so that blog authors can choose to delete them or approve them as "ham." Due to some limitations with the way Galleon Forums are integrated into the RIAForge site, forum posts are just blocked outright if flagged as spam.

Anyway, I hope this will help other RIAForge authors as much as it will help me, and please let Ray or me know if you have any questions about the Akismet integration.

BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.