An Architect's View

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

An Architect's View

Entries for month: April 2006

Fusebox 5 Bug Tracker is Open

April 27, 2006 ·

Simeon Bateman is kindly donating hosting and both SVN and Trac services. Trac is a great bug tracker / wiki. We've just recently opened public access to Trac so you can see the bugs and fixes progressing, as well as submitting new bugs. Whilst it's open, I want folks to join the Fusebox 5 mailing list if they want to get the URL so that they can be part of the discussions around features and bugs. Besides, the only way you can get on the Alpha / Beta program for Fusebox 5 is to join that list so you wouldn't have bugs to report without being on the list! :)

Tags: fusebox · coldfusion

Light Blogging?

April 27, 2006 ·

I just realized that I haven't really blogged much lately. Mostly because my daily blogging reminder emails are building up in my inbox! It's been an insanely busy few weeks and it looks like the next few weeks will also be insanely busy. I can't really go into much detail because most of what I'm working on right now is all about future product and service offerings but we're going through a lot of the "necessary evils" that startup-style projects have to go through: technology stack decisions, budget estimates, schedule planning and so on. Adobe handles some of its innovation by incubating startup-style projects within the larger organization. It's kind of the best of both worlds: the freedom of a startup with the support of a large corporation. Right now I'm developing a lot of architectural concept diagrams as well as estimating hardware requirements and trying to create blocking schedules for things we think we have to deliver. It's an exciting time and I think we'll be creating services that will appeal to a large audience. Bear in mind that I'm part of the Knowledge Workers Business Unit. That means that you, dear reader, as a software developer are not exactly part of my target demographic for now. However, as we start to build out our systems and solutions, I hope to be able to share some of what makes everything tick behind the scenes - especially where we get to "eat our own dog food". Back in 2001, after the Allaire acquisition, I created a small team whose remit was to rebuild using our own (new) technologies. In 2006, I find myself in a similar situation but instead of producing a website for product consumers, I'm looking at services for business consumers. The business unit I operate in now includes pretty much all things Breeze-related and PDF-related so it has a different dynamic and a different set of challenges. I hope you'll stay with me in this new phase and I hope I'll find relevant things to talk about here.

Tags: blogging

Fusebox 5: Progress Report

April 25, 2006 ·

So far the alpha is going pretty well. Compatibility (with Fusebox 4.1) seems good. Six bugs have been reported so far and five are fixed in the latest Subversion update. I've offered up a snapshot to a couple of people for testing and results look good so I may well go for Alpha 3 in a week or two to get more feedback before the Beta. Again, if you want to get involved, please subscribe to the Fusebox 5 mailing list.

Tags: coldfusion · fusebox

Simple Remote File Manager

April 23, 2006 ·

This weekend I had a little chore, courtesy of my wife and her cat fancy involvement: a simple web application to manage some remote files on the regional website (for which I am webmaster). The website is hosted on GoDaddy so quite a few tags are disabled. What my wife needed was a way to upload and manage files on that website, in a way that let her control what information was shown on the website's finances page (she's treasurer). I wrote a small Model-Glue / ColdSpring application that runs on her machine (which already runs the IRC bot) and lets her push files from the local financial folder tree to a specific directory on the remote website. I figured it might be useful to someone so you can download the code from my software pod (right hand side of my blog). Here's the code embedded in the web page on the regional website:
<cfinclude template="/data/files.cfm" />
<cfset keys = structKeyArray(data) />
<cfset arraySort(keys,"text") />
<cfset n = arrayLen(keys) />
<cfloop from="1" to="#n#" index="i">
   <p><a href="/data/#keys[i]#"><b>#keys[i]#</b></a><br />#data[keys[i]]#</p>
The files.cfm file is created and managed by the File Manager app as a way to control what is shown on the website. To configure the app, edit filemanager/config/beans/beans.xml and change the local home directory and the remote server configuration. The UI is very basic (hey, I'm an engineer not an artist!) and is modeled after the "webpush" utility Macromedia used to manage content on (with color-coding to indicate files that are the newer locally, the same, missing locally and missing remotely). Anyway, if you find it useful, have fun with it. If nothing else, it's another example of using Model-Glue and ColdSpring together.

Tags: coldfusion · modelglue · coldspring

Powered by Fusebox 5 Alpha 2

April 21, 2006 ·

I'm in the final staging of testing Fusebox 5 Alpha 2. I just updated this site to the Alpha 2 build - you can see the "Powered by" version indicator in the right hand column (at the bottom of that column). I'm about to start writing the release notes and then I'll upload the ZIP to the Fusebox 5 mailing list files area and announce availability on that list. Stephen Judd announced on that list last night that he will update his Fusebox reloader extension for Firefox to support the new load/parse URL options that Fusebox 5 supports - thank you Stephen!

Tags: coldfusion · fusebox

Model-Glue and URL consistency

April 21, 2006 ·

Someone asked on the Model-Glue mailing list how to keep deal with keeping event handler names and URLs in views consistent, i.e., if they change an event handler name, how can they avoid having to change the string wherever it appears in links in their views. Fusebox has long had a convention to deal with this known as XFAs - eXit FuseActions. The idea is to abstract the actual fuseaction name into a variable. You specify all the exit points for a view as XFAs in the XML and refer to the variable in the view instead of hard-coding the fuseaction name. If you need to change the control flow - or the fuseaction name - you just change the XFA in the XML file and your views all pick that up. Often Fuseboxers set common XFA values in the prefuseaction for the circuit or the global preprocess fuseaction for the application, making it very simple to manage exit points. You can do something similar in Model-Glue by using the value tag on an include:
<include template="myView.cfm">
<value name="xe.home" value="welcome"/>
Your view can refer to the exit point as a variable when building the URL like this:
<a href="#viewState.getValue('myself')##viewState.getValue('xe.home')#">some link text</a>
Note that Model-Glue creates the myself event value automatically from the defaultTemplate and eventValue settings in the <config> section of your ModelGlue.xml file. This abstracts even the file name and event key out of your views and is good practice. Again, something borrowed from Fusebox conventions (although Fusebox does not do this automatically - it's just a common convention). If you want to set exit points globally in Model-Glue, you could make them settings in the <config> section and then have a listener for onQueueComplete which pulled all xe.* settings and added them to the event (view state).

Tags: coldfusion · modelglue

Fusebox 5 Alpha 2 is near

April 20, 2006 ·

This site is now running on a candidate build for Fusebox 5 Alpha 2 so it's looking good to release Alpha 2 to the Fusebox 5 mailing list this weekend. Many thanks to my core testers this week - we found (and fixed) a few bugs in Alpha 1 and I've been continuing to work on Fusebox 4.1 compatibility. New features in Alpha 2 include ways to ask the core to remove all existing parsed files (to ensure a clean load) as well as pre-compile all public fuseactions as well as a number of small enhancements to the core.

Tags: coldfusion · fusebox outage

April 18, 2006 ·

Update: HostMySite reported that this was due to applying the latest Culmulative Hot Fix and a problem with the interaction between mappings and sandbox security. They've rolled back the CHF and are working with Adobe on the issue. Yet another reason for my assertion that mappings are a Bad Thing(tm) in a shared hosting environment!
At around 1:18am this morning, the shared server on which my site lives was restarted and it appears to have been restarting on and off until around 7:35am. During that time I received nearly 3,600 alert emails (that the RSS feed was failing) and about a dozen IMs and emails from friends saying they had problems accessing my site. I've changed my RSS failure alert to be a little less aggressive so future outages don't cause as many emails or as many attempts to recover (which I'm sure was placing additional load on the already burdened server). I'm following up with HostMySite to find out what the root cause was. I'll keep you posted!

Tags: coldfusion

ColdFusion Job - Ellicott City, MD

April 17, 2006 ·

Attendee Interactive, a 100% CF web development shop are looking for a beginner to intermediate Web Programmer/Analyst. More details can be found on their employment opportunities page. I'm posting this for Jason Daiger of Attendee Interactive because he found a bug in Fusebox 5 Alpha 1 for me. Thank you Jason!

Tags: coldfusion

ColdSpring, Model-Glue, Reactor - CFC Documentation

April 16, 2006 ·

Jared Rypka-Hauer is maintaining up-to-date versions of the CFC Documentation of these frameworks for the community.

Tags: coldfusion · orm · coldspring · modelglue