This year's cf.Objective() is offering SIX pre-conference classes! You can choose from Building Secure CFML Applications, ColdBox: 100 Training, Developing Applications with ColdFusion 9 ORM, Getting Started with Flex / AIR Development, Mach-II / OOP from the Ground Up, Rapid Development with Model-Glue 3! Wow!
Some of these are one-day courses (Wednesday April 21st) and some are two-day courses (Tuesday April 20th and Wednesday April 21st).
The CAB start by approving the tracks (we'll have four in 2010, very similar to the 2009 tracks) and then pick about a dozen topics they think 'fit' in each track. Some of these topics are popular staples, some are deliberately bleeding edge and / or very advanced, in keeping with the conference's reputation.
Next, the CAB pick up to three speakers for each topic so that we get a chance to see multiple submissions on each topic and can pick what we think sounds like the best content for the attendees. Some speakers get multiple topic invites, some get only one. An invite is not a guarantee that you'll be picked but it gives you 'first shot' at slots on the schedule (indeed, about half the submissions are rejected precisely because we invite multiple speakers to submit on each topic!). Our goal is to fill about 80% of the schedule this way.
Once we have the initial responses in, we'll open a public Call For Papers for general submissions to fill most of the remaining 20% (the platinum sponsor gets four slots plus a keynote).
I think the CAB have done a great job this year and we have some great topics lined up. As soon as we can confirm speaker submissions, I'll post a list.
In the meantime, here's the CAB volunteers:
- Architecture & Design in Software
- Brian Kotek
- Brian Meloche
- Matt Woodward
- RIA: Flex / Ajax / AIR
- Laura Arguello
- John Mason
- Dan Wilson
- Process & Methodology (including Frameworks)
- Mark Drew
- Adam Haskell
- Kurt Wiersma
- Tools & Integration
- Jeff Coughlin
- Peter Farrell
- Bill Shelton
Saturday is ColdFusion day, Sunday is Flex day. Each day is just $10 and offers a choice of three all-day training courses or three full tracks of sessions (two intermediate and one advanced)! You can still register here for the conference!
More information about the content each day:
BFusion is a full day of hands-on ColdFusion training. It features a true beginners track, a beginners track for programmers new to ColdFusion, an intermediate track on framework-based development, and other hands-on sessions for intermediate and advanced developers.Check the web site for hotel availability if you're not local!BFlex is a full day of hands-on Flash Platform development with Flex, AIR, Catalyst, and Flash Builder. It also features beginner and true beginner tracks, as well as hands-on sessions for intermediate and advanced developers. New this year is a track for designers looking to use Adobe Flash Catalyst for developing Rich Internet Applications.
Learn about Flex 4, Flash Builder 4 (formerly Flex Builer), Flash Catalyst, ColdFusion 9 and Bolt!
Make sure you RSVP via the BACFUG website!
We still have three speakers marked "TBD" (Working with Transfer, Service Oriented Architecture and Adobe's 'Flex topic') but we expect to announce those in the next few days.
There are still two BOF slots available for RIA topics if anyone wants to lead a session!
These topics have been added to the schedule - and the online scheduler (yes, we know the Printable Summary doesn't work - Joe is having an issue with his hosting company and hopes to get this fixed soon).
Another Adobe topic - covering Flex - is on the schedule but we do not yet have the title or description.
cf.Objective() 2009 is offering last year's price of just $629 for three days of all-new material - no repeats this year! - so it represents incredible value. Also, don't forget that there is a one-day ColdBox training course on the Wednesday before the conference!
{
performSomeCalculation()
return someComplicatedExpression
}
The particular getter I added was only valid when certain data in the object was non-null. In all of the mainline use cases inside the application, this was fine. The complexProperty was only ever accessed after testing the condition on the object:
{
doStuffWith( myObject.complexProperty )
}
The bug I ran into was that sometimes remote calls involving this object silently failed. I didn't get a fault back. It was almost like the call just didn't happen. Puzzled, I fired up the Flex Debugger (which is absolutely awesome!) and traced through the code. No visible exceptions, no strange paths being executed in the code. More puzzled, I fired up JBoss in the Java Debugger under Eclipse and put a breakpoint inside the server method that was called. Strangely, the code ran without hitting the breakpoint! That showed that the call really was not happening for some reason.
Back in the Flex Debugger, I set a breakpoint just before the remote call and took a very close look at the object in the Variables panel when I hit the breakpoint. It showed the custom getter as a property on the object (as expected) but the value in the debugger showed an exception was thrown retrieving the property. Then it hit me: Flex Remoting tries to serialize the object by calling the getters and it was failing due to the exception - and silently swallowing the exception without telling me, and without executing the remote call!
I updated the getter to return a default value if the condition (myObject.someCondition) was false and, sure enough, the object serialized just fine and the remote call was successfully executed!
Moral of the story: if you add custom getters to ActionScript objects, make sure they cannot throw an exception when the object is in a state where you need to send it to the server using Flex Remoting!
Brian's first post just shows the very basic setup (how to specify the classes that Swiz manages and how to load them into your application).
If you're using ColdSpring today in CFML and you're interested in learning Flex, Brian's series might be very useful to you.
If you're tired of the boilerplate code that Cairngorm makes you write (or generate), Swiz might be just what you're looking for and Brian's series will be good reading for you too.
We use Swiz at Broadchoice, in our Workspace for Salesforce desktop application (built with Flex and AIR) and we all love working with the framework!
It seems that only two ColdFusion sessions are listed, one of which is my Event-Driven Programming in ColdFusion session. The other is Rob Brooks-Bilson's Advanced ColdFusion Caching Strategies. Searching Adobe TV for ColdFusion turns up nine videos, six of which are part of the Adobe Developer Connection series from Adam Lehman and Ben Forta.
If you haven't checked out Adobe TV as a learning resource, there's definitely some good stuff up there.
I've been working with Spring quite a lot over the last few months - we use it to wire things together behind the Broadchoice Workspace - and it constantly amazes me how comprehensive the Spring project is - see below for an example.
By integrating the open source BlazeDS project directly into Spring, Adobe brings Flex integration to a vast community of Java Spring developers who can now expose their Java services to Flex UIs in a very simple way. It should really help the uptake of Flex in the Java community!
An example of Spring's comprehensive nature: Ray blogged about sending email using Spring's mail support via Groovy. I recently built a new Model-Glue 3 app on top of our Groovy services and needed to send email. I could have used CFMAIL but Railo has a bug that does not allow + in email addresses and I didn't want that restriction (since we send email elsewhere directly from Groovy). It was very simple to use the same Spring mail package directly from CFML by declaring the Spring-managed beans in the CFCOMPONENT tag of my controller so that Model-Glue would autowire it!
Broadchoice Workspace is deployed on the cloud and whilst most of the machinery is Java/Groovy behind the Flex/AIR application, we also have the iPhone-compatible web version which is powered by CFML. It's a Model-Glue 3 / ColdSpring application that reuses the core Groovy services (via a Spring adapter that Joe Rinehart wrote).
So we've been running CFML in the cloud in production for nearly two months now and it's working out really well for us. We're using Railo 3.0, another option for cloud computing.
Adobe have said that cloud deployment is something they want to make possible with ColdFusion so at some point we'll have an embarrassment of riches in terms of choices for CFML in the cloud.
Who else is using CFML in the cloud today? Who is thinking about doing so?
What is your preference - .Net, PHP or Java ?Some of the respondents had specific preferences, some talked about the pros and cons of each. Several pointed out that the requirements should drive technology choices, not preferences, and that considerations of the client's existing technology stack were important. A few mentioned Ruby or Ruby on Rails, and even Grails got one mention. Spot anything missing?I am coming across very open requirements when it comes to preferred web platforms.
I welcome your input to see what are your preferences.
Here's the response I posted to the IT Architects group:
A few people mentioned Ruby / Ruby on Rails as a potential technology for web applications. Groovy is also a strong contender for shops that lean toward Java. For the last seven years I've been involved with a lot of web projects that use Adobe's ColdFusion markup / scripting language. It compiles to Java bytecode and runs in any Servlet container - and therefore has very strong integration with Java. It also has a large library of built-in functionality tailored for the enterprise, such as PDF manipulation, JMS support, automatic SOAP web services support for components, integration with SMS and so on.Thoughts?It's also worth considering that these days the requirements placed on web applications are increasingly sophisticated and user interfaces need to support more than just simply data entry and table-based display. AJAX gets you part of the way there but it takes a lot of development time and it's hard to maintain cross-browser compatibility. Adobe has done a lot of work on the Flash Player over the years and their Flex tooling is quite remarkable with the XML-based "MXML" UI layout language and the ECMAScript-based "ActionScript" programming language.
Whilst some may rail against a proprietary technology stack (although it doesn't appear to be an issue for people who prefer .NET / Microsoft), Adobe has also worked hard in the Open Source arena, donating the core of the Flash Player engine to the Mozilla project (as Tamarin) and providing the Flex 3 SDK as open source, as well as the server-side messaging engine BlazeDS which provides Flex's bridge to Java (or Groovy). The Adobe Integrated Runtime (AIR) allows you to take web applications to the desktop as well to provide occasionally connected online/offline capability. As others have noted, requirements are the key driver, along with any client considerations of existing technology or preference. I was just surprised that no one had mentioned the web tooling of one of the other largest software companies out there...
Disclaimer: I was the senior architect for Macromedia's IT division for several years and remained with Adobe for a year after their acquisition of Macromedia so I am somewhat of an evangelist for their technologies (and just came back from their annual MAX conference in San Francisco where they showcased their current and future technology offerings).
This is a substantially different version of the talk seen at Scotch on the Rocks and CFUNITED...
Commercial use will be just $99/user per year with educational licenses at $49/user per year. Registered non-profit organizations can get free licenses.
If you're also a Salesforce user, you'll love the integration between groups in Workspace and your company's Salesforce account, allowing you to see open opportunities directly in the Workspace and create collaborative spaces based on opportunities so that you can work with your non-Salesforce peers on closing deals!
Working with Brian Kotek, Joe Rinehart and Ray Camden on this application has been a wonderful experience. We've all learned a lot from each other as we've learned a lot about Flex, AIR, Groovy, BlazeDS, Spring, Hibernate and integration with CFML via Model-Glue 3 (Gesture) and ColdSpring!
Also, for Workspace users on-the-go, there is an iPhone-compatible web application (with plans for full Blackberry support by year end).
It's running on the Broadchoice Collaboration Platform, our "2.0" ColdFusion-powered platform - not to be confused with the Broadchoice Workspace, our "3.0" AIR/Flex desktop application that launched in beta today!
Here's a screenshot of the latest internal build, running on my laptop (with real content!) - the navigation and layout has changed a bit since our earlier screenshots - but we're all using the Workspace in-house to collaborate on projects as we draw closer to launch:
In addition to the AIR application, we're also working on an iPhone web application - built with CFML - that exposes all the Workspace content as well as providing the ability to send messages to spaces.
Folks who sign up for the beta program will get to experience both of those!
The beta will start next week on a first come, first served basis (so those who have already signed up will get their login credentials and access instructions around the 15th - thank you for your patience!).
- Monday
- Opening General Session
- Adobe Roadmap: Enterprise
- Flex Architecture Face-Off - panel
- Real-Time Collaboration Apps with Flex and Cocomo - Nigel Pegg
- Tuesday
- Mixing Open Source and Commercial Software
- General Session
- Adobe@Adobe: IT Innovation
- Developing Rich Applications with jQuery and Adobe AIR - John Resig
- The REST of SOA
- Wednesday
- Advanced Patterns for ColdFusion Test Automation - Bill Shelton / Marc Esher (MXUnit)
- Building Real-Time and Collaborative Applications with Flex and BlazeDS
- Event-Driven Programming in ColdFusion - an updated version of my session from Scotch on the Rocks and CFUNITED
- Cocomo Deep Dive: Building Social RIAs with Flex + Adobe Hosted Services - Nigel Pegg
- Developing Enterprise ColdFusion Applications - Joe Rinehart
Also a reminder that BACFUG meets on the Wednesday evening immediately after MAX ends and I am pleased to announce that we are having a double session with some MAX speakers:
- Bill Shelton and Marc Esher will present on Unit Testing in ColdFusion with MXUnit
- Joe Rinehart will present on Model-Glue 3: Gesture
That's a smokin' deal courtesy of BFusion & BFlex '08.
- JBoss 4.2.3 GA installed as a Server in Eclipse (using the Web Tool Platform JEE stuff)
- Spring framework 2.5.5
- A Spring-based Flex factory that allows Flex Remoting to talk to objects via Spring (author Jeff Vroom)
- Groovy - set up per Joe's recent instructions
- BlazeDS providing the Flex Remoting service
<factory id="spring" class="flex.samples.factories.SpringFactory"/>
</factories>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<!-- load Spring's WebApplicationContext -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<properties>
<factory>spring</factory>
<source>placeholder</source>
</properties>
</destination>
Create a Flex AIR project and define a RemoteObject that refers to the destination you just defined:
destination="place"
endpoint="http://127.0.0.1:8080/bcpbackend/messagebroker/amf"
>
<mx:method name="test" result="testResult(event)" fault="testFault(event)"/>
</mx:RemoteObject>
Add the placeholder bean definition to your applicationContext.xml file:
Matt Chotin is asking what non-Flex resources helped you learn this in order to grasp Flex's programming nuances.
If you are a Flex developer these days but had to go through that broader learning curve, comment on his blog post with specific recommendations for books, blogs, websites etc that helped you.
I haven't made it to WotP yet but given the atmosphere and buzz at MXDU/webDU, I'll bet it's a great event - the aussies are a terrific bunch and there is so much hardcore RIA work going on down under!
Workshop Prequisites for cf.Objective() 2008
This document will continue to be updated between now and the conference but this should help you get ready for your workshop session.
We've worked hard to make cf.Objective() 2008 a "must see" event. We have a number of firsts this year that we're very proud of:
- The public release of Open BlueDragon on May 3rd!
- The public unveiling - and Alpha - of Model-Glue 3: Gesture!
- The public unveiling of Mate, the new Flex framework from AsFusion!
- The first conference to feature the latest rising star in the frameworks world: ColdBox - with an introductory session and a two hour, hands-on advanced workshop!
- The first public information about Swiz, the new Flex framework from Chris Scott of ColdSpring fame!
- Speaking of Chris Scott, we're the first conference to feature a two-hour, hands-on workshop for ColdSpring!
- We're also the first conference to feature a two-hour, hands-on workshop on agile development for ColdFusion developers by the leading light in automated process & testing, John Paul Ashenfelter!
If you're a Mach-II user - or thinking of using Mach-II - you might also be interested in the pre-conference classes.
- Mate - Laura Arguello
- Cairngorm for ColdFusion Developers - Brian Rinaldi
- Flex: No Frameworks Required - Maxim Porges
Would folks be interested in a Flex frameworks shootout BOF?
- Flex 3 for ColdFusion Developers - Mike Nimer
- Agile Bootcamp: What ColdFusion Developers Need To Know - John Paul Ashenfelter
- ColdSpring l337 - Chris Scott
- Advanced Techniques With The ColdBox Framework - Luis Majano
As we see which sessions are going to be the most popular, we'll finalize the Sunday sessions.
Adobe Developer Week is back, next week, March 24th thru 28th. Topics cover AIR, ColdFusion 8, Blaze DS with twenty sessions spread throughout the week.
Lots of AIR / Flex 3 stuff as well as three ColdFusion sessions!
It was an enjoyable discussion with some differing opinions and looks like being the first of an ongoing series of roundtable format shows. Next week's edition will cover's New Atlanta's announcement of BlueDragon J2EE going open source, among other things.
You can download episodes (sorry, "editions") from the site or subscribe via iTunes.
Browsing through the Grails site, I noticed they have a plugin for Flex so I figured I'd try it out.
Following the instructions, I installed the plugin (grails install-plugin flex) which took a fair while to fetch the plugin from the codehaus.org site and build it and install it into my project. Then I created a service class - a regular Groovy class - with just this one additional line:
Then I put my main.mxml file in the web-app directory of my Grails project with these lines inside the mx:Application tag:
<mx:Button label="Hello" click="ro.hello()"/>
<mx:TextInput text="{ro.hello.lastResult}"/>
Then I hit the MXML file in my Grails app:
http://localhost:8080/bookstore/main.mxml
Much churning ensued as the Flex app was compiled on demand and then up it came with the Hello button. Click. The return value from my HelloService.groovy hello() appeared in the text box.
It's a trivial app but it showed just how incredibly seamless the integration is. It uses the Web Tier Flex compiler for on-demand MXML compilation and it automatically manages the destinations for you.
It'll be a big event - we have around 150 RSVPs so far across the three groups!
- 6:30pm for food / drink / networking
- 7:00pm for the main presentation from Ted Patrick, Adobe's Technical Evangelist for Flex
The raffle will include:
- iPod Nano
- Flex Builder 3 Professional ($699 value - when released)
- CS3 Web Premium Suite ($1,599 value!!)
Due to the popularity of this event, we will be in the "Town Hall" open space inside the security area so you must RSVP using the BACFUG web site - http://bacfug.org/ (scroll down - the RSVP link is below the meeting information)
Direct RSVP link.
About this presentation:
Flex 3 and AIR are getting close to launch and in preparation, Ted Patrick from the Adobe Flex/AIR product team is traveling to select cities to show off the great new features and help prepare us for this exciting launch.
Flex 3 is a feature-packed release, adding new UI components like the advanced datagrid and improved CSS capabilities; powerful tooling additions like refactoring; and extensive testing tools including memory and performance profiling, plus the addition of the automated testing framework to Flex Builder.
Adobe AIR is game-changing in so many ways, extending rich applications to the desktop, enabling access to the local file system, system tray, notifications and much more. Now you can write desktop applications using the same skills that you've been already using to create great web apps including both Flex and AJAX.
Don't miss out on the opportunity to see and hear about this highly anticipated release of Flex 3 and AIR during this special pre-release tour. Plus, in addition to giving away some one of a kind Flex/AIR branded schwag, we will also be raffling off a copy of Flex Builder 3 Professional (pending availability), a full commercial copy of CS3 Web Premium and an iPod Nano at this event!
About Ted Patrick:
Ted Patrick is a Technical Evangelist for Flex at Adobe Systems. He worked with Flash since FutureSplash Animator and watched its evolution from animation to application.
Ted helped Macromedia/Adobe with the development of ActionScript 3, AVM2, ASC compiler, and Flash Player 9 for some 18 months prior to Flex 2's release.
Prior to joining Adobe in May 2006, he provided consulting services at PowerSDK Software and Cynergy Systems.
Ted is a serial entrepreneur having successfully started-up 4 times and raised over 7 Million in VC funding for companies he founded.
3 companies have been successfully sold to other businesses and one was sold to a publicly traded company in 2001. Ted is actively involved in the Flex development community and works at Adobe to define the future of rich media.
We will be raffling off some incredible prizes:
- Flex Builder 3 Professional (shipped after launch)
- CS3 Web Premium
- Apple iPod Nano
Read the BACFUG website for more details and make sure you RSVP (on the BACFUG website) since the meeting will take place inside the security perimeter at Adobe's San Francisco building!
AIR Beta 3, AIR extensions/updates for Flash CS3 and Dreamweaver CS3, Flex 3 Beta 3, BlazeDS, Brio Beta, Flash Player 9 Update...
Good grief!
I just installed the new Flex Builder plugin but won't get a chance to put it through its paces for a few days. The AIR installer is sitting on my desktop and I'm just about to install the updated Flash Player. Oh, and I have my Brio account but haven't had time to play with that either. Maybe Adobe think we need something to keep us busy over the holidays?
Check out Adobe Labs to see what you might be missing!
We all got together early in the summer and came up with the tracks:
- Architecture and Design in Software
- RIA - Flex / AJAX / AIR
- Frameworks A-Z
- Process and Tools
- Platform: Database Tuning & (Application / System) Security
- Tony Hillerson - Offline/Online Features of AIR
- Charlie Arehart - Hidden Gems in CF8
- Michael Smith - Using your Whole Brain for Developers
- Paul Kenney - Test-Driven Development with ColdFusion
- Sean Corfield - Design Patterns and ColdFusion
- John Paul Ashenfelter - Pragmatic ColdFusion: Build, Test, Deploy
- Matt Chotin - Introduction to Flex with ColdFusion
- Introduction to Design Patterns
- Advanced Design Patterns
- Integrating ColdFusion with .NET and other Microsoft technologies
- Publishing and consuming Web Services
- Interface-driven design (interface = API)
- Introduction to AIR
- Data synchronization techniques with AIR
- Designing for multiple user interface technologies
- Designing for code reuse between AIR and Flex
- Real-time data management with LiveCycle Data Services
Soon we'll be posting a general call for speakers. Watch this space!
Remember that registration is already open for cf.Objective() 2008!
See this blog post for more details on the speaker selection process.
Currently flights from the Bay Area to Sydney are around $1,200 including taxes... hmm...
I'll be blogging more about Model-Glue: Flex in due course - I'll be using MG:F, rather than Cairngorm, for the Flex (and AIR) development work I'll be doing over the coming months.
It's also worth noting that Model-Glue 2.0 is now an official release.
What do you get? A slick, clean monochrome interface with simple, intuitive controls. A library mode and a reading mode. Bookshelves to organize your books. Bookmarks. Text search. All in a 3Mb download.
Adobe has quite a few free sample books in its library to get you started.
Bill McCoy has plenty more details in his blog, in particular details of support for EPUB (aka OPS), an open standard, reflowable XHTML-based format.
Dave noted that Adobe has been active in Open Source for a good long while but has recently begun to move away from the Adobe Open Source License (a vanity license - like the old Fusebox license) to more standard licenses such as BSD and MPL. We've seen the ActionScript Virtual Machine released to the Mozilla Organization (as Tamarin) and this week the Flex 3 SDK was just released as Open Source with the ActionScript and MXML compilers and ActionScript debugger all following later this year.
You can keep tabs on Adobe's voice for Open Source on the Open at Adobe blog.
You can read about (some of) Adobe's Open Source projects on opensource.adobe.com, which includes the Adobe Source Libraries and the Generic Image Library. The latter was accepted into the Boost project for C++ - an open source library project that I was involved with back in 1998, when I was still involved with the ANSI C++ Standards Committee!
Dave also mentioned RIAForge which is probably the most well-known Open Source effort around Adobe technologies, as far as the ColdFusion community is concerned.
There are quite a few changes between the Apollo Alpha (aka "M3") and the new AIR (aka "M4") builds so you'll have to make some source code changes to rebuild your Apollo apps. It's not a big deal - I had my Apollo app - an administrative console for a website - up and running as an AIR app in just a few minutes. Despite the new Flex 3 SDK, my (recompiled) Flex apps and my new AIR app seem to work just fine with my existing CFMX 7 and CF 8 sites.
And tomorrow I get a whole day of training on AIR so I'll have more to say in the next few days.
Thank you to all the other folks who entered - I had about dozen entries in total, with half of those being within a very narrow window, around quarter past midnight!
Nearly 1,000,000 visitors have come to An Architect's View since I started blogging in June 2002. Dan Wilson suggested that I run a contest for the millionth visitor and then donated a prize so here's the contest!
The counter, as of this posting, is at 999,409. The person who takes a screenshot of the counter when it is closest to 1,000,000 visitors and sends it to me will win the "Flex 2 Essential Training" videos from Lynda.com.
But wait, you Photoshoppers... Sure, anyone can cheat. So to help prevent PhotoshopFraud, you must also send me the time you took the screenshot. This is something I can easily double check (because only I will know the timestamps on all the other screen shots submitted!).
The winner will be announced a few days after the counter reaches 1,000,000 visitors (to allow for folks to get their screenshots in).
The videos are being donated by Dan Wilson who is very keen for this contest to happen and, for some strange reason, really likes my blog!
Many thanx to Dan.
Get screen grabbing!
I just finalized my schedule and, somewhat to my surprise, my session choices are nearly all Flex! So I guess you could say CFUNITED is a great conference for learning about Flex :)
Here's where I'll be:
- Wednesday
- 8:00am - Welcome - Michael Smith et al (KN)
- 8:30am - Adobe Keynote - Ben Forta (KN)
- 10:15am - Flex 101 - Ted Patrick (FL)
- 11:30am - Leveraging ColdSpring to build robust Flex applications - Chris Scott (FL) - Yes, I know I saw this at cf.Objective() - it was a good session!
- 2:00pm - Integrating Spry and ColdFusion - Andrew Powel (FL)
- 3:15pm - OO Flex: An introduction to the Flex Framework - Andrew Trice (FL)
- 4:30pm - Using the Adobe Flex toolkit for Salesforce.com - Steve Rittler (FL) - Because I missed it at cf.Objective()!
- 6:00pm - Networking Event
- 8:00pm - Solo Coding - Charlie Arehart, Chaz Chumley, Mark Drew (BOF)
- 9:00pm - Apollo and Flex fears debunked - Andrew Powell (BOF)
- Thursday
- 8:30am - Testing CF Applications - John Paul Ashenfelter (ME)
- 9:45am - Continuous Testing with Flex and ColdFusion Projects - Thomas Burleson (FL)
- 11:30am - The Future of BlueDragon and CFML - Vince Bonfanti (KN) - Very interested to see progress on their "IronDragon" / DLR project!
- 1:45pm - Prototyping Applications with Flex 2.0 (FL) - Should this be 2:00pm I wonder?
- 3:15pm - AJAX Integration with ColdFusion 8 - me! (AC)
- 4:30pm - Using MVC with Flex/ColdFusion projects - Thomas Burleson (FL)
- 7:00pm - CF Celebration - Top Secret!
- Friday
- 8:30am - Ins and Outs of working with XML - Erik Goodlad (AC)
- 9:45am - Flex and Ajax: perfect match - Rob Gonda (FL)
- 11:00am - ColdFusion 8: Application Security - Adam Wayne Lehman (AC)
- 1:30pm - Flex Charting Explained - Rob Rusher (FL)
- 2:45pm - Pragmatic ColdFusion: Build, Test, Deploy - John Paul Ashenfelter - (DP)
- 4:00pm - Q & A Panel Session
- Saturday (my non-Flex day!)
- 8:30am - Step Debugging in CF 6/7/8 with FusionDebug or the new Scorpio - Charlie Arehart (BC)
- 9:45am - Working with RSS in ColdFusion - Pete Freitag (AC)
- 11:00am - ColdFusion 8: Integrated Flex Data Services (AC) - It's a bit Flex-y :)
- 1:30pm - AJAX Integration With ColdFusion 8 - me again! (AC)
- 2:45pm - Are You "Cashing In" on Caching? - Tyson Vanek (DP)
Joe Rinehart showed off a new project at cf.Objective(), which aims to brings the ease of use of Model-Glue to Flex. He showed me an example that he'd converted from Cairngorm to his nascent "MG:F" and it was definitely an improvement. I was still bothered by all the repetitive code, left over from Cairngorm, for handling the model - endless delegate object creation, asynchronous token management, responders and result / fault handlers. Boring, tedious, monotonous boilerplate code. There had to be a better way.
I asked Joe if he thought he could come up with some sort of automagic proxy mechanism to make all that code just go away. Being Joe, of course he could!
Read about the big changes to MG:F that introduce autoproxy functionality around the service layer so that you do a lot less typing! Very nice!
I think this is going to be a great project that will really help a lot of ColdFusion developers get into Flex (me included!).
The Mozilla Public License will be used to cover the source the AS3 Flex SDK (available in source form since the release of Flex 2) as well as the Java source for the AS3 and MXML compilers, the debugger and the core AS3 libraries from the SDK.
Most of the infrastructure should be in place by the summer with a full transition to open source by the end of 2007.
You might also want to watch the video interview with Ely Greenfield and David Wadhwani by Robert Scoble of PodTech.
If you haven't seen Buzzword - which they've demo'd a few times now - check out the screen shots on their main web site. It's very, very slick.
See you there!
In no particular order:
- Do more unit testing! Or, more accurately, get better at Test-Driven Development! I already evangelize about this but the more I get into unit testing - and TDD in particular - the more I realize that I still don't do enough and I still have a tendency to shortcut the process and code first, instead of writing tests first.
- Do more Open Source Software development! Yes, even with Fusebox 5.0, Fusebox 5.1, my Closures library and the REST adapter under my belt for 2006 (as well as numerous contributions to other frameworks), this is still an area where I want to be able to do more and keep giving back to the community. 2007 should bring Fusebox 6.0 at least!
- Do more Flex! Having finally gotten around to actually learning Flex for the first time in 2006 and written a few small applications, this is an area I really want to become much more proficient at in 2007.
- Write some Apollo applications! If I do more Flex in 2007, Apollo applications will be a snap but I want to stretch myself by learning enough AJAX to develop hybrid Flex/AJAX applications (like some of the cool stuff Christian Cantrell showed off in that video Mike Chambers made recently).
As I recall, these are very similar to Matt and Peter's resolutions... must be a theme...
What are your resolutions?
Adobe ColdFusion Specialist and former manager of the US Department of State ColdFusion User Group, Adam Lehman will be talking about using ColdFusion with the Flex Data Services.This will be a joint meeting of BACFUG and SilVaFug, so the meeting will follow 2 hours of free Flex training. Flex training starts at 5:30.
Also, we will be giving away software and having a Holiday Party! (I guess that means we'll have to spike the eggnog.)
Usual location:
601 Townsend St (Adobe SF), Kojak
San FranciscoRSVP for the meeting at http://www.bacfug.org
For more information on free Flex training, go to http://www.silvafug.org/
It's a Flex application, backed by Java code - and a number of LiveCycle components, and it also leverages the trial signup / terms of service Flex application we launched as part of Adobe Acrobat Connect a few weeks ago.
You can try the Adobe Document Center for free until the end of the year (the same as with Adobe Acrobat Connect). The commercial release is expected to be available in English in early 2007 at an introductory price of $19.99 per month (or $199 per year). Additional languages will be added throughout 2007.
You can see the full range of Adobe Online Services, all of which offer free trials.
Tom covered the basic concepts and then took us through the layout model and several of the containers Flex provides. He showed how to tie components together with ActionScript and that there is a debugger for stepping through your code. He covered the data grid and view stack components as well.
I followed along on my laptop (Flex Builder 2 for OS X rocks) and learned enough to be dangerous in this two hour session.
Tom said remote objects will be covered in the next training session but I experimented with that myself and, by this morning's BART ride, has conquered that too (it took me a while to figure out that if you have a non-empty context root on your ColdFusion server, you need to specify the endpoint attribute on the RemoteObject tag).
So now I have my first real Flex application running! It's a testing console for the web services / remoting services my team has been building. Nothing fancy but it does the job. A tab for each service being tested. Each tab offers a form on the left to enter parameters for the service to call and the results are displayed on the right.
I think I'm going to enjoy using Flex!
It was a very interesting meeting. Charles Freedman's presentation on Yahoo!'s Flash Maps API was great and stories of the Yahoo! Hack Day made it sound like a wild geekfest.
I was stunned and very pleased to hear eBay are offering free introductory Flex training to Silvafug members - something I shall be taking advantage of next month! My main reason for attending Silvafug is to learn about Flex since I haven't had a chance to use it yet and I think it's very cool technology. Ages ago I took an introductory Flex 1.5 course and was impressed at being able to create applications so quickly - but I never had a chance to use Flex 1.5 subsequently. I think if I learn Flex 2, I will actually find some very useful things I can build with it. I would have used it on my current project if I'd known how!
Adobe is enabling whole new classes of Internet applications with its current suite of tools. Become part of the team that is leading the way in showing customers and strategic partners how to develop these high-impact applications.Adobe Consulting (AC) is establishing a Manhattan office to meet the strong demand of enterprise customers who want to radically improve the user experience, performance and value of their web applications. We are looking for technical architects with consulting experience to provide customer-facing guidance in the design and implementation of these ground-breaking applications.
The Technical Architect is a pivotal role within Adobe Consulting. This individual is considered a company expert within technical discipline, and leads technical aspects of projects with strategic customers and partners.
This month's meeting will be a Q&A session with some of the Flex Framework team.
You must RSVP (for security badging reasons) to either Tom Ortega or to fugrsvp at gmail dot com. I strongly recommend joining the mailing list for more details of the group and its meeting agendas.
However, the date doesn't mesh well with my current workload so I have to postpone for about six months. I was disappointed and was about to fill in the form when I noticed that I could submit my request online! Yes, Alameda county have an e-juror system!
I guess not too many people are using it right now because the user experience is pretty sucky in many, many ways. It cries out for a Flex user interface! It ought to be a fairly simple process but it forces you through a very unnatural process in order to get both a home phone number and an email address entered, then when you ask to defer, it doesn't give you any hints about what date is acceptable... my first choice was exactly six months in the future. Submit. Refresh. Not acceptable - must be less than six months. So I picked the day before. Submit. Refresh. Not acceptable - that's a Sunday. Sigh. Why not popup a calendar that only allows you to pick valid dates??
And why can't I enter a work phone number? They have a field for it but you are never offered the option to modify it!
I'd be happy to hear reports from folks who did attend...
This month's meeting is this Thursday in San Francisco. Here's the announcement from Tom:
As promised, the next meeting for Silvafug is looking to be a good one. Here's the tentative schedule for the evening, tentatively scheduled for 7 to 9 pm. (Would a 7:30 to 9:30 work better?)I'll be there because, well, I need to learn Flex!As you can see, if you're new to Flex and want to get a jumpstart, this is the meeting to go to. If you're "beyond" the Beginner level, don't worry, we still want you! With one instructor/speaker, we'll need the "advanced" members of the group to walk around and help out the newbies. It'll be a great chance to help out the group and get to know each other.
- Call To Order
- Intros (5 Mins)
- Announcements (5 Mins)
- A word from our sponsor - roundpeg, Inc. (10 Mins)
- Beginner Session I (30 Mins)
- Intro to Flex concept, architecture, framework, key functions, etc.
- Break (10 Mins)
- Beginner Session II (30 Mins)
- Development Lab - 1-2 Page/Component Design
- SilVaFUG Member Open Forum - Intros/Q&A (25 Mins)
- Give Away/Closing Comments/Announcements (5 Mins)
The Intro to Flex speaker slot is open. If we don't get a volunteer, yours truly [Tom Ortega] will be at the podium. If no one steps up, no complaining as you were warned! =)
roundpeg, our meeting sponsor, is going all out. They're providing the meeting facilities, the lab with 12 computers, the food and yet another FREE TRAINING SEAT! You'll get a taste of the roundpeg Breeze-style training during the second session.
To make sure there's enough food and chairs, we're asking you to RSVP to fugrsvp .at. gmail .dot. com or to my email. Please make the subject line, "8/10 RSVP". In the email body, include the following info: # of people the RSVP is for, whether you'll have your own laptop, and time preference (if any).
I'm sure there will be other items to discuss and I'll bring them to the group beforehand so you can come with answers. If you have something your dying to bring up now, run it by me (if your shy) or post it to the group to get feedback.
Looking forward to seeing you at meeting #2!
Location: roundpeg, 595 Market St, San Francisco.
JamJar lets you create "spaces" that you can invite your colleagues and friends into, to plan events, share files, discuss topics, share notes etc.
To learn your way around JamJar once you are logged in, look in the Connections pod and open Community Spaces and then double-click the Welcome to JamJar space.
Enjoy!
p.s. No, this is still not the 'top secret' project. This was built by our Seattle-based team (Protect an Adobe PDF File was built by our San Jose-based team).
I'm very passionate about messaging as an enterprise integration approach - hence my creation of the JMS event gateway that ships with CFMX 7 - so I'm pleased to see good material like this being published for everyone to get more exposure to the capabilities of Flex Data Services.
Hopefully the article will show you how powerful and expressive this enterprise piece of the Flex product line is (and give you an insight into why only the FDS Express edition is free).
- ColdFusionMX 7.0.2 (release notes)
- Flex 2
- Flex Builder 2 - $499
- Flex 2 SDK (compiler and framework) - free
- Flex Data Services Express - free (single CPU, no clustering)
Once again, the question of Flex pricing comes up: "What is the end price target for Flex server", the developer asks Michael. As Michael says "Flex itself is basically free." I guess we just have to keep saying it over and over again before the message sticks.
Anyway, glad to see Michael posting about this and drawing some great comments, especially from Kevin Hoyt, in response.
You can be sure that I'll be reporting my experiences with running ColdFusion MX and Flex Builder 2 on this setup... Oh and Apple has been trying to persuade me to take the Java 5 update and I've been putting it off because of reports of it breaking ColdFusion MX on some other people's PowerBooks...



