User Group Overload Ends with Tonight's XD Atlanta User Group Gathering
This week has been totally user group overload for me.
Tuesday we had Ryan Taylor present "Intro to Flash Player 10 and Pixel Bender" at the Adobe Flash Platform User Group of Atlanta. Ryan always wows us with his giant brain full of math. The part of his presentation that I thought was most interesting was his examples of Pixel Bender, the tool kit that lets you (yes, you. It looks like it's that simple) script filters and effects for Flash. Ryan has posted his presentation and demo files on his blog if you want to take a look.
Wednesday had me visiting the Atlanta ColdFusion User Group where I was pummeled by comments "Where the heck have you been?" and "You didn't RSVP!" Mea Culpa, my CF friends, I have been neglecting you badly. But tonight's meeting was a must-see event; John Mason gave us an overview of "BlazeDS for ColdFusion Developers" and he did so without showing a chat example (thanks for taking the high road, John). He replaced the unfortunately stereotypical chat messaging example with the much more pertinent ColdFusion error message widget example. John's presentation will be posted on his labs site.
Tonight should also be fun as Michael Hagel has arranged for the XD Atlanta User Group to have a "Summer Social Gathering" at STATS Atlanta, you know, the place where all the 360Flex parties were held (and the only place you could have seen me during 360Flex because I was too busy at work to attend sessions :-( ). It should be great. By the way, Michael, the site is looking great!
See you there!
2324 Views
ColdFusion to Flex Remoting: UPPERCASE Rage!
How are developers handling the passing of Value Objects from ColdFusion to Flex using AMF?
Here is my situation: I am using ColdFusion as I believe that it was originally intended --- for rapid application development. The difference here being that the application is actually being built in Flex and ColdFusion is being used to manage the data coming from the server. I don't know Java and when I have to get work done without a Java developer available, I turn to my good friend ColdFusion to help me out. ColdFusion makes it easy for me to get my entire Flex application completed (well, as completed as possible) before the Java developers have touched their keyboards. Other than the specific problem I am about to describe, it appears to be working out for me.
I am quite certain that I am not the first person to run into this, and it seems like there should be a better solution than the ones that I have seen. On the ColdFusion side, I have a Employee.cfc that extends Person.cfc that extends User.cfc. I would like to make a call to my main CFC file passing a UUID and have that method return an Employee Value Object.
When I create the Value Object in a CFC and pass it to Flex all of the properties in the value object are in UPPERCASE. I could make all of my property names in my ActionScript Value Object UPPERCASE, but why the heck would I want to do that?!? I am baffled at why if I set something in a CFC to "id" I get it returned to me in Flex as "ID". For that matter, I should be able to make my property appear as "firstName" and have it return to me that way. I am pretty sure that there is a very technical reason for this, but damn... just damn.
So, I do have alternatives.
Since the query in the controlling CFC returns to Flex a perfectly formed Struct inside an ArrayCollection, I could just loop through the ArrayCollection and cast each Struct into a Value Object. The problem here is that 1) when I ask for one object, I should expect to get one object and not one object inside and array, and 2) when/if this project's back-end is converted to Java (which in this case is a certainty) I'll have to go in and change everything (and this is a problem, too, with the CFC solution. I am never going to get a Java developer to create a Value Object file that has properties in UPPERCASE. It's like screaming!)
Then, there is the option of creating a Struct from the Query and passing that along to Flex. I get what I want on the Flex side, but it totally ruins the object-oriented goodness on the ColdFusion side of things.
This is probably only bothering the Flex developers out there like me, but it's an problem I would like for Adobe to solve. Right now, since I know that this project's back-end will be created in Java eventually, I think I will be going with the last option of converting the Query item to a Struct. That is, unless someone comments here with an option I have not seen. Is there a better option? Is there a setting in ColdFusion 8 that will change this?
4493 Views
Upgrading to Mac OS X 10.5? Get your Official Adobe CS3 Leopard Support FAQ's Here
From what I've been hearing, the only people who are having big problems with using Adobe products with the newly released Mac OS X v10.5, codenamed Leopard, are ColdFusion developers. Find out how your favorite Creative Suite product performed in the Adobe CS3 Leapard Support FAQ (pdf). As the document looks today, Adobe says they will have updates in December to make Adobe Premiere Pro CS3, After Effects CS3 Professional, Encore CS3, and Soundbooth CS3 fully compatible with Leopard. Adobe Acrobat Professional will also receive an update in January 2008 to make it compatible as well. Products pre-CS3 may or may not work.
The reported problems with ColdFusion are that the server will not start after the update, and will not start after a clean install on Leopard. ColdFusion installs, but will not start and will log errors on start-up. You can follow Ray Camden's blog post and comments here. I wish I could be more helpful. It is completely understandable that ColdFusion doesn't work properly as Leopard updates a bunch of server-oriented software. And with fact that every Adobe developer and manager that I saw at MAX 2007 was carrying a Mac Book Pro makes me believe that Adobe will either provide a patch for the problem soon or at least give everyone the heads up on what we can do to make ColdFusion work on Leopard.
The AIR product isn't even out officially, with the second public beta released on the Adobe Labs site. AIR application users (and developers) are warned by Mike Chambers on his blog:
"I pinged the team and they they told me that they are currently doing some testing, and havent run into any major issues yet. However, we are seeing some reports of issues from developers online, so if you are currently working on an AIR app, you might want to wait a little while to upgrade until we have more information."
Sound advice, Mike. Sadly, most of the people who will be disappointed with Adobe are the very people who could not wait for their pre-ordered Leopard package was dropped at their door by FedEx so that they could update every Mac they own. (And, yes, I am jealous because I have no Mac of my own.)
2802 Views
Upgraded to BlogCFC 5.8.001: Ray Camden is Awesome
After a lot of crazy misconfiguration on local development machines I have now officially updated to BlogCFC 5.8.001 --- I figured that I better update my server now while Ray Camden was not working on BlogCFC. That guy is way too productive, if you ask me! (Just kidding, Ray. You are awesome.)
I really love the Pod Manager. It allows me to control the "e;Pods"e; on the right side of the page.
1660 Views
Fun with Coldfusion: BlogCFC, Ant and ACFUG
So, in my "spare time" this week I have been doubling my efforts for completing the changes to the Adobe User Group of Atlanta Web site. The AUGA site uses Coldfusion, naturally, and I am using BlogCFC as the code base of the site and have been trying to extend BlogCFC to allow for event, locations, sponsor, announcement email, rsvp and attendance management. The goal was to be completed before MAX 2006 next week so that I could show some of my fellow user group managers how it works.
I really like Coldfusion. If I had the time I'd learn how to be a good Java programmer. I don't have the time and I am surrounded by Java programmers who I'll never be able to catch up with so I don't try. Coldfusion gives me a way to (gasp!) rapidly develop Web applications without needing a Java developer. We don't use Coldfusion at Roundbox (I get snickered at any time I mention it), but there are times that I need to test some aspects of back-end integration and have no access to a Java developer, so I am trying to use Coldfusion more. I have also been using Coldfusion more in my personal development practice. Coldfusion is pretty awesome.
I wanted to write about some obstacles I've had over the past weeks.
The first problem is Ray Camden. Seriously. The man is like a mad beaver feverishly working on all of his open-source projects making it completely impossible for non-Jedi Knight level developers to keep up. All kidding aside, Mr. Camden's code and character are exceptional. My real problem with extending his BlogCFC code was my work flow. My files were not set up like the BlogCFC Subversion repository and I had no way of tracking changes to the repository and changes/additions that I made to the files. It was driving me crazy.
I asked around the office, since I was obviously not "getting it". Les Hazlewood said, "Leif. It's called Ant." thankfully leaving the Napoleon Dynamite "Gosh!" out of the sentence. How stupid of me to not think of Ant. I've used Ant ever since we moved out of the Flash IDE and into Eclipse for all of our Actionscript development. It is a great way to run automated tasks like moving files around or running command-line applications (yes, I know it does a lot more than that, but I am trying to keep things simple).
Now that I am using Ant inside Eclipse along with the CFEclipse plug-in, this is how I have things set up:
Note: I realize that to some of you Coldfusion folks this may sound pretty simplistic. Humor me.
1) The Repository: I download the BlogCFC Subversion repository from the link that Mr. Camden has made available into a folder named, for simplicity sake, "leifwellsBlogCFC". This means that any time there is an update to BlogCFC all I need to do is run and update to get the code. The code will either merge with my changes, or I will get a conflict that I will need to sort out.
2) The Ant Task: I have a build.xml file in the root of the "leifwellsBlogCFC" folder that contains a task that allows for me to create a "build" folder and dump all of the source files from BlogCFC into their proper places. In my case the task copies all of the code from the "client" folder into the "build" folder and then, since leifwells.com is hosted in a shared environment, the task adds the "org" folder to the root as well. When I make changes to the code, all I need to do is run this task and all the code is loaded into the build folder.
3) Virtual Mapping: Finally, I go into my WEB-INF folder (mine is located at "C:\CFusionMX7\wwwroot\WEB-INF" and edit my "jrun-web.xml file so that http://localhost:8500/leifwells/ is pointed to my "leifwellsBlogCFC\build\" folder.
This is working great for me. If you have suggestions as to how to further improve this workflow, feel free to let me know.
The other thing I was having trouble with was reading cfselect with multiple selections. To my credit, I had checked the documentation for Coldfusion about doing this, but unfortunately there were no examples that showed reading of the values. I found out what I was supposed to do, but I was having problems getting it to work.
When I have questions that the livedocs don't answer, where do I turn? ACFUG, that's where.
I've been a member of the Atlanta Coldfusion User Group (ACFUG) for several years, and I even served on their Board of Directors a while. One thing that I know about ACFUG is that their members know much more than I do. The ACFUG mailing list constantly has people intelligently discussing advanced topics. I sent out an email to the mailing list and in less than 11 minutes I found that what I was trying was the correct way to approach the problem, but I was not doing it correctly. In less than four hours I had a very complete answer from Charlie Arehart himself, president of ACFUG and all around nice guy.
Thanks, yet again, ACFUG for saving me time (and stopping me from pulling out my hair).
I enjoy working in Coldfusion and look forward to growing my skills. I look forward to adding Coldfusion to my list of weapons in my rich Internet application arsenal.
3390 Views
BlogCFC: Trackback Spam Killing Made Easy
I just fired off an email to Ray Camden thanking him for the Trackback Spam prevention and deletion.
For those of you who may not know, BlogCFC is the bloging software that Ray has created and offered to the community that many people in the Adobe community use. It requires Coldfusion and a database (MySQL, MSSQL and Access are supported) but there are plenty of hosts out there who have affordable hosting (I am currently using HostMySite for all of my sites).
The Trackback Spam feature is great. BlogCFC merely sends me a note anytime someone adds a trackback link to an entry. If the link is not of a legitimate nature, i.e. is Spam, I merely click a link in the email, and "bam", no more link. No matter of where I am in the world, if I can check my email, I can kill any trackback spam that might be leaching my site.
If you are interested in BlogCFC and want to learn more, Ray has launched BlogCFC.com to track his progress with version 5 which is in development. I am excited to see the progress that Ray is making and plan on using BlogCFC 5 when it becomes more mature.
Does Ray ever sleep? I mean, really, he has created software for blogging, forums, surveys, wiki, bug tracking,... seriously; he has to be an extremely efficient and motivated individual.
Thank you again, Ray.
8470 Views
Charlie Arehart: New Atlanta's Loss, ACFUG's Gain
I'd like to take this opportunity to welcome Charlie Arehart as President of the Atlanta Coldfusion User Group (ACFUG).
Charlie has always been a positive influence in the Coldfusion community. When he announced that he was coming to Atlanta, I was thrilled. Last month he mentioned that he was leaving New Atlanta. I immediately assumed that he'd be leaving Atlanta and I was disappointed. But Josh Adams (hm, speaking of making moves), the now former president of ACFUG, announced on Friday that Charlie had been voted by the ACFUG Board to become the new president, I was relieved.
Congratulation to you, Charlie. Your are following in some great foot steps. All the best of luck moving forward.
And to all the ACFUG members, please remember how lucky we are to have a great group and have great community leaders in that group and have such highly skilled Coldfusion developers on our dsiccusion list.
Long live the ACFUG.
1600 Views



