Saturday, May 10, 2008    
Home My Books Blog ColdFusion About Me Back    

Calendar
<< May 2008 >>
S M T W T F S
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
             

Search

Categories
 • Adobe (61) [RSS]
 • AdobeMAX06 (45) [RSS]
 • AdobeMAX07 (59) [RSS]
 • AdobeMAX08 (6) [RSS]
 • AIR (95) [RSS]
 • Appearances (103) [RSS]
 • Books (65) [RSS]
 • CFEclipse (14) [RSS]
 • ColdFusion (1078) [RSS]
 • Flash (88) [RSS]
 • Flex (316) [RSS]
 • Jobs (81) [RSS]
 • JRun (12) [RSS]
 • Labs (26) [RSS]
 • LiveCycle (11) [RSS]
 • MAX (141) [RSS]
 • Regular Expressions (12) [RSS]
 • SQL (36) [RSS]
 • Stuff (492) [RSS]
 • Tips (CF Studio) (80) [RSS]
 • Tips (CF) (795) [RSS]
 • Tips (Dreamweaver) (91) [RSS]
 • Tips (Flex Builder) (2) [RSS]
 • Using CF (131) [RSS]
 • Wireless (96) [RSS]

Other BLOGs
 • Ray Camden
 • Tim Buntel
 • Sean Corfield
 • John Dowdell
 • Steven Erat
 • Brandon Purcell
 • Charlie Arehart
 • Full As A Goog

RSS Feeds
 • Feed
 • Subscribe

Join my mailing list and find out about new books and other topics of interest.

Thoughts, ideas, tips, musings, and pontifications (not necessarily in that order) by Ben Forta ...
NOTE: This is my personal blog, and the opinions and statements voiced here are my own.

Viewing By Category : Flex / Main
May 8, 2008

Flex Renderers Can't Rely On creationComplete

Yesterday I wasted an hour or so debugging a Flex itemRenderer that I was using to display an image instead of a value in a DataGrid column. The renderer had to simply pick one of six images based on the column value, and so it contained a single <mx:Image> tag and a function that set the Image source dynamically. And then I called that function on the renderer's creationComplete event.

Simple enough. Except that the wrong images were sometimes being displayed, the column had the right data, but the code used to select the image seemed to sometimes pick the wrong image. And what it picked seem to change each time I scrolled the DataGrid up and down!

I actually ran into a very similar issue with a TileList renderer a few weeks ago, but then I had no time to figure out the cause, and so I hacked a workaround. But this time, having been bitten by the same issue twice, I had to find out what was going on.

And what I discovered (by using traces and alerts) is that the creationComplete event does not get fired as I had expected. Rather, it seemed to fire only occasionally, and not once per DataGrid row, and so my image selection function was not being executed as expected.

Once I had figured out the problem I searched the docs for any info on renderers and creationComplete, and found this page. And sure enough, "Flex might reuse an instance of the item renderer or item editor, a reused instance of an item renderer or item editor does not redispatch the creationComplete event". Well, that explained it.

The right way to do what I wanted is to trap the dataChange event instead of creationComplete, as "Flex dispatches the dataChange event every time the data property changes".

And so I am posting this for my own future reference, just to make sure I don't run into it a third time.

May 7, 2008

Preserving ColdFusion Structure Member Case In Flex

ColdFusion is case-insensitive, and Flex MXML and ActionScript are very case-sensitive. For consistency's sake, when ColdFusion variables are sent from ColdFusion to the Flash Player via Flash Remoting, names are converted to uppercase (that's the default behavior, and it can be changed if needed). So, a structure member named FirstName will be named FIRSTNAME when it arrives on the Flash Player (and referring to it as FirstName in MXML or ActionScript won't work).

But, you actually can force case to be maintained in structures, depending on how structure members are defined. Look at these two examples. The first won't preserve case:

<cfset user=StructNew()>
<cfset user.FirstName="Ben">
<cfset user.LastName="Forta">

In this example, if the structure were returned to the Flash Player, the members would be named FIRSTNAME and LASTNAME.

Here's another example, one that will indeed preserve case:

<cfset user=StructNew()>
<cfset user["FirstName"]="Ben">
<cfset user["LastName"]="Forta">

This example accomplishes the exact same result as the previous example, in that it creates a structure and defines two members. But in this example, structure member names will be preserved, and they would indeed be named FirstName and LastName when they arrive in the Flash Player.

April 25, 2008

Tim Buntel Wants You To Weigh In On The Next Flex Builder

Tim Buntel (yep, even though he moved to the Flex team we still like him) is looking for feedback to drive the feature set of the next major update to Flex Builder. He posted details on his blog (which, of course, is still powered by ColdFusion).


InfoWorld Reviews Flex Builder 3

InfoWorld has posted a detailed review of Flex Builder 3.

April 24, 2008

Important Improvements To Adobe Developer Center

Yesterday we quietly rolled out two important enhancements to the Adobe Developer Center.

The first change is community powered search (you'll see a new search box on the upper right side of the page), which basically means that searches now includes content from a wider array of sources, including community sources like relevant blogs. The second change is that logged in users can now post comments on articles, these comments are posted live immediately, but are also moderated (and will be scrubbed as needed).

While these new features are tested and tweaked they'll only be available in the Flex Developer Center. But we'll add these to additional ADC sections in the future.

April 23, 2008

Host A Flex Camp

I've been blogging Flex Camp announcements for a while, and have spoken at many too (the next one I plan on attending is May 15th in Toronto). Flex Camps are fun, informative, educational, and great networking tools, too.

If you're interested in hosting your own Flex Camp, visit this Flex Camp page at flex.org and download the Host Your Own Flex Camp Guide. You'll find all the details you need, as well as information on how Adobe may be able to help fund your event.

Oh, and then don't forget to invite me! ;-)

April 22, 2008

James Ward On Top 10 Flex Development Mistakes

James Ward has written an article for InfoQ entitled Top 10 Mistakes when building Flex Applications about ... well, that should be blatantly clear, shouldn't it?

April 17, 2008

flexcf.com Launched

flexcf.com is a new site dedicated to the development of ColdFusion powered Flex applications. Seven tutorials have been posted already, and more are on the way.


Flex Camp Coming Back To Toronto

TorontoFLEX is scheduled for May 15th, 2008 at MaRS Centre in Toronto, Ontario. Registration is FREE and now open. I am planning on attending this event, and hope to see you there!


Intuit QuickBase Embraces Flex

Intuit QuickBase is a series of ready-made online workgroup applications designed to solve common business challenges, allowing them to be customized to suit your processes, and shared as needed. The QuickBase Developer Program (in beta) allows developers to build applications on the QuickBase platform using QuickBase services and Flex. Check out the video examples.

April 15, 2008

PyAMF = AMF For Python

AMF (Flash Remoting) is generally the preferred way for Flash/Flex/AIR applications to communicate with back-end servers and services. ColdFusion developers are fortunate in that AMF has been built in to ColdFusion for years. Java developers have access to the open-source BlazeDS which, among other things, provides support for AMF. And the community and 3rd parties have implemented AMF for PHP, .NET, and more. And now Python users can share the benefits of AMF via PyAMF - AMF for Python.

April 10, 2008

LiveCycle Data Services 2.6 Now On Labs

LiveCycle Data Services 2.6 is now in public beta. The update includes better support for Flex 3, support for AIR offline storage and data management, improved performance, and more. And yes, it can be used with ColdFusion. You can get LCDS 2.6 beta from Labs.

April 9, 2008

Adobe TV Launched

Adobe TV has launched. We'll be posting new content regularly (I actually recorded 3 videos yesterday which will be going live in a month or so).

April 7, 2008

Borland Silk 2008 Supports Flex

Borland has announced the latest version of its Silk testing tool (formerly Segue Silk). SilkTest 2008 supports functional and regression testing of Flex applications

April 6, 2008

Heading To Cleveland For Flex Camp

I am on the way to Cleveland for Flex Camp tomorrow (posting this on my cell phone from a rest stop on the Ohio Turnpike). I had originally planned to present an opening session and take part in a closing Q&A panel, but I'll have to miss the Q&A as I have to be in San Francisco next. I understand that attendance for Flex Camp Cleveland is up around 150, which is great, and I am looking forward to meeting everyone in the morning.

April 4, 2008

Two Flex Team Blogs You Should Check Out

Flex team members Sreenivas Ramaswamy and Sameer Bhatt both blog and have posted really useful information on the Flex 3 AdvancedDataGrid and OLAPCube controls.

April 3, 2008

Wrapped My Session At RIA Architect Summit

I just finished my session at the RIA Architect Summit here in Bangalore, India. I presented an introduction to Flex, AIR, and Data Services (BlazeDS and LiveCycle DS) - all in about 1 hour. Fortunately, I speak quickly, and everyone here understands and speaks English, so I was able to get through the content without problems. Oh, and I did a PowerPoint-free session, that saved time, too. Lots and lots of questions, so many that we had to cut them short - we'll have a Meet The Team session later today and will be able to take more questions then. James Ward is on stage now demoing Flex connectivity and plumbing, picking up where I left off. Other speakers today will cover Flex best practices, AIR development, and more.

April 2, 2008

Getting Ready For RIA Architect Summit

I arrived in India early Wednesday morning (very early, just before 1:00am) and finally got to my hotel after 2:00am. And with the massive time zone difference and having just flown for close to 20 hours, I barely slept at all. And then we spent a full day with the local Adobe team, customers, and partners talking about Flex, AIR, ColdFusion, and more.

It's now early Thursday morning here, and we just arrived at The Chancery Pavilion, the venue for today's RIA Architect Summit here in Bangalore. The staging is pretty cool, there is seating for about 500, and (as usual) James Ward and I are sitting on the side working on the content that we're due to present shortly. And we're running out of time, I had better get back to it ...

April 1, 2008

En Route To India

Just landed at Paris Charles de Gaulle Airport where I change planes and then on to Bangalore for all sorts of meetings and the Adobe RIA Architect Summit 2008.

March 31, 2008

Linux AIR Player Is on Labs

Title says is all. Go to Adobe Labs for the alpha version of the Linux AIR Player. We've also posted an update to the Flex Builder 3 for Linux alpha, adding support for AIR creation.

March 30, 2008

On AIR European Tour Starts Tomorrow

Just a reminder, the 11 city On AIR European Train Tour starts tomorrow in Madrid. The team is already there setting up (although, unfortunately, I am not joining them this time around). So if you are in (or near) Madrid, Paris, Amsterdam, Brussels, London, Stockholm, Berlin, Warsaw, Prague, Munich, or Milan, be sure to drop by!

March 27, 2008

Boston Has A Flex Usergroup

Boston is now the proud home of the newest Flex usergroup - BFUG. Their inaugural meeting is April 8th, 2008. If you are in the area, be sure to drop by!


Tchau, Brazil

I am in the Rio de Janeiro airport, waiting for my flight back to the U.S. (I'm home for the weekend and then head to India next week). This morning I presented Flex 3 and AIR and a launch event here. And like the events in São Paulo and Brasilia earlier this week, this one was a winner. A standing room only crowd of close to 200 packed the auditorium for a lively and highly interactive event (bringing the total attendance for the launch events here to over 700!). Brazilians are a lively and passionate bunch, and are most definitely not shy. The questions and comments came hard and fast, and good questions and comments at that. 3 hours flew by, and once again I had to omit about half of my content. The rest of the day was spent meeting with customers and partners, right up until I had to head to the airport.

So, 4 days (with no more than 5 hours sleep each night), 3 launch events, 2 press interviews, 5 partner meetings, 8 customer meetings, 1 video shoot ... all fueled by more cans of Guaraná Antarctica than I can count.

Tchau, Brazil. And muito obrigado!

March 26, 2008

Hello From Rio de Janeiro

I just arrived in Rio de Janeiro, several hours later than planned. I spent the day today in Brasília, first meeting with customers and partners, and then presenting at the Flex 3 / AIR launch event. Over 160 people crammed into the hotel conference room for 3 hours, and the event was amazing! The crowd was so involved and interactive that half way through our allotted time I had to ask them to stop asking questions, I was still on my opening slides - I don't think I have ever had to do that before! The energy and enthusiasm at this event was truly incredible, this will be a tough one to beat. Although, we'll try - we do it again here in Rio de Janeiro in the morning.

March 25, 2008

São Paulo Was Great, Next Up Is Brasília

I just wrapped two jam-packed days in São Paulo. Yesterday started early, my flight from the U.S. landed at 6am, I got picked up from the airport at 7am, arrived at the Adobe office at 9am, in time for my first meeting at 10:0am. Then back-to-back meetings and presentations (and even a video shoot) until after 9pm! I asked the local team to fully utilize my time in Brazil, and they took my request really seriously!

This morning I presented Flex 3, AIR, and Data Services at a 3 hour launch event. Almost 200 people filled the room, and another 150 joined in via Connect from 5 other Brazilian cities (ones I'll not be visiting). As I have come to expect from the crowd in São Paulo, the event was lively, highly interactive (despite the language barrier), and I did not even get through all of my prepared content. This was my 5th trip to São Paulo, and the city has never disappointed me.

It's now after 11pm local time, and we just arrived in Brasília, the capital of Brazil. Tomorrow morning we host a similar launch event here, and then I'll meet with several customers and partners before flying to Rio de Janeiro to do it all again there on Thursday.

If you plan to attend the events in Brasília or Rio de Janeiro, here are details.

More Entries

  © Copyright 1997-2008 Ben Forta, All Rights Reserved