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.

CF Debug Copy Updated for Firefox 3.5

Another day, another extension update. If you use the CF Debug Copy extension for Firefox you may be happy to know that I've just posted an update to RIAForge which works with Firefox 3.5. Enjoy!

CF No Debug Extension Updated

Just a quick post to let folks know I've updated the CF No Debug Firefox extension to work with Firefox 3.5. You can get the latest from RIAForge.

New ColdFire Beta

With Firefox 3.5 in release candidate and Firebug 1.4 in its third beta release (after 31 alpha releases) I decided it was time to get my act together and update ColdFire to work with the latest and greatest. If you download ColdFire from the RIAForge site you will notice the zip now contains two releases: 1.3.207.211 and 1.4.207.218. The 1.3 release is the current "production" release which runs on Firefox 3.0 and Firebug 1.3. The 1.4 release should be considered beta since it requires Firebug 1.4, which will run on either Firefox 3.0 or 3.5. There are no new features in the 1.4 release, just support for these awesome new Firefox/Firebug releases. (The ColdFusion and Railo debugging templates are the same from 1.3 to 1.4, so if you want to run Firefox 3.0/Firebug 1.3 and Firefox 3.5/Firebug 1.4 side by side you don't have to change any of the server side ColdFire bits.)

I have to give a shout out to Jan "Honza" Odvarko for the great work he is doing on with Firebug's network monitoring. In earlier versions of ColdFire we actually rolled our own network monitoring and it was a huge pain. For ColdFire 1.2 we wised-up and used some crazy closure hacks to leverage Firebug's network monitor. It worked, allowing us to introduce features like the response queue, but boy was it ugly and brittle. Firebug 1.3 introduced a API for its NetworkMonitor module which allowed extension developers to register listeners and receive data from the network panel, which we in turn leveraged in ColdFire 1.3. Now Firebug 1.4 expands on that API, and best of all Honza has done a great job of documenting this expanded API on his blog. (Anyone interested in working with Firebug should definitely read Honza's blog, Software is Hard. I wish many of those articles had been written when I was digging through the Firebug code trying to figure things out.) ColdFire 1.4 has been updated to use this new API, which was the only significant change to ColdFire code for this release.

That's all for now. As always please report any issues on the RIAForge bug tracker.

New ColdFire Release

Just a quick post to let folks know I've just uploaded a extension only update for ColdFire which fixes a stored procedure related issue with the DB Queries tab. Check out the RIAForge site for more info.

ColdFusion Bug: CFTRACE and _CF_NODEBUG=true

Here is a interesting bug I ran into today while using CF No Debug. If you use the <cftrace> tag with the _cf_nodebug parameter set to true, the tag will throw the following error:

Variable DEBUGGER is undefined.

In ColdFusion, the <cftrace> tag is implemented in CFML via the pre-complied WEB-INF/cftags/trace.cfm template. Now, this is simply a guess, but I bet that trace.cfm uses the IsDebugMode() function to determine if it should attempt to write trace info to the debugging query. Possibly something like the following:

<cfif IsDebugMode()>
<cfset factory = CreateObject("java","coldfusion.server.ServiceFactory")>
<cfset debugger = factory.getDebuggingService().getDebugger()>
<!--- add trace data to debugger --->
</cfif>

As I previously noted there is a bug with IsDebugMode() where it returns true when using _cf_nodebug = true, even though the debugging service is disabled. If something like the above code is used in trace.cfm, IsDebugMode() would return a false positive when _cf_nodebug is true and the ColdFusion ServiceFactory would return null for the debugger variable. When a null value is assigned to a ColdFusion variable it can lead to the undefined error we see in this case.

I've logged a bug with Adobe for this, but it is something to look out for if you use CF No Debug and start seeing "Variable DEBUGGER is undefined" errors.

New ColdFire Release

I just uploaded a new version of ColdFire to RIAForge. This release is an extension only update so there is no need to update the server bits.

Here is a quick rundown of what is new/fixed:

  • Total execution time is now shown on general tab.
  • Users can choose to have the execution times tab show the totals at the top, using the new "Exec Time Totals on Top" option.
  • Fixed issue where components with no methods would break variables output.
  • Fixed user preferences (selected options) so that they are now persisted.

Also, one thing I noticed while working on this release is that the variables tab does not correctly display child components. If you have a component that extends another component, you will only see the methods defined on the child component and the display will not indicate that the component extends another component. I'll have to look into what can be done to fix this, but in the meantime it is something to be aware of if you depend on ColdFire to give you the API for a component.

As always, keep the bug reports and feature requests coming.

CFEventGatewayAdapter and Selectors

Lately I've been doing a lot of work with Flex messaging using ColdFusion and BlazeDS. Recently I was trying to get message filtering working using the Flex Consumer component's selector property. After a few false starts I found that I just couldn't get selectors to work using either BlazeDS or LCDS.

[More]

CF No Debug Gets A Little Smarter

Last week I updated my CF No Debug extension so that it will remember what state it was last in when you open Firefox. Before, when you closed and re-opened Firefox the extension was always disabled, allowing ColdFusion request debugging to execute. Now if you have the extension enabled when you close Firefox, it will remain enabled when you open Firefox again. This is an extension only update, so there is no need to update the servlet filter.

ColdFire 1.3

Yesterday uploaded the latest 1.3 release of ColdFire to RIAForge. Since it has been awhile since I've blogged about ColdFire here, I thought I'd take some time and share the new features that have been introduced in the 1.3 version of ColdFire.

[More]

More Entries

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