Evey once in a while I click through the blogger provided dashboard to see what new things I can do with my blog. Today I managed to improve the fonts and colors, add a picture of myself, and add category information to most of the posts that deserve it. I even added a list of subjects on the left navigation pane of the page so you (and I) can find posts about specific things (like those web service related posts I am always looking for the link to).
If you are reading through an aggregator, come to my page (http://tjordahl.blogspot.com) and check it out.
Wednesday, April 02, 2008
CFUnited for 2008
I recently got confirmation that I will be attending CFUnited again this year. I believe I will be giving the "Adobe Speaker TBA" talk on ColdFusion 8 and LiveCycle Data Services. I will make sure to include a good discussion about BlazeDS and how that fits in to the picture.
I always enjoy attending CFUnited. It is being held at a new location this year. There probably isn't going to be a Dave & Busters handy to play games at, which is was always a highlight. But the crowd is always good and I really enjoy the sessions. Should be a good time, see you there!
I always enjoy attending CFUnited. It is being held at a new location this year. There probably isn't going to be a Dave & Busters handy to play games at, which is was always a highlight. But the crowd is always good and I really enjoy the sessions. Should be a good time, see you there!
Monday, March 24, 2008
Adobe Online Developer Week - March 24-28
Adobe is hosting a free "virtual conference" this week. It looks like a really good lineup of topics, including Adam Lehman (CF Evangelist) on Whats New in CF8 (Today at 1pm PDT), CF and RIA's and a CF & BlazeDS talk both on Wednesday. Christophe Coenraets (LCDS/BlazeDS Evangelist) is also doing an intro to BlazeDS session (Tuesday 9am PDT) and a LiveCycle Data Services intro on Thursday.
The lineup seems pretty good and you can pick and choose which sessions you want to attend. Check out more details at http://adobe.com/go/2008_developer_week
The lineup seems pretty good and you can pick and choose which sessions you want to attend. Check out more details at http://adobe.com/go/2008_developer_week
Friday, March 07, 2008
ColdFusion 8 wins Dr. Dobb's Jolt Award!
ColdFusion 8 has been announced as the winner of the “Web Development” category of the Dr. Dobb’s 18th Annual Jolt Awards. Winners will be featured in the June issue of Dr. Dobb’s Journal.
Sales are great, awards are being won and ColdFusion continues to rock the web development world!
Sales are great, awards are being won and ColdFusion continues to rock the web development world!
Monday, March 03, 2008
BlazeDS and Flex 2 compatibility
There was a question over on the BlazeDS forums about weather Flex 2 would work with BlazeDS. The answer is most definitely YES. You can use Flex 2.0.1 hotfix 2 or Flex 3 with BlazeDS 3. Jon Rose also blogged about this question back in January.
Jon was getting a message:
Jon was getting a message:
“Destination ’simple-topic’ requires FlexClient support which was introduced in version 2.5. Please recompile the client application with an updated client framework.”The “2.5″ in the message that refers to LiveCycle Data Services 2.5, which was shipped requiring a hotfix (#2) for the Flex compiler/SDK.
The AMF3 protocol did not change. The remoting and proxy services interoperate without issue between Flex 2 and BlazeDS.
However, the messaging and data management service implementations on the server required several core changes in channel/endpoint handshaking and in how messages are queued and routed to subscribers that are not backwards compatible with clients compiled against the ORIGINAL Flex 2 client library. This is a low level incompatibility, so previous messaging and data management code doesn’t need to be altered or edited in any way. You just need to recompile your app against the hotfixed Flex 2 or Flex 3 SDK.
Thanks for Seth Hodgson for the details about what changed (it predates me moving over to Data Services).Friday, February 29, 2008
Recording of my BlazeDS presentation
I gave my "BlazeDS Revealed" presentation to the ColdFusion Online Meetup group last night to about 55 people via Acrobat Connect. Charie Arehart does a great job of organizing these online-only meetings that cover just a ton of ColdFusion and related topics and each presentation is recorded so you can watch topics that interest you after the fact.
As he reminded me more than once last night, he is always looking for speakers.
The recording of my BlazeDS session is available here.
As he reminded me more than once last night, he is always looking for speakers.
The recording of my BlazeDS session is available here.
Thursday, February 28, 2008
Using ColdFusion with SQL Server XML/SOAP Endpoints
John Jarrad has blogged a very nice explanation on how he got ColdFusion 8 working with SQL Server 2005's XML/SOAP Endpoints. John referenced a few of my older posts like the one about how to use the Apache Commons HTTPClient instead of the built in HTTPSender class.
The interesting thing is that he did not use the HTTPClient library (although using this should have allowed the Digest and NTLM authentication to work since the library supports it) because the HTTPSender class (see source here) does in fact support HTTP 1.1, just not by default. The trick is to set the right property on the web service stub so that the Axis engine does the right thing.
The other note to John's post is that you can use cfinvoke if you want to, but you just have to use cfobject/CreateObject to create the web service "stub" first, then pass that in as the webservice attribute of cfinvoke.
John also notes that processing the result set and turning it in to a query is pretty slow. Not sure what is causing this other than there is a large amount of data getting processed.
The interesting thing is that he did not use the HTTPClient library (although using this should have allowed the Digest and NTLM authentication to work since the library supports it) because the HTTPSender class (see source here) does in fact support HTTP 1.1, just not by default. The trick is to set the right property on the web service stub so that the Axis engine does the right thing.
The other note to John's post is that you can use cfinvoke if you want to, but you just have to use cfobject/CreateObject to create the web service "stub" first, then pass that in as the webservice attribute of cfinvoke.
<cfset ws = CreateObject("webservice", "https://webservice.yourcompany.com/sql/whatever_endpoint?wsdl")>
<cfset ws._setProperty("axis.transport.version", "1.1")>
<cfinvoke webservice="ws" method="JJData" returnvariable="result">
</cfinvoke>
John also notes that processing the result set and turning it in to a query is pretty slow. Not sure what is causing this other than there is a large amount of data getting processed.
Wednesday, February 27, 2008
BlazeDS presentation Feb 28, 2008
I will be giving a presentation about BlazeDS to the ColdFusion Online Meetup this Thursday, February 28. I believe anyone can join the Acrobat Connect room (from anywhere in the world, how cool is that?) and the session will be recorded so you can watch me again and again. :-)
Check out the details here.
Here is the description:
Check out the details here.
Here is the description:
Recently Adobe announced the release of BlazeDS which will make some key server technologies open source and free to use in any application. These technologies are critical to building great applications with Flex and AIR. Tom will talk about exactly what you get in BlazeDS and how it relates to LiveCycle Data Services and will detail some of the reasons why you might want to use these server technologies. He will also explain how ColdFusion developers can take advantage of BlazeDS in their applications.
Monday, February 25, 2008
BlazeDS and Flex 3/AIR 1.0 out today!

Today Adobe shipped Flex 3 and Air 1.0 along with releasing the open source BlazeDS technology. These are some amazing and world changing things that just hit the streets.
I'll let others talk about how revolutionary AIR is and how great Flex 3 is going to be. The BlazeDS open source project is what I am excited about (and not only because I work on the BlazeDS/LiveCycle Data Services team).
In a nutshell, two of the three important technologies included in LCDS 2.5.1 have been released a) for free (as in beer) and b) as open source. This means that you can use Remoting (aka Flash Remoting) and Flex Messaging in your Flex applications, backed by Java or ColdFusion, without any licensing whatsoever. You can file bugs on the technology in the public JIRA bug tracking system. You can even check out the source and see what makes it work (or debug a problem when it doesn't).
Anyway, the team is very excited about BlazeDS and the whole company is pumped for AIR 1.0. Check them out!
http://opensource.adobe.com/wiki/display/blazeds/BlazeDS
Wednesday, February 20, 2008
Directory Watcher talk by Dave Ferguson
It looks like I will be giving a talk to the Online ColdFusion Meetup next week (details to follow). In browsing around the meetup site, I decided to watch a talk about the Directory Watcher Event Gateway, one of the example gateways we shipped in ColdFusion 7 (& 8). I am always impressed at how useful folks find this gateway as I wrote it on a whim in just a few hours because we wanted to provide some source code examples for those who wanted to write their own gateway.
Anyway, if you do watch Dave's talk, there are a few questions and quirks he mentions that I wanted to try and clear up.
First, note that the Java source for this gateway is shipped with every copy of CF in/gateway/src/examples/watcher. I am still waiting for someone else to fix the problem of slow uploaded files triggering the "ADD" event before it is done writing the file. Dave gives a CFML/Java based work around for this problem in his talk (and makes the files available on his blog here).
Dave notes that the "Out"count in the CF administrator is always 0 for this gateway. This is the number of messages/events that the gateway has sent, well, out. For instance how many times SendGatewayMessage() was called for this gateway. Since the Directory Watcher doesn't do outgoing messages (see line 187), this count will of course always be zero.
Dave mentioned that when he returns something from (in his case) one of the onAdd, onChange or onDelete functions, he gets a meaningless error in the logs. I filed a bug on this for Dave (#71311). The problem is that as a convenience the gateway system will take the return value of an event processing CFC function and send that "out" to the gateway. For instance if you receive an SMS or IM message to one of those gateways, you can return a Struct with a reply message from the onIncomingMessage function and the system will (in effect) call SendGatewayMessage() on that gateway with that struct. Since he was returning a simple value (i.e. "1") CF tries to make that a Struct, fails and reports the strange error. It *should* ignore that return value and log a warning (in the eventgateway.log) that it is doing this.
Dave was asked about timeouts for the CFC processing functions. Event Gateway CFC function calls are subject to the same timeout value as ColdFusion requests. A gateway can override this value (in the Java code) by calling CFEvent.setCfcTimeOut(). Otherwise the timeout is the same as for "regular" CFML page requests.
There was a question about file renames and what the Directory Watcher does when it sees this. The watcher does in fact report an ADD and a DELETE event when you change the name of a file. This is by design and I verified this on ColdFusion 7 and 8.
Hope this info helps those looking for more information about this gateway.
Anyway, if you do watch Dave's talk, there are a few questions and quirks he mentions that I wanted to try and clear up.
First, note that the Java source for this gateway is shipped with every copy of CF in
Dave notes that the "Out"count in the CF administrator is always 0 for this gateway. This is the number of messages/events that the gateway has sent, well, out. For instance how many times SendGatewayMessage() was called for this gateway. Since the Directory Watcher doesn't do outgoing messages (see line 187), this count will of course always be zero.
Dave mentioned that when he returns something from (in his case) one of the onAdd, onChange or onDelete functions, he gets a meaningless error in the logs. I filed a bug on this for Dave (#71311). The problem is that as a convenience the gateway system will take the return value of an event processing CFC function and send that "out" to the gateway. For instance if you receive an SMS or IM message to one of those gateways, you can return a Struct with a reply message from the onIncomingMessage function and the system will (in effect) call SendGatewayMessage() on that gateway with that struct. Since he was returning a simple value (i.e. "1") CF tries to make that a Struct, fails and reports the strange error. It *should* ignore that return value and log a warning (in the eventgateway.log) that it is doing this.
Dave was asked about timeouts for the CFC processing functions. Event Gateway CFC function calls are subject to the same timeout value as ColdFusion requests. A gateway can override this value (in the Java code) by calling CFEvent.setCfcTimeOut(). Otherwise the timeout is the same as for "regular" CFML page requests.
There was a question about file renames and what the Directory Watcher does when it sees this. The watcher does in fact report an ADD and a DELETE event when you change the name of a file. This is by design and I verified this on ColdFusion 7 and 8.
Hope this info helps those looking for more information about this gateway.
30 On Air launches
Check out the new 30 On Air site for some fun videos answering the questions
Why AIR? Why Flash Player? Why Flash? Why Flex? Why Coldfusion? Why AJAX? Why LiveCycle? Why Dreamweaver?
You can upload your own video also, just tag it on YouTube with the "30onair" tag. I like the rocking guitar solo video, but maybe I have been playing too much Guitar hero.
Why AIR? Why Flash Player? Why Flash? Why Flex? Why Coldfusion? Why AJAX? Why LiveCycle? Why Dreamweaver?
You can upload your own video also, just tag it on YouTube with the "30onair" tag. I like the rocking guitar solo video, but maybe I have been playing too much Guitar hero.
Monday, January 07, 2008
Take a quick ColdFusion IDE Survey
The ColdFusion development team is running a survey to try and collect information about how you develop CFML code and what tools you use. Specifically, what features you look for and use in a IDE. Your chance to give your input can be found here.
Having a ColdFusion specific IDE is something that certainly the server team has wanted for a while ("Bring back ColdFusion Studio!") but for various reasons (*cough* Dreamweaver *cough*) we were unable to get. Remember also that the CF team are Java/server developers, which aren't the right people to develop an IDE tool for the desktop. This may explain why we haven't written one ourselves yet. :-)
Having a ColdFusion specific IDE is something that certainly the server team has wanted for a while ("Bring back ColdFusion Studio!") but for various reasons (*cough* Dreamweaver *cough*) we were unable to get. Remember also that the CF team are Java/server developers, which aren't the right people to develop an IDE tool for the desktop. This may explain why we haven't written one ourselves yet. :-)
Friday, January 04, 2008
Spell checker in the CF8 Rich Text editor
Rakshith has a useful posting on his blog on how to enable a spell checker in the new rich text form field available in ColdFusion 8. Read it here.
Friday, December 14, 2007
Using FCKEditor file upload in ColdFusion 8
Rakshith, the lead engineer for the ColdFusion AJAX features has posted a blog entry on how to enable the file upload capability in the FCKeditor available in ColdFusion 8. We have disabled this feature due to security concerns, but if you know what you are doing, you can turn it back on with a few simple steps.
Read about it here.
Read about it here.
Subscribe to:
Posts (Atom)
