What, My Flash Gateway is Already AJAX Ready? Sweet.

I’m integrating existing Flex functionality with some new COTS [AJAX RIA] software. Looks like I’m golden on two fronts:

  1. My existing dashboarding app leverages the dynamic module architecture blogged hear in the past. Each module was cleanly encapsulated so it’s about a dozen lines of code to convert each module into a stand-alone app that integrates w/the AJAX page.
  2. My AMFPHP backend is fully reusable!! Using JSON for my AJAX calls, I can simply hit
    path_to_amfphp_install/json.php/class.package.classname.methodname/arg1/arg2/arg3

I really need to take some time and check out Wayne’s ZendAMF to see what he’s cooked up there, I’ve been far too busy as of late.

DBF->MySQL

While working on a staging area for a warehouse, I ran across the need to capture a table schema from a DBF file.

If found this link http://ae.inc.ru/dbf2mysql.php

Problem:
While running the program I received this error

error connecting to database client does not support authentication protocol requested by server; consider upgrading MySQL client

Solution:
You simply need to (in mysql):

SET PASSWORD FOR username@’host’ = OLD_PASSWORD(‘password’);

Connecting to 32 bit / 64 bit data sources from Tomcat (Java).

Problem:

When running tomcat your receive the following error when connecting to an ODBC data source
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

Solution:

There are *two* ODBC managers in 64 bit windows. 64 bit ODBC data sources are separate from 32 bit data sources.

The ODBC manager accessed from the Control Panel contains the *64 bit* ODBC data sources.

Launch C:\windows\syswow64\odbcad32.exe to configure the 32 bit ODBC data sources.

If your running a 64 bit app, you’ll have access to the 64 bit data sources. Likewise, if your running a 32 bit app you’ll have access to the 32 bit data sources.

For Java apps, you’ll need to invoke the app with the correct JVM (32 bit or 64 bit) to have access to the desired data sources (32 bit or 64 bit).

On Vista, the 32 bit JVM(s) can be found (by default) at C:\Program Files (x86)\Java\jre6\bin. The 64 bit JVM is at C:\Program Files\Java\jre6

Catalina.bat (used to start tomcat) looks to see if JRE_HOME is defined so make sure this is pointing to the correct JRE or update catalina.bat accordingly.

Iterating a Filtered Collection

Okay, nothing profound here but thought I’d post as it’s a common question.

If you have filtered a collection,

ex

var ac:ArrayCollection = new ArrayCollection();
...
...
ac.filterFunction = myFilter
ac.refresh()

but you’d like to iterate over / access the unfiltered collection, simply use the .list property


var items:IList = ac.list

cheers

Josh

RSL Loading Multiple Dynamic Modules

So I ran into a Flex bug recently documented here .

If your using the framework RSL (Runtime Shared Library) and loading modules, you should read the latter link. I was loading multiple modules and noticed that that they all didn’t necessary load. A little searching and I stumbled upon the open bug in JIRA.

One suggested work around was to load the modules sequentially. This works but doesn’t make for the best user experience. In my case the modules were being loaded dynamically and added to a viewstack. I opted to create a ‘lazy module loader’ component that loads the module on creationComplete().

I filled my viewstack with these components, made sure the viewstacks creation policy was set to ‘auto’ and voila, every things is working great. Of course one could avoid this component and add each module to the viewstack directly – in my use case I don’t want the main app to have to compile in [i.e. bloat] all [any of] the modules when, depending on the users auth they modules may not be used.

South Bend Flex User Group: RIA @ the Bend

If your close to the South Bend, IN area, I’ll be heading up a new Adobe Flex User Group (http://groups.adobe.com/groups/3595576894/summary). Tim Eash, another local Flex developer will also help head up the group. We’ll be updating the group site over the next few weeks.

We’ll be meeting monthly at I.U.S.B. starting in January. Many thanks to Dr. Hakimzadeh, director of Informatics at I.U.S.B. for setting up the facilities.

The groups focus is Flex, Air, ActionScript, and Catalyst development. If you have any topics you’d like to discuss just let me know.

Flex 4 Gumbo Compiler Benchmark

‘Benchmark’ is being used pretty loosely here. I just got back from MAX and thought I’d check out the new compiler performance.

In addition to the exciting new display logic separation (Spark Framework), the SDK team has worked on speeding up compilation.

I compiled (incremental build) a project containing 57K lines of code (34K AS3, 23K MXML) under the 3.1 SDK via FlexBuilder. The compile took 40 seconds.

I then pointed FlexBuilder to the Flex 4.0.0 SDK. Make sure you update the ‘Require Flash Player Version’ on the Flex Compiler settings page to 10.0.0. If not you will receive errors including

1046 type was not found or was not a compile-time constant Matrix3D

After building the project I then preformed the same incremental build under 4.0.0 (Gumbo). The compile took 25 seconds.

Results:

SDK 3.1: 40 seconds
SDK 4.0.0 (Gumbo): 25 seconds

That’s not too bad, only ~62% of my original compile time.

MAX 2008 Pre-Event Summary

Okay, the first day of Adobe MAX 2008 is winding down. MAX is being held in San Francisco this year.

Today included registration and full day labs.

Badges

The badges got a technology upgrade this year, no bar codes this year, rather an RFID name badge. The local electronic stores are closed for the night – if I can find some time, it might be a fun project to grab an RFID reader and write up a quick AIR app (this *is* an Adobe conference after all 🙂 to look at the data on the card. The information kiosks include RFID reader/writers that you use to ‘update’ your badge as you change / update your session schedule.

Tidbits

A few of the new features of the next FlexBuilder and AIR Runtime did slip out today. It’s not my place to ‘scoop’ that info – so I’ll wait to post until the general / official announcements are made in the next few days 🙂

Looks like Max 2009 will be on the West Coast again, this time in Los Angeles (Oct 4-7).

For those PureMVC developers out there, Cliff Hall will be broadcasting on Tuesday afternoon from the Marriott.

If your attending Max this year, feel free to drop me a line.