UDF to replace URLs with a hyperlinked equivalent

My search on CFLIB didn't produce a match for a UDF to replace URLs with an HTML link for that URL, so I'm going to submit one as soon as I convert my CFSCRIPT version to standard ColdFusion tag equivalent.

In the mean time, below is the custom function that I use to automatically convert URLs in my blog comments to a link so readers can just click through. I strip HTML and CFML tags from user comments rather than convert the tags to text with htmleditformat(), so a user cannot insert anchor tags for a link with their comment.


Demonstration of Connection Failover for Oracle DSNs

Earlier this week I blogged about using the Oracle AlternateServers connection string parameter with ColdFusion Oracle datasources for connection failover, a feature of the DataDirect 3.5 driver bundle. This blog entry shows a network trace of connection failover in action using the Ethereal Network Analyzer (a favorite tool) to packet sniff a simple query made from a ColdFusion page. The packets were traced between the ColdFusion server and the Oracle database. Effectively, the trace shows the TCP communication between the JDBC driver in macromedia_drivers.jar version 3.5 to the Oracle database server.

To demonstrate how this works, I configured the datasource with incorrect information to simulate a situation where an Oracle database is unreachable. I listed the default port incorrectly, and provided a list of two alternate Oracle servers where the first in that list also had an incorrect port. The last in the list, which was the third server/port pair in the sequence provided a known good host/port combination. I then restarted the ColdFusion server to make sure any existing connections were dropped, and then began tracing all connections from the ColdFusion server to Oracle, and finally I made a single page request for a simple query to that datasource. You can see in the trace that three connection attempts were made in the order specified in the JDBC URL, where the first two (highlighted in red by Ethereal) failed to connect, and the third was successful.