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.

Last 5 Entries
2009-01-15 19:57:00.0

CompareHTMLComponent : JAR to compare two HTML fragments

After my initial post yesterday CFX_CompareHTML ColdFusion HTML diff custom tag I got quite a bit of feedback and one of the items raised was that some people dont like CFX tags and I should use JavaLoader to use the JAR file from within ColdFusion. (Thanks Dan Vega)

I have uploaded a JAR file called CompareHTMLComponent which allows you to do this.

To call the diff component use the following:

<cfset paths = arrayNew(1)>
<cfset paths[1] = expandPath("CompareHTMLComponent.jar")>
<cfset loader = createObject("component", "javaloader.JavaLoader").init(paths)>
<cfset compareComponent = loader.create("CompareHTMLComponent")>
<cfset diff = compareComponent.init()>

<cfoutput>#diff.compare("Some HTML","Some more HTML")#</cfoutput>

As always, feedback is most appreciated so hit me with your thoughts in the comments!

The JAR file and examples can be downloaded from here :

DOWNLOAD PACKAGE

Requires Java 1.5 JRE to be installed or it will throw an exception! ColdFusion 8 & Railo 3 should have this but CFMX7 may not.

Add to your del.icio.us    DIGG This!    Technorati Cosmos Link    Post to Reddit    Add to your Furl    Add to Blinklist
Comments [11] - Leave a comment
2009-01-14 14:29:00.0

CFX_CompareHTML ColdFusion HTML diff custom tag

Following on from my last post I have released Version 1 of my ColdFusion HTML Diff Custom Tag, CFX_CompareHTML.

When we wrote Teamwork Project Manager one of my jobs was to compare versions of Notebooks which were marked up using HTML.

I did lots of searching and found Diff.cfc which did a line for line comparison but did not represent the changes in HTML format, it only output the differences line-by-line with all the HTML viewable.

Diff.cfc is perfect for text or source code but we needed something a little bit more user-friendly.

A great start on this was DaisyDiff,  a Java library that diffs (compares) HTML files.

The problem with this was that I had to use CFExecute and some timeouts, writing to the drive etc to get some results. It soon became a nightmare on large files so I decided the best thing to do was to build a CFX tag around the main components of DaisyDiff.

CFX_CompareHTML was born.

You can call the tag using :

<cfx_CompareHTML left="Some HTML content" right="Some more HTML Content">

The tag can be downloaded from here :

DOWNLOAD CFX_COMPAREHTML

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
2009-01-07 14:58:00.0

Railo 3 : Adding Java CFX Tags

I have a small project that I am working on that needs a Java custom tag that I'm writing. I need this running on ColdFusion 7/8 and Railo 3.

Adding the CFX to CF is fine and I had no problems, except that its laborious. Having to place the file in the right folder, adding that folder to the Java Classpath and restarting CF Application Server.

Railo is a little different. Infact, its a bit easier once you know.

Everytime Railo starts up it runs through the Railo/lib/ folder and adds all JAR files to the Class Path, saving you the hassle of adding them manually.

You still have to add the CFX tag using the Administrator though.

BTW : Railo 3 Community Administrator doesnt have a CFX option in the menu anymore (V2.0 had it) but you can call the page directly using:

http://localhost/railo-context/admin/web.cfm?action=resources.cfx_tags

Another thing to note is that only Jar libraries are allowed in Railo. I created a simple CFX tag using Eclipse and compiled it to TestTag.class.

In ColdFusion, I was able to place this in a Java Class Path accessible folder, restart the service and add the CFX tag using the Administrator. Bingo, tag ran when called in my CF template.

No way could I get this to work in Railo. Because the class path is built up from a folder on startup that enumerates JAR files, .class files would not get loaded.

To fix this, I exported the CFX to a JAR of its own in Eclipse and did the steps above.

Hopefully this will help someone in the same bind. I love Railo but the lack of documentation is killing me. Gert is very good responding by email but sometimes you need answers right away!

Once I finish this little project, I'll release the Java CFX on my blog. Its going to be cool ;-)

<hint>HTML Diff Tag</hint>

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
2008-11-07 17:52:00.0

CFOrgChart : Download Available

Just a quick post as I havent posted in ages due to the considerable committments from Teamwork Project Manager

My CFOrgChart demo has gained a huge amount of interest from people and I have unexpectedly been flooded with requests for the code so here it is ;-)

DOWNLOAD ZIP FILE

I'll be updating this soon to:

  • Use Prototype.js for the AJAX
  • Use functions instead of Custom Tags for the recurrsion
  • Add more functionality
Tags: CFOrgChart
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
2008-08-13 12:19:00.0

3G iPhone Push Technology may be the answer to apps running in background

I upgraded to an iPhone 3G recently and love it. I am doing this one legally and have not Jailbroken it so I dont have all the cool 3rd party apps from Installer App.

The main app I miss is an IM service app. I used to use Fring but now can't so I was delighted when I found Palringo. Very nice app but due to the restrictions on iphone apps, it cant run in the background.

This morning, a new chat app called MobileChat from Twenty08 was released which promises support built in for Apples Push technology. This will enable the app to notify you of IM messages without having the app running in the background.

I see the Push technology being a major benefit for the iphone with the current app restrictions. The main reason you would want an app running in the background is to have it "listen" for events and alert the user.

If the Push technology (promised to be available to all SDK developers) does what it intends, this would be the perfect solution and will solve alot of issues for alot of existing great apps.

Tags: Apple | iPhone
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