Archive for March, 2003

How to Migrate or Switch to ColdFusion MX

If you have been thinking about migrating to ColdFusion MX from previous versions of ColdFusion, or switching to ColdFusion from other technologies, Macromedia just made it a lot easier. This morning, two new sections of the DevNet Center were launched to help developers make the leap to ColdFusion MX:

Migrating to ColdFusion MX (from pervious versions of ColdFusion)
http://www.macromedia.com/devnet/mx/coldfusion/migrating.html

Switching to ColdFusion MX (from other technologies)
http://www.macromedia.com/devnet/mx/coldfusion/switching.html

Additionally, Macromedia published a couple of articles on the topic, as well:

ColdFusion MX Migration Overview
http://www.macromedia.com/devnet/mx/coldfusion/articles/migration_overview.html

Switching From JSP to ColdFusion MX
http://www.macromedia.com/devnet/mx/coldfusion/articles/jsp_cfmx.html

Using the createUUID Function

I was recently developing a small application which I needed to be as database independent as possible. My goal was for the same code to run on top of the four most popular databases without having to change any SQL at all. The biggest problem I was running into was the fact that one of my component functions needed to insert a record, then return the ID of the record it just inserted. Most databases let you select the variable @@identity immediately following an insert statement, however not all. I decided to try to create a unique ID using ColdFusion’s createUUID() function, and use it as my primary key. The technique has worked out quite well. Below are some interesting points about the createUUID function:

  • The algorithm that createUUID uses combines the time and date, the server’s IEEE 802 host ID and a random number, so theoretically, the numbers should be unique in all the world. I say “theoretically” because I have already seen people point out situations where MAC addresses might not be unique. But statistically speaking, they are pretty darn unique.
  • There is really no significant performance overhead in generating the IDs. The first time you use createUUID, you might notice a pause as the software uses a JNI call to access your hardware configuration, however that value is cached so subsequent calls are fast.
  • You are much more likely to run into performance issues when selecting data that uses a UUID for a primary key than inserting it simply because your primary key is a 35 digit string. For relatively small applications, you are not likely to notice any degradation, however this is not the right solution for enterprise level applications.
  • If you want the convenience of generating your own primary key without the performance degradation of selecting from a table with a 35 character primary key, you can let your database create a normal auto-incrementing ID field as you normally would to use as your primary key, and insert a UUID at the same time. Then, just select the ID of the row that has the UUID that you just generated, and you are guaranteed (statistically) to have selected the right ID without having to use vendor specific SQL.
  • You can always just turn around and select the max ID from the table that you just inserted data into (which means you don’t to generate a UUID at all), though you have to make sure that it is not possible that another thread could have inserted a record between the time you inserted your record and the time you selected the max ID. In other words, you have a potential race condition.

Macromedia Launches Beta 2 of macromedia.com

Macromedia launched a second beta of their website last night with some changes based on community feedback. Additionally, they launched a very interesting report disclosing and discussing all the statistics they gathered during the first launch. What Macromedia has done over the last couple of weeks has been extremely bold, and has resulted in some extraordinary import data that all web developers should see. If you’re a web developer or designer, take some time today to go through this article:
http://www.macromedia.com/special/progress_report/

Macromedia Releases Three New TechNotes

Macromedia released three new TechNotes:

ColdFusion 5: cfflush reports “Error attempting to store global client values” -
When using a cookie as the client variable storage mechanism, the following error occurs on pages that use the cfflush tag: http://www.macromedia.com/support/coldfusion/ts/documents/client_var_cfflush.htm

ColdFusion MX: java.lang.OutOfMemoryError -
This article describes different versions of the “java.lang.OutOfMemoryError” error you might get and provides solutions or workarounds for each. http://www.macromedia.com/support/coldfusion/ts/documents/java_lang_outofmemory.htm

ColdFusion MX: Tips for performance and scalability -
Achieving highest possible performance and scalability with ColdFusion MX applications is a complex combination of many different factors… http://www.macromedia.com/support/coldfusion/ts/documents/cfmx_perf_tips.htm

Flash Remoting Update

Macromedia released an update for Flash Remoting yesterday which fixes quite a few issues. The update is not for the version of Flash Remoting that comes with JRun or ColdFusion — it is only for .NET and Java. The Flash Remoting updates for ColdFusion will be contained in the next updater. Remember that you will need to download the Flash Remoting UI components separately. I will post here the very moment they become available.

Release Notes:
http://www.macromedia.com/support/flash_remoting/releasenotes/mx/releasenotes_updater.html

Remoting Download Page:
http://www.macromedia.com/support/flash_remoting/updaters.html

Components Download Page:
http://www.macromedia.com/software/flashremoting/downloads/components/

Interesting Web Prodigy Article on Forbes

There is an interesting article entitled “Flash Kid” on forbes.com about the 17-year-old kid from New Jersey who, along with his partners from the U.K, Croatia, Sweden, California, New York, Texas and Amsterdam, built the seanjohn.com website for $400,000 (seanjohn is the clothing label for P. Diddy). ColdFusion even gets a mention. Although it is not described accurately, at least it is mentioned favorably which, when it comes to the press, is often the best you can hope for.

http://forbes.com/forbes/2003/0317/039.html

Macromedia Ships DevNet Professional

Macromedia started shipping DevNet Professional subscriptions today, which means you can start downloading your software immediately. If you haven’t heard about DevNet Professional subscriptions yet, for $1499, you get all of the following products:

  • Contribute
  • Dreamweaver
  • Fireworks
  • Fireworks Goodies
  • FreeHand
  • FreeHand Goodies
  • HomeSite+
  • Flash
  • Flash Goodies
  • ColdFusion MX Server
  • ColdFusion MX for J2EE (Jrun, Sun ONE, WebLogic and WebSphere)
  • JRun 4
  • Flash Communication Server
  • Flash Remoting
  • DevNet Resource Kit (quarterly)

Since this is a subscription service, all upgrades are included at no additional cost. You can get all the information you need on DevNet Professional subscriptions by going to the DevNet Subscriptions Main Page.

Tony Lopez Makes a Guest Post

Tony Lopez, Executive Producer of Macromedia.com, made a guest post on Mike Chamber’s weblog. He talks about the new Macromedia.com web site and addresses some of the feedback we’ve been getting. You can read his post here:

http://www.markme.com/mesh/archives/001871.cfm

(OT) Dr. Pepper Tries to Cash In On Weblogs

I don’t know about you guys, but I can certainly use a break from discussions about ColdFusion, Flash, RIAs and the Macromedia website for a few minutes, so now for something completely off-topic. It seems that Dr. Pepper is trying to cash in on the popularity of weblogs, and in particular, on the creditability of weblog authors. Rather than paying movie stars or sports figures millions to hold up a bottle of carbonated sugar water and smile, they are experimenting with paying a bunch of kids nothing to post about it on their weblogs:

http://www.msnbc.com/news/879490.asp?cp1=1

Maybe I’m just bitter because I wasn’t invited to promote “Raging Cow” in exchange for a hat.

Macromedia Launches Entirely New Site

I know it’s old news at this point, but I’ve been so busy today that I haven’t had a chance to write about it here. Macromedia launched their new web site last night, and at the same time launched an amazing reaction from the community. Enough has been said on the forums and lists today that the last thing I want to do is rehash what has already been covered, however I would like to mention two things that I think were largely missed in the community.

One of the biggest complaints about the new site was speed. It’s important to remember, though, that loading a page with an RIA is very different from loading a simple HTML page. The advantage of using an RIA is that although you are loading more data upfront, ultimately you end up loading less, clicking less, and waiting less, because once the shell of the RIA is loaded, you only need to load data from then on as opposed to several kilobytes of HTML tags, JavaScript, styles, images, etc. I’m not saying that parts of the site can’t be optimized; what I’m saying is that a lot of the traditional metrics we use to gauge web site usability need to evolve along with Internet technology.

Another point that I don’t think was adequately covered today is that almost the entire back-end was completely rewritten in ColdFusion. We believe macromedia.com is one of (if not the) largest collections of RIAs in production today, and one of the most visited sites on the Internet. According to Penny Wilson’s article on DevNet, we reach one million customers a day. Additionally, 250,000 people download software from macromedia.com each day, and 4 million people download the Flash player. All that is done with ColdFusion on the back-end. If there was any question whether CFMX was ready for the enterprise market, I think we now have an answer.