How I got started in ColdFusion...
I'm a day late to the party but, at Steve Bryant's suggestion here you have, less a quick overview of my CF origins and more a comprehensive history of my time online and in code.Please don't default to GPL
This post may seem odd to anyone who knows me. I'm a massive advocate of open source software and free (as in speech or beer - hey it's free) technologies. I'm no FSF zealot but I do believe that sharing source code, development tools, libraries even the platforms on which they run is a great way to encourage innovation and produce amazing projects. That said I'm increasingly running into issues with one of the most common open source licences - GPL (v2 or v3). One of the main implications of the GPL is that including code licensed under this model requires that the calling application be licensed under the same model. For ColdFusion this has some interesting and awkward implications.ColdFusion Builder 2 - still no Linux Support
A comment on my post from August of last year regarding Linux support for ColdFusion Builder reminded me to check the state of the Linux Support Bug report for CFBuilder 2 ... and it wasn't good news. Since moving over to the new Bug Tracker it seems that the original bug (and all the votes) have been lost. Oh and there's still no Linux support for CFBuilder. In the interests of continued support for Closed Source tools on ones favoured open source platform I've recreated the ticket #2832512 (http://bit.ly/CFB2Linux) and would ask that those of you who support Linux for ColdFusion deployment and development start down the long road of re registering your interest. Go Vote! (again) (My apologies to anyone who followed the links in the original of this post ... they were for the wrong bug report. The links have now been updated and new short URL created)Scotch on the Rocks 2011 – Day 1 – FW/1 – The Invisible Framework – Sean Corfield
This fairly well attended session focused on some of the basic features and driving requirements behind the framework running through the controllers, views, layouts and the flexibility inherent in FW/1. The more advanced information came as results of questions from the floor which Mr. Corfield dealt with in a brisk and technically expert manner (would we expect anything else?) Some items were new to me (caching for example and how this can be disabled if needed) and some were known (the layout cascade and the overrides available) but in terms of a good 1 hour grounding in the framework the session did exactly what it said on the tin. In all honestly the real value of this session was in the debate and discussions afterwards (both sensibly at lunch and less sensibly at dinner and after) where I got to chat on the subject of Frameworks with my fellow attendees and got some great feedback on full stack vs lightweight frameworks and the fit for various projects / phases. That said I will continue to follow FW/1 with interest and will use it where appropriate. I’m especially pleased to see FW/1’s adoption by Mura is bringing new power to a pure ColdFusion CMS – which can only be a good thing! Scores (out of 10) Direct Professional Value: 5 Ongoing General Value: 6 Contention / Debate: 9 Style: 8 Overall: 7Scotch on the Rocks 2011 – Day 1 - Requirements and Estimating – Peter Bell
Peter’s session resulted in 6 pages of notes, which I won’t go into in masses of detail (yet). Suffice to say there was a massive amount of technique rammed into 1 hour starting with Intent Driven Design as a mechanism for requirements gathering. The basis of this technique is the derivation of Business Intent (the Why of a project) which can determine the driver behind development. Generally speaking, one should avoid projects that introduce more than 5 Intent items as a greater number would denote the need for breaking down a project into further phases or units. The next concept introduced was that of Audiences (the Who of a project) which is fairly easy to understand. These audiences or roles are the functional groups in a project, the user types, the interested parties. Drilling down into the project Peter explained the use of User Stories to identify specific requirements. Effectively User Stories can identify areas of Shared Need within a project. As User Stories are well known and well documented online I’ll skip the next couple of pages of notes highlighting only that Peter recommends the batching of 0 point tasks into a single story with a value for use in estimating. The use of Stories and IDD in terms of production of estimates and trackable units was of great interest to me as was Peter’s focus on the functionality side of a project. The basic concept of build something you can use to fulfil the requirements and worry about making it look good or work more easily sounds commonsensical but is so often over looked! The only downside to Peter’s otherwise brilliant preso was the assumption (or hope?) that we all live in a world where we can afford to say to our clients “Pay me to estimate” all too often good estimating techniques fall by the wayside due to pitch / profit issues. Anyway back to the session, Peter introduced the concept of planning Poker (a bit gimmicky?) and the more useful (for me anyway) Magic Estimating technique which I will definitely be introducing at our larger project kick offs. The tongue in cheek mention of APIs (muted groans from around the room) as the feature that always takes at least twice as long to build as expected was part of Peter’s section on feature types which, whilst a little cynical was pretty much bang on for 99% of the features in any project I’ve ever worked on. A final wrap up of the Iron triangle and the introduction of buffers and the first session of the day came to a whirlwind stop. Scores (out of 10) Direct Professional Value: 8 Ongoing General Value: 9 Contention / Debate: 5 Style: 10 Overall: 8Scotch on the Rocks 2011 – Day 1 - Keynote – Adobe
Scotch on the Rocks 2011 – Day 1 - Keynote – Adobe Effectively the KeyNote was focussed on ColdFusion Builder 2 and ColdFusion X. The announced features for each are listed in short order: ColdFusion Builder 2- Call backs for extension functions
- A new code beautification tool for one click source formatting
- New keyboard shortcuts
- Improved performance
- Improved code completion and folding
- Some other bits I didn’t catch
- No more Verity for searching – it’s SOLR all the way from here on in
- No more jRun as it has been replaced with TomCat as the application server (this is awesome news for all those who run CF in “out of the box” mode as it means Adobe have standardised on … the industry standard for J2EE provision)
- New support for web services including WS-Security and other WSDL enhancements which will provide:
- Exchange 2010 support via the .NET web services made available by Redmond.
- New REST features for producing & consuming RESTful web services. Will be interesting to see how well this is implemented given the current browser constraints surround HTTP verbage
- A fully rebuilt Scheduled Tasks engine introducing <cfjob /> for an enhanced programmatic interface and massively improved rule sets. The big news for me was the ability to persist your task store into different storage forms – DB, RAM etc. which should mean the system is more reliable than the current XML POS
- New improvements to Java support including a native Java loader for dynamic loading of classes – this is pretty cool but I’ve never needed to use the current RIAForge project so I’m not sure this will be massively useful for me.
- Closures … erm … yay?
Scotch on the Rocks 2011
The first official day of the conference was, for me specifically, a bit of a nightmare. Due to the remarkably pedestrian service at breakfast I was late down to the keynote and so didn’t get a seat and work intervened after lunch to mean I missed sessions 3, 4 & 5. That said, the two sessions I did manage to a) arrive at in time to get a seat and b) see where pretty darned awesome! In a new format for this year I’m writing up the sessions individually and linking to them from this post: Day 1- KeyNote - Adobe
- Requirements and Estimating – Peter Bell
- FW/1 – The Invisible Framework – Sean Corfield
- Easy Validation with ValidateThis – John Whish
- Scotch on the Rocks 2011 – Day 2 – Building a Video Platform: ColdFusion, HTTP Dynamic Streaming and OSMF – David Collie
- AJAX Longpolling with ColdFusion 9 and BlazeDS – Stephen Moretti
- Expand your mind with noSQL and then relax on the CouchDB - Mark Drew