Updating SVN client version from 1.4 to 1.5 with Eclipse and Subversive with Tortoise SVN on Windows

This process is very very frustrating - but due to the way pretty much every SVN client seems to need to update the working files for any SVN managed resources to the latest version it supports, it does seem to be a necessary process - especially when some other svn plugins (such as Ahnk SVN for visual studio) only support 1.5 or later.

During this process I came across a lot of things that didn't work - I'm just trying to document here what did...

[More]

SQL Server DB documentation from schema

I am in the (fun!) process of documenting an application I created nearly 5 years ago, in which the majority of the functionality is controlled by the database (it's a business workflow automation tool).

Reverse engineering substantially reduces the size of the task - Visio's Database > Reverse Engineer... command is a real time saver when you have foreign key constraints defined, makes generation of an ERD no more complicated than arranging all the boxes so that none (or few!) of the relationship lines cross!

A little utility contributed to the Code Project website makes the process of creating table and field documentation much easier: http://www.codeproject.com/KB/database/sqldoc.aspx

This utility can be pointed at a SQL server database, and will generate an HTML document listing all the tables and fields in the database, together with data types, nullable, default values and description fields from the db schema.

It uses an XSLT transformation to convert the xml generated to an HTML document. This can be edited so that it's closer to final requirements - I have updated the XSLT to place anchors on each table name, and links at the top of the file to each table.

This makes it a much less arduous task to document each table and field - I can edit the file in dreamweaver and just add descriptions for each field and table.

Eclipse Character Encoding issue

I've recently been having the problem that every ColdFusion file that I attempted to open in CFEclipse was displaying character corruption of special characters (e.g. apostrophes, hyphens etc.)  - each corrupted character was being displayed as a black diamond with a question mark in it.

When I checked the character encoding for the file, it was showing as Default (determined from content: UTF-8)

This was not correct - the correct encoding of the files should have been ISO-8859-1.

I checked a number of places, and could not detect where the setting was being applied.  I even tried overriding the Default encoding for the ColdFusion Source File content type - which made no difference at all.

Eventually, the problem turned out to have been caused by me adding the *.cfm extension to the XML Content type (so that I could open any CFM file within the XML editor if required) - which has a default encoding of UTF-8.  This was overriding the setting which had been applied to the ColdFusion Source File content type.

After removing the *.cfm extension from the XML Content type, my ColdFusion files could be opened as saved correctly without any character corruption.

Aggregate Bug? with ColdFusion (8.0.1) Query of Queries

I've been having the following issue with CF8 Query of Queries on ColdFusion 8.0.2:

Iniital query resultset:

attraction_latitudeattraction_longitude
51.4808-0.155075
51.564617-0.092513
51.558144-0.316379

[More]

Google Maps: How to zoom...

The esiest way to zoom in and out on a Google Map, is to use the Mouse Wheel (up for zooming in, and down to zoom out).

Sometimes this isn't possible (by default mouse wheel zoom is disabled for API usage, and it's hard to use a mouse wheel when you're on a laptop with no mouse!)

In this case you can double click with the left button to zoom in (I'm sure everybody knew this) - but you can also zoom out by double clicking the right mouse button.

(And if you are using a Mac Book, then tough luck as Apple are still insisting that a right mouse button is superfluous!!!) (...waits for flames from Mac Fan Boys...)

CFAjaxProxy - don't add the .CFC file extension...

I've been getting the following CF error when attempting to use the CFAjaxProxy tag:

The specified CFC path.to.cfcname.cfc cannot be found

The specified CFC definitely existed, and all the mappings had been set up correctly.

I was calling it with the following code:

<cfajaxproxy cfc="path.to.cfcname.cfc" jsclassname="searchCFC">

I was tearing my hair out for about an hour, before I realised think CF not AJAX - the path to be supplied is in exactly the same format as all CFC references - i.e. excluding the .CFC file extension.

I'm sure this is completely obvious to most people (although at least one guy (thanks Andy) mentioned having done the same thing even today) - but its the obvious ones that seem to catch me out!!!

Weird issue trying to start a CF8 instance

Just had the following issue when trying to start a CF8 instance.

Within the windows services control panel, I clicked start for all of the instances (8) - and they all started except 1.

This was following some fairly in depth reconfiguring of the instances - involving changes to multiple configuration files, the registry, and (perhaps most tellingly) mapping each instance to use its own configuration file by un-registering the windows service, and then re-registering the service using the new config file.

During this process, jrunsvc will stop the service if it is currently running.

When I checked within the JRun {instance name}-out.log file within the instance which would not start, I saw the following error:

error JRun Naming Service unable to start on port 2914
java.net.BindException: Port in use by another service or process: 2914

[More]

How to change the default backup location in SQL Server2005

There doesn't appear to be a simple way of changing this setting from within SQL Server Management Studio.

you can however change this setting by modifying this registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\BackupDirectory

This is very handy if you are wanting to restore a load of databases from backup (e.g. when migrating databases from another server...)

64 bit CF8 Compatability issue (Completely irrelevant to most people)

There doesn't appear to be a 64bit driver for MS Access data sources.

I know - no-one in there right mind would use access for driving a website - but we still host a couple (literally) of sites which were created at least 6 years ago and have barely been changed since...

Solution: Import said databases into SQL Server...

SMTP Event Gateway???

Does anyone know of an SMTP event gateway for ColdFusion>

What I'm looking for, is a way of implementing helpdesk type functionality, whereby any emails to a certain domain are handled by ColdFusion according to a set of rules (e.g. create new issue - add comment to an exiting issue etc.)

It struck me that it should be relatively straightforward to handle incoming SMTP transmissions using a ColdFusion Event Gateway (seeing as SMTP is a relatively simple text based prtocol...) - and I wondered if anyone had already done it - and if not - why not? (I'm presuming I must have overlooked something that would make it more complicated than I anticipate...)

ColdFusion 8.01 on Windows - should I go 64 bit?

I'm in the process of specifying a new web server, which will be running ColdFusion 8.01 Enterprise (as well as IIS etc.).

The server will be running ~6 active instances of ColdFusion - and will initially be configured with 4GB RAM - with the option of upgrading in the future as required.

We will be using Windows 2003 Enterprise as the operating system.

What will the benefits and downsides be of going for the x64 OS compared with the x32 OS, taking the following into consideration:

  • The system will only be used as web application server
  • The system will initially be set up with 4GB RAM - and will never have more than 8GB.
  • The high number of instances of CF mean that if we did set the JVM Heap size over the ~1200 MB x32 limit, then we'd run a distinct possibility of running out of memory. (The reason for having so many instances of CF is to enable separation of CF Mail queues - 2 of the instances don't get any front end traffic at all, and are just responsible for sending out large batches of email)

Any advice would be appreciated...

A big thankyou to all those involved in Scotch on the Rocks

Got back home from Scotch on the Rocks - just wanted to publicly thank all those involved with Scotch on the Rocks.

In particular I want to thank Andy Allan and his wife Leanne for the huge amount of time and resource they have given to make this conference the best ever European ColdFusion conference, together with Kev, Stephen and others.

I also want to thank all the speakers - All the presentations I attended were interesting - and some were particularly relevant to where I am now as a developer.

The networking was great - it was particularly good to be able to chat with some of the guys who are leaders within the community - I think this can be even more valuable in many occasions than the sessions - as well as the interaction with Adobe staff.

Thanks Everyone.

How to change ColdFusion / JRun logging location

ColdFusion by default stores log files in 2 locations, dependant on the type:

[More]

Why does anyone use Yahoo email???

A word of advice for anyone using Yahoo mail:

Use Googlemail

Last night, I had to test the formatting of an email generated by our Email Marketing tool within Yahoo mail.

  • The first email I sent arrived immediately
  • The second email I sent did not arrive within an hour and a half
  • The third email I sent (20 minutes later) also did not arrive within that time frame
  • The fourth email I sent (over an hour later) arrived imediately

When I checked yahoo mail this morning, there were four unread emails - including one which had been sent at 16:30 the previous day - this mail took at least 8 hours to arrive!

This in itself should be more than enough to stop anyone using yahoo mail (This is definitely not an isolated instance, we have had several reports of this behaviour from our clients).

In addition, the following would also stop me using yahoo:

  • Extremely intrusive advertising, often taking over ~ 50% of the screen space.
  • The annoying this message was sent using yahoo mail - aren't we fantastic! message which yahoo seem to put into every outgoing email by default
  • When you set up a new account, Yahoo seem to "opt you in" to receive messages within various categories - without warning you that they are going to

Now I appreciate that some people don't get on with the googlemail interface - but if my 60+ year old mum can can cope with moving from yahoo to google (and actually prefers the googlemail interface) - then it can't be that hard!

Add on the fact that you can host email for your own domains there for free - and you get a whole lot of other functionality for free as well (Blackberry / mobile device / POP3 / IMAP access, integration with other Google services etc.) - and the advertising is non intrusive (and often relevant) - then I really can't understand why anyone would use a service which is as dysfunctional and annoying as yahoo's...

Rant over... for now...

What is wrong with Internet Explorer?

I'm currently in the process of setting up a new development machine with all the software I need (Oh what fun!)

I was working may way through my list of essentials (about 90 items and counting!) - installing from disk for stuff on disk, and downloading the most recent versions of apps available on line.

Shortly after installing MS-Office (and running MS Update and rebooting), I tried to download iTunes... I.E. crashed as soon as I had clicked the save to disk button.  I tried again... I.E. crashed again.  So I thought - lets download FireFox and use that instead... I.E. crashed again.

[More]

VMWare Convertor coolness...

Dell have finally deigned to deliver my replacement laptop (Original went in for repair in early December!).

As mentioned previously, I'm in the habit of backing up my machine to an external disk on a regular basis (o.k. maybe not that regular - but at least before it gets taken away for repair!!!) using Acronis True Image.

This offers a handy utility whereby you can mount a disk image as a drive - so I can have full access to the contents of the old hard disk when I need it, from the new machine.

Now I don't know about you, but I find it takes me weeks to get a new development machine up just how I like - and there always seems to be stuff I have forgotten off my old machine...

[More]

Acronis (makers of True Image) offers excellent customer service

Just to pass the word around...

I recieved excellent customer service from Acronis recently.

We purchased Acronis TrueImage about 18 months ago, primarily for taking images of development systems post configuration for rapid rebuild when required.

We seem to have mislaid the installation disk when we moved offices a few months back - which became an issue when I had to send my laptop back to Dell for repair - and ended up with needing a new system.

I had taken a full image of the system prior to Dell taking it away - so I wasn't to concerned when they told me the system could not be repaired - until I realised we had lost the disk.

I contacted Acronis to see if there was anything they could do, and, after I had faxed them a proof of purpose, they sent me a secure download link for the Product, and a new serial number...

I know it may only be a small thing - but compared with the level of service we seem to receive from other I.T. companies I thought I should mention it.

I can highly recommend Acronis as a good company to do business with (as well as producing excellent software).

Unable to persist CFC to App scope if invoked by Webservice call (With workaround)

I have come across the following issue when attempting to persist a CFC to the Coldfusion Application scope, when the the CFC method had been invoked remotely.

[More]

What RSS Readers do You Use?

Just a quick post to try and find out what RSS readers people use - and how they rate them.

I currently use google reader for all my web based feeds (It's about the only thing I've found that seems usable for the number of feeds I (try!) to follow!

I need something else though particularly for internal RSS feeds. Internally we have a number of apps which provide an RSS feed - in particular Trac.

I need an app which which notifies me as soon as there are any new posts, and which will continue to highlight to me that I have unread items until I have read them.

I need an app that can run in the background all the time - preferably as a taskbar icon - basically like an IM client for RSS feeds.

It needs to be able to run on Windows XP (although I'm sure the 7% of you who are visiting using OSX will no doubt want to tell me how there is a much better solution on the Mac!)

Any recomendations?

I Love (SQL) views

I've always been a fan of Views within SQL Server - I've found them especially useful when creating applications which need to be able to access data from external sources, without necessarily being aware of where that data came from - or even of its precise format.

One feature which I have found especially useful, is the ability to select and join to data from within a different database, from within a view.

This can be done as follows:

[More]

How to find the user / entity an email address is associated with in Exchange 2003

MS Exchange stores the email addresses for all users and other entities within the Active Directory.

It is very easy to add an email address to a User (Email Addresses tab on the properties page for an Exchange Enabled user) or to a public folder (Exchange System Manager > #Organisation# > Administrative Groups > #Administrative Group# > Folders > Public Folders : Select folder, right click > All Tasks > Mail Enable : Select Folder > Properties > Email Addresses) (O.K. easy when you know where to go).

Multiple email addresses can be added for a user or folder - but its very hard to see which email addresses have been assigned to which entity - especially as there are 2 different management consoles dependant on the type of entity, and secondary email addresses are not easily visible without opening the enity that contains them.

If you attempt to assign an email address which is already assigned to another entity, you get the following error message:

This email address aready exists in this organization.

ID no: XXXXXXX Exchange System Manager

[More]

Outlook 2003 / Exchange Multipart Email Gotcha

We use Exchange 2003 internally, together with Outlook 2003 as an email client.

Outlook does not handle multipart emails correctly - any attempt to preview the plain text version of the email results in showing a conversion of the HTML version into plain text, rather than the text/plain alternative.

[More]

Beware Coldfusion / mapping

Be careful when setting up a root ColdFusion mapping, where the ColdFusion root and the web server root are not the same location.

On our standard Development machines, we are running IIS on Windows XP, and have been developing against 3 versions of ColdFusion.

We set up 3 IIS virtual directories (/cf5, /cf6, /cf7) each pointing to a subdirectory of our sites folder (c:\sites\cf5, c:\sites\cf6, c:\sites\cf7 etc.) - with the corresponding version of CF handling each virtual folder.

Within each version of CF, we set up a root mapping - e.g. for CF7: / = c:\sites\cf7, in order to allow the CF Mapping path to be consistent between development machines and production servers.

This works fine for most occasions - the IIS virtual directory normally has nothing to do with the CF Mapping - however there are a couple of exceptions:

  • Using the Application.cfc OnRequest Method: (CF will set arguments.targetpage to equal the IIS path)
  • When attempting to invoke a CFC as a webservice (error: Could not resolve CFC datatype)

Both of these issues can be resolved by setting up a CF mapping to match the web server virtual directory mapping (e.g. /CF7 = c:\sites\cf7)

Beware Windows 2003 SP2 (Especially if using DTC)

If you are using Distributed Transaction Co-ordinator to manage MS SQL server cross-server transactions across machines which are not in the same domain, be careful when installing Windows 2003 SP2.

To enable cross domain SQL transactions using DTC, it is necessary to drop the required security from "Mutual Authentication Required" to "No Authentication Required".

Quite helpfully, installing Windows 2003 SP2 will cause the security settings for DTC to be reset to the default - "Mutual Authentication Required" - preventing Distributed transactions from occuring.

SQL server will give a really helpul message along the lines of "Unable to enlist in transaction" (which is the same message you get if there are any network issues between the 2 servers).

Only took me 5.5 hours to spot what the issue was - Thanks Microsoft :P

Flex integration broken in CFMX 7.02 on Ubuntu (maybe - for most people)

I struggled with this over most of the weekend - and eventually came to the conclusion that flex / CF integration does not work using CFMX 7.02 on Ubuntu.

This appears to be a known issue (at least for Red Hat) - logged here

Any flex requests to CFC's are met with flex/messaging/io/amf/UnknownTypeException.

[More]

ColdFusion 7.02 + Apache 2.2 installed on Ubuntu 7.04 on VMware Player

Its definately harder than windows - but I have managed to get ColdFusion 7.02 Server running on Apache, on Ubuntu 7.04 (Feisty Fawn).

My previous experience with Linux is very limited to say the least - and most of the issues I ran into were due to misunderstandings on my part about how linux works...

Main issues i ran into:

  • Ubuntu does not have a root account (not strictly true - but when I though it was asking me for a root password - it was actually asking for my password...)
  • Could not execute ColdFusion installer after I had downloaded it (not marked as executeable - chmod +x)
  • I really don't understand linux permissions - I want to be able to create and edit docs in /usr/local/apache2/htdocs/ without having to sudo (I'm sure this one will seem more logical when its not 3am!
  • Had an issue with the connector for apache - the one that is distributed with CF is not compatible with Apache 2.2 (there is a hotfix downloadable from adobe for this, which worked)

All in all, I don't think 4 hours was too bad, baring in mind my inexperience with linux etc.

I have to say, I'm very impressed with VMware player - about 100 billion times faster than MS Virtual PC!

A big thankyou goes to Dave Shuck for his excellent post on Installing CFMX7 & Apache2.2.2 on Ubuntu - Without this I think I would have been totally lost...

I'll post more when its not 3am - and I've had more chance to get everything setup how I want.

(Basically I'm trying to create an environment that I can dev in (and potentially move to other machines) when I'm not using my primary development machine - I have a lightweight laptop that I normally use when I'm not in the office - but I often want to quickly play with something in CF. I didn't want to break my existing windows installation on this machine by installing a load of server / development software - so I thought I'd build a virtual machine - using ubuntu rather than windows to avoid licensing (and hopefully performance) issues!)

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.5.1, hosted by TalkWebSolutions.