As you can see, no topic is listed for me yet. My talk (or talks, perhaps) at CFDevCon 2008 will be brand new so if you catch me at Scotch on the Rocks, you'll still get all new content in Brighton, later in the year.
With that in mind, what would you like to hear me talk about? I have a few ideas, based on my work at Broadchoice with Model-Glue, ColdSpring and Transfer, but I'm happy to entertain suggestions from folks who might attend CFDevCon 2008 in Brighton in September!
In src/com/naryx/tagfusion/cfm/engine/cfEngine.java, around line 607 at the start of setTempDirectory(), you'll see:
if (tempPath != null) {
tempDirectory = getResolvedFile(tempPath);
}
Hit http://localhost:8080/openbd/ (or whatever you set the context root to) and you should be rewarded with the BlueDragon CFML Test Page!
This post assumes you are carefully following the docs/BuildingDebugging.txt instructions (in the OpenBD source download).
First off, Java on Mac OS X does not have a tools.jar file so you can ignore the step in the OpenBD instructions about setting up the JDK_15_TOOLS class path variable (tools.jar is incorporated directly into the base JDK install on a Mac).
Second, when you import the OpenBD source project, it almost certainly won't let you attach it to a J2EE server (using the Servers view in Eclipse 3.3). This is because it does not have the correct project facets. Right click on your OpenBD project, select Properties, select Project Facets and then Modify Project... Add Java and Dynamic Web Module. Click Finish and then OK. Now you should be able to add the OpenBD project to your chosen server.
You may have duplicate libraries at this point (Vince did and I did but that may be due to attempting to build it without setting up the facets properly). Right click on your OpenBD project, select Properties, select Java Build Path and look at the Libraries tab - if you have duplicates, you'll get a red error message at the top, and you just need to delete the duplicates.
At that point, you'll need one source code change to get it to run. I'll cover that in a separate post.
This repeat replaces the planned repeat of Hal's Introduction to OO Modeling talk.
Ray and I have been working together on the new Broadchoice platform for the last few months, initially both as consultants. We both feel Broadchoice is doing something unique, something special and that this is a great move for both of us - and ultimately for a lot of developers out there.
Watch this space!
We have swapped these two sessions on the website schedule as well as in the online scheduler.
Please visit the online scheduler to reconfirm your schedule if you were planning to attend either of these sessions.
I haven't yet switched to Java 6 as my default JRE but I will shortly. Happy to hear any early feedback from folks.
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.
5/21/08 6:30 PM
Adobe San Francisco - Kojak
Connect URL: http://experts.acrobat.com/bacfug
Former Adobe ColdFusion product team member, Ashwin Mathew, will talk about how to leverage the power of and other gems in the AJAX features introduced in ColdFusion 8.
601 Townsend St, San Francisco, California 94103
The Kojak conference room is in lobby but you still need security clearance (so you must RSVP!).
Haven't registered for the conference yet? It's only a week away but you can still sign up. It's the best value ColdFusion content anywhere on the planet!
Announcing a new meeting for The Online ColdFusion Meetup Group!What: "Cleveland CFUG Simulcast: cf.Objective() Preview", with 3 Speakers
When: Thursday, Apr 24, 6:00pm US EDT (GMT-5) (What time is that for you? See this link which shows the time as US EDT and you can choose your city from the list offered to see it in your own time.)
In addition, we've had to move a few sessions around on Sunday to accommodate speakers' travel arrangements. Josh Adams' talk on .NET has swapped with Sanjeev Kumar's talk on PDF. In order to ensure the two .NET talks do not conflict, we've swapped the rest of the first two slots. Mostly that means that the session choices in each slot haven't changed so, hopefully, attendees' choices won't need to change either.
Please take a look at the revised schedule and, if necessary, update your selections in the online scheduler.
See you in just over a week!
So come along and hear me talk at 1:30pm on Thursday (6/19) or 8:30am on Saturday (6/21)!
Curious about Object-Oriented Programming in ColdFusion but not sure how to start? Interested in taking your first steps with ColdFusion Components? What's all this talk about constructors and inheritance and "is-a" and "has-a"? Let Nolan walk you through the OO terminology and show you the basics of using CFCs to create the building blocks of your application.601 Townsend St, San Francisco, CA 94103
6:30pm for socializing / networking, main talk at 7pm.
Please RSVP on the BACFUG website so that security has a badge ready for you.
Remember that everyone entering the Adobe building has to sign an NDA. This is standard practice to protect Adobe's intellectual property.
Don't forget that cf.Objective() 2008 is the first place to get your hands on Open BlueDragon where Vince will launch the project to the public and a number of the OpenBD Steering Committee members will be present to answer your questions.
Here's what I said in response:
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.
$3,800. Ouch!
That's return flights for me and my wife for SFO/LHR and SFO/DCA. With cfDevCon later in the year, plus several more cat show flights to book, at least we'll both be Premier flyers on United next year!
See you at cf.Objective() in early May? Or Scotch in early June? Or CFUNITED later in June?
By the way, today is the last day for the guaranteed hotel price for cf.Objective() so if you haven't registered and booked your hotel, you might want to get on that tonight!
I'll be doing a "session focus" on Ron's topic shortly.
If you have used the ColdFusion 8 Server Monitor at all, you probably think it's a pretty useful tool. Charlie Arehart has used the Server Monitor a lot and he wants to share his experience and knowledge by showing you hints and tips to get the most out of the monitor. He covers general use of the monitor in development as well as what you can and cannot reasonably do with the monitor on production systems. He also covers automation, alerts, thresholds, snapshots and debugging as well as several advanced features and usage scenarios. Almost all of the presentation is based on active use of the Server Monitor, rather than being just a slide deck, so come along and learn how to make the Server Monitor work for you.
Whilst a presentation about an e-commerce security standard might sound very dull, the reality is that this is probably one of the most important topics on the cf.Objective() schedule. "Any company processes, stores or transmits credit card numbers is required to be PCI DSS compliant." John Mason explains the scope of PCI DSS, where you fall within its levels and what is required of you - and how expensive non-compliance can be! He covers each of the major areas of PCI DSS such as network security, encryption, vulnerability management, access controls, monitoring / testing and policy issues. Some of the requirements are "duh!" obvious but some were quite surprising to me (and some are surprisingly burdensome). Along the way he provides examples of specific things you need to deal with in your CFML code.
Even if you don't do e-commerce, there are a lot of useful security tips in this presentation - or at least potential security problems that you may not have considered yet.
Foremost for many is official Mac OS X 10.5.x Leopard support!
Also general 64-bit support (Vista, Win2k3, XP, Leopard, RH 5, Suse 10, Solaris 9 / 10).
Minor enhancements (depending on your position):
- Allows attributeCollection to be mixed with regular tags and allows additional attributes - useful working across multiple tags
- AJAX upgrades to FCKEditor 2.5, YUI 2.3, ExtJS 1.1.1, Spry 1.6
- Implicit arrays / structs can be nested
- A bunch of other minor stuff
Bug fixes include the notorious resetting of the Global Script Protection flag in the CF Admin, non-XHTML generated by AJAX components, Break On Exception issues in the debugger, false server monitor memory reporting for complex CFCs in application scope (affecting most of the frameworks) [not fixed: it appears incorrectly in the Issues Fixed section - but it is one of the Known Issues which is accurate].
Download and enjoy!
Note for Leopard users: you need to download the 64-bit OS X version and do a clean install so if you have a hacked-up CF8 running somehow on Leopard, make a CAR of your CF Admin, shutdown and move your old CFIDE and JRun4 directories, do a clean install and then load the CAR back in!
I've been using Brian Kotek's ColdMock for a while and I really like how easy it makes it to test CFCs that depend on several other CFCs - because you can create "mock" versions of those CFCs on the fly that return specific values. Mock objects are a good way to provide a consistent environment for your CFCs under test, as well as a way to let your CFCs be tested without them affected the "real" environment (because you can create a "mock" environment which can even include things such as data access objects to fake the whole database layer).
As I blogged recently, I've switched from cfcUnit to MXUnit and the mailing list is pretty active. Mike Steele posted that he had ported EasyMock to CFML. My first reaction was "Have you looked at Brian Kotek's ColdMock project?" and Mike explained that EasyMock isn't just about creating simple mock objects but about verifying behavior in those mock objects.
Intrigued, I read about EasyMock, a Java project that targets JUnit, and realized the power of being able to create mock objects that expect to be called in certain ways and can, as part of your unit test, actually verify the calls made on them!
I asked Mike to send me a build and I played with it and liked it a lot, pretty much instantly. I sent him some feedback and very soon I got an updated build that incorporated much of my feedback - and a note saying he was already going in that direction. Nice to find a project where I'm on the same page as the author!
You can download the latest build from the CFEasyMock project page on RIAForge. It's a very simple but very powerful concept that should really help you with your unit testing!
We hear a lot of talk about using individual Java objects within ColdFusion but the reality of enterprise development is that entire subsystems tend to built entirely in Java. Software teams that serve the enterprise often build large, complex systems using Spring and Hibernate. How do you go about using ColdFusion with such systems? I haven't seen any presentations on this subject so I was pleasantly surprised when I started reviewing Andrew Powell's slide deck to find that he was focusing on how ColdFusion can provide the web front end to enterprise class Java systems.
He introduces Spring (the Java version) with a demo and then introduces Hibernate (the industry standard ORM for Java), again with a demo. After that, he will walk you through solutions to the problem of connecting ColdFusion on the front end to Spring on the backend and, using Mach-II as an example, he then shows how to create an MVC web application that allows you to leverage the entire Spring-powered, Hibernate-persisted Java backend.
If you work along a Java team - or you are considering using more Java for your backend systems - this talk will provide you with a lot of good information about how well ColdFusion plays in this space.
- CFEclipse Reloaded - Mark Drew
- An Intelligent Approach to OOP in CF Architecture - Nic Tunney
Transfer continues to evolve at a rapid pace. The SVN repository is light years ahead of the last "official" release (0.6.3) and 1.0 is "coming soon". Mark Mandel deserves huge kudos for his work on this project - and his intent to turn this into "Professional Open Source". In other words, making Transfer something we can rely on like we rely on JBoss or MySQL today.
Come to cf.Objective() 2008 to hear Mark talk in person about Transfer in two great sessions!
The release date for BlueDragon Open Source is May 3rd at cf.Objective(). Register for cf.Objective() and be one of the first to see the project "in the flesh"! Come along to the BOF and ask Vince all about the whys and wherefores of the project and New Atlanta's decision to go open source (assuming Dan's interview doesn't answer your questions).
Alan Williamson has also posted about the steering committee and the process for getting involved.
- Deploying into Large Scale ColdFusion Environments - Michael Collins
- Integrating ColdFusion with .NET - Josh Adams
- Building Hybrid Applications with ColdFusion and Java - Jason Delmore
- Adding Live Chat with ColdFusion and BlazeDS - Adam Lehman
- Document Driven Applications with PDF - Sanjeev Kumar
I'm particularly excited to have Michael's talk on the schedule since this covers a number of very important topics for enterprise ColdFusion shops - including a lot of new material, not seen anywhere before!
Josh's talk is an excellent complement to John Bland's session on .NET integration. John will cover the mechanics of the architecture and how to build .NET assemblies you can call from ColdFusion. Josh will cover specific uses of the feature to leverage Microsoft's Sharepoint and Office technology.
Likewise, Jason's talk is an excellent complement to Andrew Powell's session on ColdFusion and Java. Jason will cover ColdFusion and Java integration with pros and cons and Andrew will dive into building your entire business model in Java and using that with ColdFusion for presentation.
Adam's talk brings coverage of Adobe's newly released open source remoting system, BlazeDS, showing how it can be used to create interactive applications with ColdFusion and Sanjeev's talk goes deep into the Adobe PDF integration that ColdFusion 8 brought to the table, including architecture level information.
ColdFusion as a Different Type of "Glue"
Is ColdFusion really "the glue" that Adobe says it is? We always hear about functions like PDF generation, image manipulation, Outlook integration and all of the new functionality, but is that all that ColdFusion is good for? Is ColdFusion for intranet use only? Can ColdFusion be a different type of glue? This topic will cover using ColdFusion as the front end to an enterprise-level, customer facing application, integrating it with a business object back-end from enterprise-level systems. This will cover what types of things you would need to integrate, levels of integration, ways to integrate, including MQ Series and WebMethods, WSDL vs. REST, direct vs. indirect integration, integrating with external applications, and data replication.
I think this shift in focus will make the session more appealing to a broader audience at the conference so "Thanx!" to Brian for that.
If you haven't already registered, bear in mind that the guaranteed hotel room block price expires on April 1st and may go up after that.
- Leveraging Basic Design Pattern in ColdFusion - Phill Nacelli
- Refactoring in ColdFusion: from Procedural to OO - Dan Wilson
Adobe should be providing session titles and abstracts soon (I hope) so that we can populate their five sessions on the schedule.
I'll be blogging about schedule additions / updates as they happen - stay tuned!
- 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
Not all of these have been scheduled yet - we wanted to get your feedback on what you think would be most popular:
- ColdFusion 9 feature brainstorm - Jason Delmore / Adam Lehman
- Source Code Control - volunteer?
- Best practices for UI design - Ken Sykora
- Frameworks - using them / not using them / roadmaps - run by the frameworks authors
- Using Ant as part of your ColdFusion development environment - Peter Farrell
- Testing tools, techniques and frameworks - John Paul Ashenfelter and Peter Farrell
- Open Source development and publishing - Andrew Powell
- Blogging and Writing - Judith & Michael Dinowitz
As we see which sessions are going to be the most popular, we'll finalize the Sunday sessions.
New Atlanta are working hard to make an initial source code drop available, especially for cf.Objective(), so that Vince can show how to download, install, build and configure the project - and field questions about New Atlanta's thinking behind open sourcing the J2EE edition of BlueDragon, as well as discussing with the community how the project can move forward, how the license works, how the steering committee operates and so on.
If you're excited about New Atlanta's recent announcement - or even just curious about how such a large open source project might work for the CF community - be sure to attend this Birds of a Feather session on Saturday evening at 7:30pm. The schedule shows it running an hour but I expect this will need more than an hour so I currently plan to keep the 8:30pm slot open immediately afterward to allow for an extended Q&A session.
If you are attending the conference and want to run a BOF, or even just suggest a topic and maybe recommend someone to run it, please contact me about it!
I'm going to be posting a series of "mini-features" on some of the sessions at the conference (based on the actual slide decks that the track committee has been reviewing) so you will get a better insight into various sessions to help you pick your schedule.
If you have not already registered, the conference is only six weeks away so time is running out! The three-day price is $629 which is great value - and there are group discounts available so it's even better value if you send more of your team. Don't forget that Mach-II pre-conference training is also available!
Connect crashed a few times on Ray after about an hour in but he logs back in pretty quickly (Adobe really need to fix the Leopard compatibility problems with the Connect Add-In!).
It was a great talk - well attended - and I learned a lot about how powerful Spry really is (I hadn't looked at it before because I thought it was "too simple" - my mistake).
Big thanx also to Kit Kurktchi and Neetek for sponsoring Pizza!
Ray just posted the example files used during his preso.
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!
Details on the BACFUG website.
It's too late to RSVP but if you turn up "unannounced" you can still get a security badge to get into the meeting room. Bring photo ID.
All non-employees entering the Adobe building are required to sign an NDA. This has apparently upset a couple of people in the past (who obviously didn't understand what an NDA actually is!). This is to ensure that if you accidentally see something "secret" while you are in the Adobe building, you agree not to go blabbing about it!
Vince points folks to the new Open Source forum on the New Atlanta website which has a lot of good information about the details of dual licensing, the expected process for contributions and so on.
I strongly encourage folks to read Vince's post and then read all the threads in the forum.
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.

