ColdFusion 8 public beta chews bubblegum, takes names


The world's first real server-side scripting language, which seemed to get quiet in its v5-v6 days, is back with a vengeance with the new ColdFusion version 8. Currently available as a public beta and due for public sale in a few months, the new release has a tonne of new features to get web developers in a tizzy. While version 7 IMHO felt like a minor upgrade for most of us (the most impressive new features were in the $6000 Enterprise edition), version 8 has lots of end-user features that really goes a great job of catching up & leapfrogging some of the competition. Here are some of the highlights:

  • AJAX interface with a huge amount of functionality: a data grid, an auto-suggest gadget, and tonnes more.
  • WYSIWYG editor replacement for textarea boxes, which uses FCKeditor.
  • Flash presentations generator to completely replace Powerpoint with something much better.
  • Built-in database. PHP 5 has SQLite, ColdFusion 8 has Derby.
  • RSS/Atom reader & generator, to make publishing or reading web feeds a non-issue.
  • PDF manipulation, everything from content modification to being able to secure documents.
  • Flex integration, for doing Flash-based applications without using Flash. Neat stuff.
  • Microsoft Exchange interface for accessing email, calendars, contacts, etc from Exchange - very useful for building intranets.
  • Image manipulation commands - after years and years of waiting, CF finally gets a command for manipulating images.
  • Really easy and powerful multi-threading - I'd like to see Ruby get multi-threading as easy as this.
  • Server improvements - not only can you more easily segregate your websites you can now also monitor how they are all performing.
  • A debugger! Has been missing since version 5.
  • Implicit struct and array creation, you don't have to manually create the variable and then assign data to it one item at a time, you can now just do <cfset months = ['January', 'February', 'March'] />.
  • Simple file commands, like finding a file's size without having to resort to Java, etc.

There's a whole bunch more, but those are some of the improvements that I'm really excited about. Go read the full What's New guide or watch the What's New videos, I think you'll be rather impressed, I know I am. I really can't wait for frameworks like Coldbox to upgrade to support some of the new features, now that would be niiiiice!

Web page attachments - download vs inline with ColdFusion


Here's a quick tip that'll help make life easier for anyone who's trying to use ColdFusion's CFCONTENT tag to send content to the browser. When you're sending a file to the web browser using CFCONTENT you can do it either as an inline file, i.e. the browser will probably try to display it, or you can send it as a file to be downloaded. The only problem is that to do the latter you can't do it with just the CFCONTENT tag, you first need to tell the browser that you're sending a file and then send it, for example:
To pop open the magic Save As dialog in the browser you need to send the Content-disposition HTTP header and tell it you're sending an attached file, along with the filename. Easy when you know how.

Improve Redmine's client management options


Out of the box Redmine doesn't look like it has a lot of options for managing clients, but you'd be wrong - with a little customizing you can at least fake it. There are two parts to this - set up a new user group and add some custom fields for users.

The first step is to create a new user group called Client:

  • Log into the Administration -> Roles & Permissions page and click on New Role
  • Set the name to "Client" and give them the follow permissions: Issues - add, add a note, change status, new file, new relation; News - add a comment; Documents - add, new file; Files - add. (adjust as you see fit)
  • Save what you've set and assign a user the Client role for a project.
  • Next time you view that project's Overview page it'll list them on the Members block as a Client

Simple but useful.

The second step is to round off the user information options by adding some custom fields.

  • Go to the Administration -> Custom Fields page and click on Users link.
  • Click on New Custom Field, set the name to "Company", leave the format as "text", set the min length to 0, the max length to e.g. 30, leave the regular expression field blank, leave the required option unchecked, and click Save.
  • Repeat for any other fields you want, e.g. Work Phone, Cell Phone, Work Address, etc.

Now any time you add a user you can give them the above information.

Putting these two together, now when you go to the Project Overview page you can see who the client is and by clicking on their name see their contact information.

N00b FAQ: belongs_to is singular


A little tidbit I forgot along the way - in Rails the belongs_to (1-to-many association directive at the 1 side) directive needs you to assign it a singular symbol and not a multiple, e.g.:
[source:ruby]class Product belongs_to :category

Samsung BlackJack or Blackberry Pearl? (UPDATED)

Any recommendation on which of the above phone to get? Our current carrier has them pretty cheap as refubs (I could get one for free by moving carrier, but that itself is complicated) and they're both tempting. The requirements I have are:

  • camera higher than VGA, preferably 2mp or more
  • PDA functionality - calendar, tasks, etc,
  • MP3 playback
  • Video playback of some sort

Things I don't need are:

  • Exclusive music or video deals - I'll supply my own, thanks.
  • 3G service, again the fancy stuff will copied over via USB first, I can cope with that.
  • Email - see above.

They'll both be set up to sync with our Mac at home, and thankfully there's lots of great software to do that, all of which seems to be written by MarkSpace.

So has anyone tried these, and if so which did you prefer?

UPDATE: They've sold out of the Blackjack. :-(


Subscribe to Front page feed