Rob Gonda's Blog

Ajax presentation for the Scottish CFUG

I'm speaking tomorrow for the Scottish CFUG, nevertheless, free and open to whoever wants to join us. It will be a Adobe Breeze, sorry, Adobe Connect presentation, very similar to the one I did for the Boston CFUG back in September, but I will slow down and explain more this time, since I pretty much have no time restriction.

The _official_ topic for the session is:
Ajax, Web 2.0, RIAs, single-page-applications are just a few buzzwords that every developer needs to know in 2006. Learn the history of Ajax, what it means to you, why you should pay attention, who is using it, what is available, and how to implement it. This session will get you up to speed with Ajax, compare the different existing frameworks, and provide you helpful tips of do's and do not's with Ajax.

However, I will show plenty of examples, use different frameworks, and respond to as many questions as possible.

Time: 8pm (GMT) / 3pm (EST)
URL: http://adobechats.adobe.acrobat.com/r21774523/

Josh Adams on Ajax

Josh Adams from New Atlanta gave an Ajax presentation to the NCFUG a couple of days ago, covering most of the basics and a few frameworks -- Atlas, Spry, and AjaxCFC. The presentation is 1.5h long and it well worth it for people looking for a good intro / overview. John mentions he mostly uses AjaxCFC and asked a couple of questions I want to address, plus I have a few comments.
First, John asked about the second argument in the _execute function, yes ... that null, hehe. Like the docs say, it has no real use for ColdFusion, but the same JavaScript functions power DWR in the Java World and this argument indicates the class to be executed; the third argument indicates which method inside that class is to be run. The way I have AjaxCFC set up you don't really override any class, you just indicate which method on the CFC you wish to run.
Second, the new log4javascript integration was brought up. If you add debug:true to the config arguments when setting up AjaxCFC, you will enable log4javascript, which by default will pop up a new window and log every single Ajax request, including the responses and errors. As Aaron mentioned, this could eliminate the need for http sniffers to see what happens in the background, nonetheless, I would strongly suggest you use one. Aaron also mentioned other libraries at the end, like jQuery, which I hopefully cover this Thursday in my next breeze presso for the Scottish CFUG.

ajaxCFC 1.01: ColdFusion frameworks update

Dan Wilson pointed out today that the Model-Glue and Mach-II branches of ajaxCFC were not updated for v1.0, so I just updated them to the lasted Ajax engine, added logging, and matched all the featured of the stand-alone release. RIAForge's SVN has been updated as well as the main ajaxCFC download distro.

By the way, I updated the live examples as well to include and enable logging. You can get the list of examples in the main project page.

The code is back-compatible. The only updates where engine.js, ajax.js, log4javascript.js, and log4javascriptSetup.js. In order to enable logging simple add 'debug':true to the Ajax config section, which in the examples is located inside the JavaScript.cfm, in the views folder.

ajaxCFC reaches 1.0

I'm happy to announce that ajaxCFC has reached 1.0; but wait, there is more! ajaxCFC has a new home: it is now hosted at RIAForge where you can discuss issues in the forums, file bugs, and browse the source code with SVN.

As part of this new build I included the log4javascript integration: an unobtrusive html pop-up that logs your every Ajax request, showing requested methods, arguments, responses, and trapped server-side errors.

I must confess, I have my own subversion server, thus you won't be seeing much activity in the RIAForge's public one, nevertheless, you will get updates before I upload new builds.

I will also re-open a Wiki for ajaxCFC, but this time I will make is private. Last time I tried this it kept getting sabotaged, so if you want access just ping me.

p.s. I almost forgot, I updated the documentation.

ajaxCFC meets log4javascript

I was playing today with log4javascript and I thought it was a good idea to integrate it with ajaxCFC. I added a couple of basic log calls as shown in this example.

I added a trace for the invoked call, showing the call ID, remote method name, and serialized arguments, followed by the server response. I also added a broken call to illustrate logs of a server side error.

In order to enable the debugging, all you have to do is to add debug: true to the ajaxConfig object. If this key is not present, the debugging classes won't even be included, to save on loading time and performance.

Let me know what you think.

ajaxCFC in Ajax Books

Oreilly's Ajax Design Patterns has a list of Ajax/ColdFusion frameworks on page 585 and it lists ajaxCFC. It says Restricted open source license (free to use in any context but not redistributable) by Rob Gonda. which used to be the case, but the license changed in February 2006. The book came out in June, so it is understandable that the information was a little outdated... this is what happens with every book on cutting-edge technology .. but the time it's published, some/most/any of the covered topics could have changed, or the is a new, better, or improved way of doing things.

Talking about books, my Real-World Ajax book should had come out a few months ago, but due to delays in x,y,z it will come out next month, during the AjaxWorld Conference. It's a nice book, but I wish it had come out a while back as planned... just like I said, it may be missing some of the new tendencies that came out in the last 6 months; nevertheless, it covers all the basics, intermediate, and many advanced topics, and includes many examples in many different languages...

ajaxCFC utils update

I just updated ajaxCFC with a massively refactored utils class, including highlight handler, improved form serialization, debugging, and the ability to use image loading indicators (brought to you by Rey Bango).

to use the image loading indicator use:

DWRUtil.useLoadingImage("/images/ajax-loader.gif");

You may find a bunch of indicators at http://www.ajaxload.info/

ColdFusion Open Source Chat Application

if you're looking for a simple chat application for your web site check out CFOpenChat. It's a simple customizable chat for ColdFusion using ajaxCFC, works with mssql, mysql, and it's free and open source.

ajaxCFC: more small fixes

just uploaded a new release of AjaxCFC with a couple of fixes:

  • backwards compatibility for single arguments with an object, provided by nathanael waite. You may add the setComplexInputStruct(boolean) to the top of your function to enable or disable allowing argumentCollections to be passed to ajaxCFC. If enabled and a single object is passed as an arguments, it will be threaded as a collection. This is enabled by default.
  • fix in the argumentCollection option mentioned above to allow passing a single array argument.
More to come soon.

ajaxCFC quick patch

I just uploaded a small patch into ajaxCFC for the Model-Glue examples to work on the CFMX DevNet Edition. I had the core examples already patched, but I found that the MG were not.

I will release a major engine update within the next few days.

More Entries

This blog is running version 5.9.003. Contact Blog Owner