Selene Bainum - Database Design

This was a very well organized and well presented talk by Selene. I'll also be attending here Advanced SQL talk later, but here's my notes from this presentation.

Databases: Collection of Tables, rows, columns, look like spread sheets, unique identifers, etc..

Relational Databases (RDBMS) - determine what the db is going to be, what the data might be, visualize columns and think about their relationship, helps to build tables.

For example, a product db might have product name, category, when they placed order, customer info, etc.... Example shows a flat data file with all info in one big table, but elements are repeated in multiple rows, duplication of data, no referential data, and data can't be queried until its inserted. A form should be able display all the product names, (a little fast here...) How to get rid of data duplication, data could be misspelled in different instances, how do you know which values are the good values, and might have multiple prices so how do you know which one is the current price.


Model-Glue BOF: Stop the insanity!!!

Ok, as blogged in my earlier post, the Model-Glue BOF session turned in to a Technology Wild West Show, with danger lurking behind every slide, but dispite the hiccups, Joe held his course and forged smoothly ahead with the presentation.


CFUNITED Day one a wrap: Sessions, BOFs, and Community

Today was seriously intense. The day started at 8am with a Welcome talk to introduce all of this year's speakers followed by a great keynote address by Ben Forta and Tim Buntel, with guest appearance by Simeon Bateman of the CFEclipse proejct (Thanks for the Sam Adams!). At first I tried attending sessions while taking notes which I later blogged, and this worked for a while during Ray Camden's, Nate Nelson's, and Simon Horwith's talks.


Simon Horwith - Design Patterns in CFMX 7

AboutWeb has a 3 day class on Design Patterns in CFMX, but Simon will try to boil it down to 40 minutes.

Who's using DP? About 1/5 of the room held up their hand. Room is huge and there may be as many as 200+ people attending.

No application too large or small for DP, no developer too experienced or too new for DP.

Terminology: Architectur, API, Code Reuse, Object (noun:person,place,thing). Object Oriented Programming OOP, Encapsulation, Decouple (code independence), Design Patterns (recurring solutions to common problems), Anti-Patterns (recurring mistakes in SA/DP).


Nate Nelson - Undocumented ColdFusion MX

Unsupported techniques without any guarantee by Nate or Macromedia. Use at your own risk.

XML Config files:

always make backups, use an editor that helps write XML, CF Service needs to be restarted to pick up changes. ColdFusion file extensions: WEB-INF/web.xml contains mappings that relate extensions like .cfm to the CfmServlet. Tony Weeg nods his head in agreement when Nate says that web.xml looks different between CFMX 6.1 and 7. Recommendation to not modify existing ones but create new mappings based on existing ones.

RDS is in web.xml in the RDSServlet mapping. Nate says to comment out to turn off RDS (there's a technote on this actually). can be used to turn off CF Admin password. He recommends to blank the password values and change setencrypted to false, then type a new plaintext password and restart CF. This is actually safer than hacking the neo-security.xml file to disable CFAdmin password to get back in.


CFUNITED Survivor Game Questions

Here are the ColdFusion challenges used in the CF Survivor game at CFUNITED 2005. Kudos to winner Daniel Elmore and runner up Joseph Danziger.

1) Output to the screen the ColdFusion server product version, including the build number.

2) Find the appropriate UDF from to parse the search terms from a Google referrer, and modify it to work with Yahoo search referrer.

3) Create a ColdFusion custom function or use the built-in functions so that when called it takes a string as input and returns the string in opposite order, such as input "dog" returns "god".


Macromedia Announcements at CFUNITED Keynote

This year's ColdFusion conference CFUNITED, formerly CFUN, has a large turnout from Macromedia, and Tim Buntel and Ben Forta kicked off the official start of the even today with blowout keynote address. I've video taped the keynote, and hope to have compressed wmv available for viewing soon.

A few of the big highlights include not just official recognition but sponsorship of the CFEclipse project. CFEclipse is a fantastic plugin for use with the free Eclipse IDE, and the project is managed by Rob Rohan, Simeon Bateman, and Stephen (Spike) Milligan. Ben and Tim invited Simeon Bateman, manager of the Portland CFUG too, up to the dais to give a brief overview of the current status and future of the CFEclipse project. Simeon noted that the project releases have slowed down since much of the fundemental bug fixes have been patched, and they are now working on new features. Coming later this year, watch for CFEclipse 2.0 with a bundle of new features.

Other big news includes the coming release of CFMX 7.1, code named Merrimack, and Ben demonstrated his questionable graphics skills with a scorpion image rising on the screen while introducing the code name and a couple major features of ColdFusion MX 8, Scorpio. As a Macroemdia Support Engineer, the most important ColdFusion MX 8 features to me was the server monitoring feature which will allow runtime introspection of the jvm and what the running threads are doing. I'm psyched about that, and I'm sure the whole developer community will be too, especially those that have ever tried to track down bottlenecks or other issues in an application where the symptoms only seem to appear in production under load.

Well, now I'm off to Ray Camden's talk on the new Verity 5.5 that ships in CFMX 7.... more soon.

Ray Camden - Verity for Fast Text Searching

Overview of some hidden gems in CFMX 7 Demonstration of isValid("url",form.yoururl)> Read release notes.... For example, can now change webservice SOAP headers

What is Verity? An incredibly powerful search engine, and the version in CF was at 2.6 for a long time, but CFMX 7 upgrades Verity to 5.5. It is a seperate product, you can go out and buy the full Verity K2 server from Verity for perhaps $60,000+, but you get it with ColdFusion MX Enterprise.

-Overview of Verity tags in CF, such as cfcollection, cfindex, cfsearch. File types include HTML, RTF, DOD, XLS, PDF, MP3, ZIP, and Data files.

-Question about version of PDF support in CFMX 7 from Damon Gentry... CFMX 7 does support recent versions of Acrobat PDF files, see the docs for a table of file version support.

-Question about time of indexing for large collections.... Ray says indexing does take time although he hasn't seen any problems with it so far, and he thinks Verity 5.5 has improved.

Text index searches are faster than SQL calls to databases. Verity also ranks the query result sets from a cfsearch, and you get a context (category) which is new in CFMX 7.

Demo of creating a collection and indexing it. The Cfcollection tag has a list function to see what collections exist, so he runs that and if its not there he creates a new collection of that name.


Get Glued at CFUNITED! Class for me today, Breezo for everyone tomorrow!

Get Glued with Model-Glue! (Joe Rinehart)My first day at CFUNITED was largely spent in Joe Rinehart's class Forms and Beans: Refactoring existing ColdFusion using Objects. Joe's focus was on how an OO approach to ColdFusion development can save time by encapsulating application behaviors to reusable ColdFusion components, Further, when iteratively blended into a procedural application by gradually replacing procedural code with OO-based code the procedural application becomes easier to maintain and scalable.

The class had about 15 persons, most of whom were reasonably advanced in ColdFusion development and generally understood OO concepts already. This allowed Joe to speed up a bit, although he was prepared to cover CFC best practices or basic OO PIE concepts in futher detail if needed.

The quick pace permitted the class to move on at the end to make room for a great overview of the Model-Glue framework while also digging deeper into the ServiceFacade and Decorator patterns as they apply to CFCs. Indeed, I was not the sharpest knife in the drawer in this class, and I was certainly humbled by Joe's mastery not only of ColdFusion but OO thought processes. Complex code just streamed effortlessly from his fingertips to the screen while maintaining the cadence and never missing a beat in the presentation flow.

Joe advised developers to perform discrete unit testing of components, which in short means building a test harness that isolates a CFC to validate that it behaves as intended, where testing the CFC outside the larger application reduces complexity during the design or debugging phases. Here, Joe recommended Paul Kenney's CFCUNIT as a very convenient and robust means of unit testing in ColdFusion.

Joe's choice of IDE for ColdFusion is CFEclipse, and I think that Joe and everyone else will be very pleased with some important information from Macromedia coming very soon! I followed along in the class while using Fedora Core 4 Linux on my laptop. FC4 actually ships Java and Eclipse with the distribution, so FC4 is a great way to get started with CFEclipse (although FC4 is technically not supported for ColdFusion, its very close to the supported RH distros and I've encountered no CF problems as a result of running on FC4 so far).

On Wednesday night at 9pm in room 4, there will be a panel discussion of Model-Glue under the guise of a new Model-Glue BOF session. Then at 9:30 I'll help Joe start the online Breezo of Model-Glue that will be broadcast live from CFUNITED. You can RSVP for the Breezo here:

After class I headed out to dinner to celebrate ColdFusion's bright future with the Macromedia CF engineers Dean Harmon, Mike Nimer, Tom Jordahl, director of engineering Damon Cooper, CF QA Bob Powell and Billy Sahlas, plus Ben Forta and Tim Buntel who are presenting the keynote tomorrow, and also Amy Brooks and Christine Lawson of Developer Relations. Macromedia definitely has a huge turnout at this unique ColdFusion conference, and Amy in particular has done a great job at organizing everything. Check out the Macromedia booth in the exhibit hall where we'll all be hanging out to talk to you and help answer your ColdFusion questions. Stop by for posters and T-shirts!

I think CFUNITED is booked with 8-900 attendees, so I plan to get up early for Ben and Tim's keynote address tomorrow morning... just a paltry 7 hours from now :( I'd like to set up my video camera to record the keynote, then I'll try to edit it down to a small file for distribution here soon so everyone can share the good news :)

See you there and see you at the Model-Glue BOF tomorrow!


Hey, over here.

wink, wink

More Entries