Adobe's killing of mobile Flash – a CF developers take
Firstly I'd like to make clear that I am in no way affiliated with Adobe either in the Flash or CF sense – I am a user of both products and, like so many others, work for a company who has based its business on the Adobe development stack.
I have no idea what prompted Adobe’s rather rapid dumping of Flash on mobile devices but the immediate impact on me and my employers should be minimal. That said, I wanted to take a look at how Adobe managed this announcement and the wider impact it could have on the community.
Early reveal CF Zeus Features (via Max)
Thanks to Christopher Vigliotti for pointing me at Nathan Strutz... there are some great CF Zeus (Adobe ColdFusion 10) previews coming out on Twitter:
- Reverse ORM to create business objects from your database ... could be epic! Could also be a disaster.
- HTML5 charts ... ok ... good to see Adobe moving with the times.
- CFRest ... CF fracking REST!!! Based on Jersey in JaxRS and powered by application.cfc. This could be pretty much the most awesome thing ever! In fact combining it with bi directional ORM probably makes for the fatest API build ever!
All of this is completely unfounded but with SOTR possibly not running this year I gotta get my Zeus info where I can!
Anyone got any more? Any news on jQuery as a possible replacement for Ext / Yui? Bang em in the comments.
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 2 – AJAX Longpolling with ColdFusion 9 and BlazeDS – Stephen Moretti
Cor blimey day 2 was technical! And Steve’s session was easily the most in depth of any I saw over the two days. Long polling is pretty well established as a technique and the use of BlazeDS to handle the connection is something that everyone talks about doing but very few actually implement. In a great preso, Steve ran through the basic of the concept and quickly jumped into code to setup the BlazeDS configuration, the Event Gateway to wire it all together and the basic AJAX / jQuery client to send the messages. I’ll be frank and say that a lot of the configuration was lost on me – it’s the kind of thing I’ll always have to look up in the docs as I’m never going to be doing it regularly but the actual concepts were neatly outlined. Some of the gotchas were also well worth hearing about: the blocking IO model in BlazeDS, the need to separate out onto a different server to prevent long polled requests exhausting your app server thread pool. I was also really impressed to see a very technical demo, running on Ubuntu and pretty much live coded (a fair whack of copy and paste but built up over the hour) – all of this from a guy who could barely stand for the 2 days of the conference! Scores (out of 10) Direct Professional Value: 6 Ongoing General Value: 8 Contention / Debate: 5 Style: 8 Overall: 6.75Scotch on the Rocks 2011 – Day 2 – Easy Validation with ValidateThis – John Whish
The first session of the day and the first that had direct business relevance (as in “we’re going to be using this in about 2 weeks” relevant). After missing the Railo Keynote due to the pressures of breakfast and an extra 10 minutes in bed I was in place for John’s session nice and early and I’m very glad I made the effort. Validate This is one of the technologies that I’d looked at but not really got on board with, mostly because of the (incorrect) perception that it required you develop in OO ColdFusion to work. Following a brief introduction to the Framework (jQuery) and the engines it supports (Adobe ColdFusion, Railo & Groovy) John proved my first assumption wrong – Validate This can be used to validate outside of objects using the FORM scope or even JSON calls as the basis for rule application. Oh and it supports jQuery 1.4 & 1.5. John moved quickly onto the guts of the framework showing how a singleton instance of ValidateThis can be passed rules in XML or JSON via a parameter to the constructor of the base class. For those using it in an OO environment, Validate This also supports annotations in the objects to be validated. On the client side, standard validation messages are supplied which can be overridden as needed. The messages can be output in different locations by adding a <cfoutput /> to the code on the server-side. A couple of other notes: Validate This currently uses isValidEmail() for email validation which is less than ideal as it’s a pretty basic ruleset but it can be easily overridden to employ your own regular expression. One great feature that I wasn’t aware of is the support for “Contexts” in forms which allow you to use the same rule sets but apply some of them depending on the context of the data you’re validating. The example of “User Registration” vs “Login” form is a great way to promote a feature that really embodies the kind of DRY techniques that make this kind of framework worth using. Other little tidbits? Of course JS is case-sensitive but having it raised as a gotcha was handy. As was the highlight of the “ignore” class which allows an item to be validated purely on the server-side (great for hidden fields). Finally John pointed out that the validation instance can be injected back into the business object to provide access to validation from within the object itself … which is very cool indeed! I’ll be working more with validate this over the next few weeks but this session was a great into. (Note: John’s presentation is now online at http://www.aliaspooryorik.com/blog/index.cfm/e/posts.details/post/305 ) Scores (out of 10) Direct Professional Value: 10 Ongoing General Value: 9 Contention / Debate (inv): 9 Style: 9 Overall: 9.25Scotch 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 - 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