Dan Mackey On ColdFusion Development

ColdFusion, Java, .NET, AJAX, DHTML development and general programming. Daniel is owner and Administrator of CFTagStore.com and works for an Application Development Company in Ireland called Digital Crew. His interests cover all areas of programming in multiple languages with a particular interest in Internet Technologies.

All Articles Posted In May 2006
2006-05-29 21:22:00.0

Joel On Software - The Book

Just finished Joel On Software and to be honest found it a very good book with some interesting ideas.

For years I tried to avoid Joel. He seemed to come out of the blue, I suppose around the time blogging became big. I think it was Keith who stumbled across him one day and we tried to implement some of his ideas in our own company but something about it made me cross and I got the impression Joel preached alot but never delivered the goods. Maybe I was just a bit hasty in my judgement....

One interesting part of the book mentions that web apps will never be able to accomplish the following:

  1. Create a fast drawing program.
  2. Build a real-time spell checker with wavy red underlines.
  3. Warn users that they are going to lose their work if they hit the close box of the browser.
  4. Update a small part of the display based on a change that the user makes without a full roundtrip to the server.
  5. Create a fast keyboard-driven interface that doesn’t require the mouse.
  6. Let people continue working when they are not connected to the Internet.

A good post on this is found here

As Emil rightly points out, everything on the above list has been accomplished bar number 6 which at the rate things are going, it wont be too long before that is nailed on the head.

Using what I learnt reading Joels book, for the Flash Multiple File Upload Control, I am going to write a functional and technical spec to give to Peter and see how the product turns out. If this goes well, we might adopt the whole spec thing properly for all products in the future....

Tags: Books
Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [1] - Leave a comment
2006-05-29 13:25:00.0

Uploading multiple files with ColdFusion

One of the most common annoyances about ColdFusion is the way the file upload functionality is implemented. Unlike ASP, PHP, JSP etc, file uploading is not handled by the Application Server (ColdFusion) but is farmed out to the webserver (IIS or Apache etc)

This means that while the file is being uploaded, ColdFusion just kinda sits there waiting for the file to be uploaded and a reference to the file handed back to CF. This means that you cant use some of the upload tricks of ASP, PHP etc to show the progress of the upload etc

Over the years, Peter and myself have tried to find a way of accomplishing this on the server side but to no avail. We have tried CFX tags, Java servlets called through ColdFusion etc

Andrei Kondrashev made a good stab at it using a CFX Tag and ISAPI filter but if you are on a server where installing such beasts isnt feasible there is nothing much can be done.

We wrote an ActiveX and DHTML ColdFusion component to allow multiple file uploads but the disadvantage is that it is IE only for selecting multiple files all at once. The DHTML interface is cross-browser and will uploaded multiple files but still requires you to add each file seperatley.

With the introduction of Flash 8, the problem is now achievable. ColdFusion will still use the webserver to upload the file so server side analysis of the file upload progress is still a no-no but using a Flash Component, DHTML and some clever programming, we can select and upload multiple files and give user feedback on the file upload progress.

I am tasked with designing the interface, the methods required, functionality and documentation and Peter is going to do the actual Flash programming.

Together we are finally going to solve this annoying problem and will be releasing our solution on CFTagStore.com for others to purchase and use in their applications.

Using Flash is beneficial for the following reasons:

  • Client side checking of file size instead of waiting for a PFO from the server after the upload
  • Select multiple files using SHIFT/CTRL or drag a selection using mouse
  • Available to all browsers on all platforms
  • Interface with Javascript for customisation and control such as event handlers etc
Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [7] - Leave a comment
2006-05-23 14:15:00.0

Something positive everyday

Frequently Peter and myself go for coffee and try and quantify all the various bits and pieces we have developed over the last 6 years and how to keep improving applications, tags and sites we manage.

One of the things we always say is that we will Do at least 1 positive thing everyday to get us to the places we want to go with the company and as programmers/developers.

Well, I started. It may be small but its a start:

Tuesday 23/5/2006:

I have added an RSS button to CFTagStore.com for the latest tags. This will link to an RSS feed of the latest updates to tags and new tags added.

I also for the first time ever used FEED:// to automatically call up your RSS Reader and add the feed to your folders. Plus I added the relevant HTML tags so readers can automatically find the feed.

For generating the RSS feed, I used Peters extremely easy to use ColdFusion custom tag : SimpleRSS2

Tags: ColdFusion
Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [0] - Leave a comment
2006-05-23 12:02:00.0

Quick Tip : Mozilla disables window.status by default

I was doing some testing on an app that needed to display mouse events so instead of doing what I normally do I said its only quick debug so I'll set the window.status - No joy.....

Mozilla by default now disables access to WINDOW.STATUS

You have to enable it by going to : TOOLS->OPTIONS->CONTENT-> ADVANCED and enable "Change  window status text"

Just a quick one incase you ever need to turn it on. This is a good thing to stop annoying sites but bad in general. There should be a wizard when installing Mozilla where you can specify whats turned off and not have to find things in the future.

This is one of my main gripes with Mozilla and Thunderbird. There doesnt seem to be any consistancy in where OPTIONS, SETTINGS or PREFERENCES are stored and their popup windows, dialogs, menus and tabs all hide settings in the most unpredictable places.

This is one of the reasons Windows is the de facto desktop operating system for normal users because they standardised the user interface. Even though Firefox is a great browser and Thunderbird is a great email application, you can see they were primerily developed on platforms other than Windows where there is no standard as far as settings, menu items etc should be placed.

Tags: Javascript | Rants | Tips
Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [3] - Leave a comment
2006-05-22 16:14:00.0

CFImageResizer - Preview

Over the weekend I was looking through my old posts and spotted my post about the cool Flickr Image Resizing Flash widget and stumbled upon Googles new GMail Contact photo editor and it got me side-tracked into developing our own widget.

There are many many times where an online easy-to-use image cropping tool would be handy for both us and our clients.

Using the X Javascript Library, I got enough functionality complete in a few hours to show a screenshot. I am going to make this robust, easy to use and useful, possibly interfacing with Java through ColdFusion <CFOBJECT> to do the actual image cropping. The only snag is it will be JPG and PNG only :-(

 

Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [2] - Leave a comment
2006-05-19 12:38:00.0

CFForumsExpress MSSQL and MYSQL

Just finished packaging up CFForumsExpress with MSSQL and MYSQL support with integrated Administration.

This is a pre-release version to help customers get up and running with MSSQL.

If you have purchased a copy and would like to use the pre-release version, please email me dan@digital-crew.com

 

Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [0] - Leave a comment
2006-05-17 21:04:00.0

Google Web Toolkit Released....

Google have released their Widget Library to help developers make Web 2.0 applications faster and easier.

The toolkit is the standard Google kit used to make GMail, Google Groups etc

Plenty of online demos. First impression is that they look very basic but as you play with them and start thinking how you would do it, you begin to realise the power of them.

http://code.google.com/webtoolkit/

May look into this toolkit for an upcoming Web 2.0 app Peter and myself are planning...

The fact that they are cross-browser with no loss of functionality is the best bit. They also have a nice tool that allows you to write your AJAX apps in Java and they have a tool that runs through and converts your code to cross-browser compatible DHTML.

Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [0] - Leave a comment
2006-05-16 15:19:00.0

ColdFusion Live Support Chat Application

About a year ago, I posted on my blog my thoughts on a ColdFusion based live support tool and that I was planning on prototyping my idea.

Well to update on this, I did actually write the application and had it working with a nice AJAX client application and a Windows Application running in the task tray for the operators.

I had it fairly advanced with the ability for operators to have multiple chat requests open at once, canned responses, visual and audio alerts etc

It was about 90% built with a good bit of testing to complete but I got pulled off it to work on various other projects and applications.

It is my mission to pick this project up again in the next few weeks after I finally get the latest version of CFForumsExpress shipped.

I would love to hear peoples ideas on a ColdFusion based live support tool....

Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [4] - Leave a comment
2006-05-16 12:50:00.0

Easy Blog Posting For New Engine...

One of the reasons I stayed with Blogger for so long was the convenience of posting blogs.

Blogger hooks you in by adding Browser Toolbar blogging tools, Add-Ons to Word to allow blogging etc and it is something I kinda miss. Sometimes you want to do a quick post and not have to load up the full cms system.

I am thinking of using what I built for the Guarantee Certificates and adapting it to be a quick blog posting application that runs in the tasktray...

Because I am using the same engine as Peter I can also give him a copy of it an together we will be able to enhance our blogging app.

More details as I plan it...

Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [2] - Leave a comment
2006-05-16 00:17:00.0

Windows Authentication and ColdFusion

Recently a project came up where we had to integrate user login information in our database with the users Windows Authentication on the network.

Peter did a great job of implementing this using the very handy CGI variable : #cgi.auth_user#

When a person logs in using WindowsNT authentication, ColdFusion passes the users login name in the variable cgi.auth_user

Peter kept a field in the users database called usersNetworkLogin and if the users session data was 0, he looked up the database against this variable. If a user was matched, he set the user logged in with session.loggedInUserId set to the users actual id from the database.

To save a dbs lookup in the future he set a cookie on the users machine.

This is a small bit of code and logic but has helped us out enormously on the Intranet project we were working on.......

Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [3] - Leave a comment
2006-05-15 22:13:00.0

Freefoam Guarantee Application

Just completed a nice little application to help Freefoam staff print Guarantee Certificates and Address Labels.

The application was written in VB and uses a WebBrowser Control to display the online HTML based Certificates which are in turn generated using ColdFusion.

Each certificate contains META data which is polled by the VB app, de-serialized and transformed into a raster image which can be sent directly to a DYMO LabelWriter 400 Turbo printer. At the same time the label is printed, the HTML certificate is sent to a Colour HP Printer.

The user can enter a Certificate number and the correct certificate loaded in the browser control.

The application runs in the system tray and is instantly available for use by double-clicking the task tray icon.

Small App but one that was fun to write and saves a hell of a lot of time to the client.....

Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [0] - Leave a comment
2006-05-13 17:34:00.0

How to make blog feeds more accessible

I never liked the way my old Blogger Blog worked. I didnt like the archives as it mad stuff hard for people to get to.

Peters blogging engine (in use here and at www.cftopper.com) is built upon our existing CMS system. I like the tags and the archives by months but I dont like the way the feeds get lost after you place more then 9 or so on the home page.

I am going to use the side nav to place the following:

  • This Month
    - Week 1...n
      - Monday, Tuesday, Wednesday, Thursday, Friday
  • Archives (Current Year)
     - Month 1
    -  :
     - Month n
  • Previous Years (Link to page with feeds categorised and searchable)

I am also going to limit the frontpage to just todays posts and if none are found then start placing the last 4 posts.

My posts tend to be long enough and I dont like a really long page......

Other things that need fixing:

  • Pinging sites when a post is added
  • Fix post tree in CMS section
  • Windows App to post to blog
Tags: Blog | cfdan.com
Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [0] - Leave a comment
2006-05-12 18:48:00.0

Left Blogger - Finally!

I have finally left Blogger.com and moved most of my Blog to the Blog system Peter wrote.

Blogger has fucked up and cant FTP into our servers anymore. I tried 2 different servers and Blogger gets as far as entering PASV mode and then fails to transfer anything more.

Its kind of a good thing to move it to our own engine anyway......

I also decided against importing all the old posts as many of them are kinda rubish and from now on they will be better....

To get to my old posts:

Tags: Blog | cfdan.com
Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [1] - Leave a comment
2006-05-12 18:43:00.0

VMWare - Run ColdFusion Linux On Windows XP

Haven't posted in a while due to a number of reasons so its time for an update...

There are 2 main thins right now:

  • Running ColdFusion Linux on Windows XP

    We are primarily a Windows based development house so Linux is not in our skill set yet.

    For ages we have been meaning to delve into the possibilities of duel platform development and in the past even went so far as setting up DCLinux, a Red Hat based Development Server running CFMX6.1.

    The problem with this is that most of my R&D, product development etc happens when I am "in the zone" and this is usually at home or in places other than the office.
    I needed a Linux installation running on my Windows XP laptop.

    This weekend, I decided it was time to finally do something about it and thought the only reliable way was to duel-boot my laptop.

    WRONG.

    Welcome VMWare.... the most amazing application I have come across in some time.

    Get this.... it only took 1 hour to get it running flawlessly!!

    I now have Fedora 5 Linux with CFMX6.1 running in a window on my desktop and can connect to it via my Windows browser using http://192.168.64.128:8300/

    What makes things even better is that I can connect to my existing MySQL database on the Windows machine through Linux so don’t have to worry about installing and configuring MySQL on Linux!!

    Also, the Linux Virtual Machine can view my localhost in Windows so I can test front-end stuff in Linux Firefox too!

    This truly is the dogs bollox! I can finally get all my CF Apps and tags Linux compatible!
  • Windows Application for Printing

    The other main application I am working on at the moment is a Windows Desktop Application that can pull data from our server in Dublin and generate graphical certificates and also address labels.

    Then with one click of a button both the Certificate and Label are printed on 2 different printers. The cert goes to a colour inkjet printer onto special certificate type paper and the label gets printed directly to a Dymo LabelWriter 320 printer.

    The app runs in the Windows task tray and is readily available. Some nice programming went into this one and I am damn proud of it.

    The core of the application is a WebBrowser Control hosted in a VB6 application.

    Some nifty printing and graphic techniques ensure the labels come out scaled to the size of the label.
Tags: ColdFusion | Linux | VMWare
Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [0] - Leave a comment
2006-05-12 17:59:00.0

Project Management Quick App

 
I am in desperate need of a quick application to manage my day-to-day projects and tasks. I have tried Gantt Project which is a good little Sourceforge Project but there are too many nuances and limitations. The biggest that turned me off was the inability to set a task in hours as opposed to days. This is ludicrous as all tasks need to be tracked and not all tasks take a day to complete. I have tasks that can take 10 mins to 2 hours.

Tonight I have a few hours spare and depending on my mood later and the amount of work I get done today, I am going to knock up a QAD (Quick And Dirty) personal project management app.

For ages I have been thinking about the best app to suit me. Peter and myself have great ideas on a full-blown app but we dont always agree on the way it should run.

This is what I want in mine until we finish our big app.
  • Ability to add Project Categories and Sub-Categories
  • Ability to add Projects
  • Ability to add Tasks to Projects
  • Quick access to the app
    - Tray Control
    - Fast task adding, deleting and editing
  • Simple reporting
  • ColdFusion based with AJAX for speed and usability

Tray Control

I need the app to be quickly accesible so I want a tray control app so when I right click, the menu pops up with my Cats, Projects and Tasks. Clicking on the task will complete it, start/stop the task etc. This could be fun the more I think about the features!

Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [2] - Leave a comment