An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

Entries for month: December 2006

CFUNITED - (most) topics posted

December 28, 2006 ·

CFUNITED has posted its initial list of topics. Their blog notes that they will be adding 18-20 more topics in the next couple of months and also reminds everyone that very early bird registration ends January 5th. You can see the full list of prices and expiration dates on the website.

Tags: coldfusion

Fusebox 5.1 - The big new feature

December 25, 2006 ·

The Fusebox 5.1 public beta is now available so I figured it was a good time to talk about the "flagship" new feature in this release. First off, let me caution that I've made some sweeping changes to how file paths are handled in the core files to enable a new feature. That means I've probably introduced a number of compatibility bugs. That's what the public beta is about - please download it and run your current Fusebox 4, Fusebox 4.1 and Fusebox 5 applications against it! I need your feedback (via the bug tracker preferably). So, what is this new feature? Fusebox 5 introduced the ability to run multiple Fusebox applications within a single ColdFusion application so that you could share application and session data (and do things like single signon). This increased the desire in the community for the ability to share circuits, plugins, lexicons and errortemplates between multiple Fusebox applications so that you didn't have to have a separate copy inside every single application. Fusebox 5.1 allows absolute (or mapped) paths for circuits, plugins, lexicons and errortemplates as well as fully supporting the ability to override the default locations of the parsed/, plugins/, lexicon/ and /errortemplates using fusebox.xml parameter values (you've been able to do this partially since Fusebox 4 but it's never been officially sanctioned!). I'll be adding documentation about the new features to the documentation wiki over the next week to explain how the absolute / mapped paths work (circuit declarations get a new relative="true|false" attribute but otherwise you should just be able to use a path that begins with "/" to indicate an absolute / mapped path that can be shared between applications).

Tags: coldfusion · fusebox

Fusebox 5.1 Beta 1 is powering this site

December 25, 2006 ·

As a precursor to posting the official Fusebox 5.1 public beta on the main Fusebox website, I have just updated this site to the beta candidate (build 5.0.1.294). The official Fusebox 5.1 Beta will be available shortly - I'll post here when it is, as well as on various mailing lists.

Tags: coldfusion · fusebox

Fusebox 5.1 - Something for OO programmers too!

December 24, 2006 ·

Whilst Fusebox has always been, at heart, a framework that solidly targets procedural programmers, recent releases have increasingly offered facilities for object-oriented programmers as well. Fusebox 4.1 introduced the <class> declaration tag as well as the <instantiate> and <invoke> verbs. Fusebox 5.0 added the <appinit> global fuseaction and the fusebox.appinit.cfm file primarily to support CFC initialization at application startup. That release also added the <argument> child tag for the <invoke> verb to make CFC use easier. Fusebox 5.1 provides sample lexicons for using ColdSpring and Reactor (thanx to Nathan Strutz and Qasim Rasheed). I hope the community will contribute additional lexicons for dealing with CFCs (I'd like to see a lexicon for Transfer, for example). Fusebox 5.1 also provides an object-oriented wrapper for the Fusebox attributes "scope" (the struct that holds URL and form variables). The new event variable is a bean that encapsulates attributes and provides getValue() / setValue() / hasValue() methods which will be more natural for OO developers using Fusebox.

Tags: coldfusion · fusebox

Fusebox 5.1 - Some Small Enhancements

December 23, 2006 ·

I'll cover the "flagship" new feature coming in Fusebox 5.1 in another blog post later this week but I wanted to just cover a couple of the miscellaneous changes in this new version of Fusebox. Fusebox 5 introduced the idea of custom attributes for the <fusebox>, <circuit>, <class> and <fuseaction> XML tags, using XML namespaces. Fusebox 5.1 extends this to <plugin> declaration tags as well. If you think other tags should also have custom attributes, let me know. The <relocate> tag gets a couple of new types: moved and javascript. Previously you could specify client (the default, equivalent to ColdFusion's <cflocation> tag) or server (which uses server-side forwarding to a new Servlet request). client generates a 302 Moved Temporarily response but sometimes it is useful to return 301 Moved Permanently instead - moved lets you do that. The javascript option generates JavaScript code to change the location - which is useful if you've already sent HTTP headers, for example.

Tags: coldfusion · fusebox

Parallels Desktop - New Beta

December 23, 2006 ·

Parallels has just made available a new beta version that includes a ton of great new features. The most stunning new feature is "coherence" mode which lets you run your VM applications right alongside your OS X applications without the VM's native O/S chrome. What? A picture paints a thousand words! I'd previously had Windows XP set to "Classic" mode but now I can have applications floating "loose" on the desktop next to OS X apps, it looks better in "Windows XP" mode with the silver theme. It also works better to have "Show window contents while dragging" enabled (otherwise when you move apps around you get an overlay of your Windows XP desktop wallpaper which looks very strange!). p.s. You can now drag'n'drop files between the Finder and Windows Explorer - life just keeps getting better!

Tags: osx

Fusebox Security Plugin

December 22, 2006 ·

Sandy Clark has updated her FBSecure plugin for Fusebox 5 and updated the WeGotWidgets demo as well. Thank you Sandy!

Tags: coldfusion · fusebox

Christian Cantrell on Apollo

December 21, 2006 ·

Kind of old news already but Mike Chambers has published a video interview with Christian Cantrell about some Apollo applications he's been working on internally at Adobe. As an Adobe employee, I've been fortunate enough to play with some of the Apollo stuff and I'm very excited about what it will let me do (I have a personal project in mind that Apollo will be perfect for!). So far, I haven't really had time to get into just what is actually possible - Christian shows some very cool applications he has built that do showcase what is possible, including how a Firefox extension can bridge communication between browsing websites (such as Amazon) and a desktop application built on Apollo. Very slick indeed! Read more about Apollo on Adobe's website.

Tags: adobe · air

Fusebox 5.1 - Bug Fixes

December 20, 2006 ·

I thought I'd start with the boring part - the bug fixes. For the most part, bug fixes have focused on compatibility with Fusebox 4.1 to help ensure even smoother migrations from legacy applications to the newer version of the framework:
  • attributes scope was not available in an exception handler. (140)
  • "Element fusebox is undefined" exception after renaming application. (153)
  • Fuseaction permissions is handled incorrectly. Fuseactions without the attribute accidentally inherited it from fuseactions that did! (155)
  • Expand Boolean literals that are acceptable - Fusebox 4.1 accepted "yes" and "no" as well and "true" and "false" for attributes that were supposed to be boolean. Fusebox 5 only allowed "true" and "false". Fusebox 5.1 now allows "yes" and "no" as well. (157)
  • Sequence of conditional logic in <if> block. Fusebox 5 forced you to have your <true> clause before your <false> clause. Fusebox 5.1 correctly allows either order. (160)
  • Include bug. If you included a file using a variable name and said it was optional, you'd still get an exception if it was not present in Fusebox 5. Fusebox 5.1 handles this correctly. (162)
  • Paths with . in the folder names fail when using relative paths. (163 - not fixed in SVN yet!)
Then there were a handful of bugs logged around the way Fusebox 5 didn't always notice a circuit file had changed. This was due to cfdirectory only returning the "last modified" date / time to the nearest minute on certain operating system / locale combinations. Fusebox 5.1 now uses Java code to check the date / time (which is accurate to the second everywhere). (99, 166, 167). I'll cover new features in a future post. Stay tuned!

Tags: coldfusion · fusebox

Fusebox 5.1 - Over 80% Complete!

December 20, 2006 ·

According to the roadmap on the Fusebox Trac site, Fusebox 5.1 is over 80% complete. One of the outstanding enhancements, global lexicons, errortemplates and plugins, is partially implemented (global lexicons are possible in the SVN trunk version). My plan is to complete development by year end and release a public RC (release candidate) for testing with the official 5.1 release happening in mid- to late-January depending on what bugs come up in testing. I'll post more about some of the new features in this point release throughout this week...

Tags: coldfusion · fusebox