CFUNITED 2008

Viewing By Entry / Main
September 29, 2006
A public beta of BlueDragon 7.0 is now available. I'm really in two minds about this. Obviously, I'm pleased to see New Atlanta implementing features that ColdFusion MX 7 introduced (nearly two years ago!) but they still aren't tackling event gateways which are incredibly powerful (nor Flash / XML forms or reporting). On the other hand, they continue to extend the language in proprietary ways (for example their <cfdocument> tag implements PDF but then adds PNG and JPG while not supporting FlashPaper).

Some of their proprietary extensions are definitely interesting and useful (onMissingTemplate() for Application.cfc is probably what appeals most to me). However, they also seem to be driving their implementation of the language very much into "Java-Lite" territory with the addition of interfaces and abstract CFCs (and null support). A lot of Java and C++ developers don't seem to be able to figure out abstract classes properly so I really don't think that adding that sort of thing to ColdFusion is a step forward. I really think that the folks clamoring for "more OO" in ColdFusion are a very small minority (albeit very vocal!) and that such things don't address what the vast majority of ColdFusion developers really want from the product.

All that said, choices are good and the more ColdFusion engines out there, the more it validates the use of ColdFusion as a rapid application development system.

Comments

Sean,

Flash Paper is a waste of time, users don't get it, I don't see what it offers over PDF reader. I bet Adobe quickly depart from it, they have two products that do the same thing.

"are a very small minority" I'm not sure who your talking to, but all the developers I speak to want more OO stuff, there is no good reason not to have more OO stuff. If you don't understand it stick to procedural programming.

I think it's good timing it might make Adobe think about the CF8 features when BD release this.

Still, I really don't understand why anyone would use BlueDragon over ColdFusion. There is hardly any cost benefit.


I'm not into OO or "java lite" but support for nulls is a logical step. BD7 has a new smart caching attribute, cacheduntilchange, which works with SQL 2005. BD also supports caching in cfstoredproc which CF7 doesn't.

Personally I wouldn't miss XML or Flash forms because creating forms with CSS instead is far more flexible than CF's XML forms and Flash forms take too long to initialise. Wouldn't support for FlashPaper require a license from Adobe? Perhaps New Atlanta thinks there's not enough enthusiasm for Flashpaper? Adding support for jpg and png output is another logical step forward. I bet CF9 or 10 will have it. ;-) BD7 did inspire possible support for cfthread in Scorpio.

Whether anyone prefers BD7 or not I don't think matters as a bit of competition and innovation ultimately benefits the CFML community. Everyone wins, although Adobe may lose a few sales, but then again if Adobe try to stay ahead of BD they will find new customers who were perhaps considering .NET, java and php technologies.


Personally,

I couldn't care less about flash forms, or flash paper, and I applaud bluedragon for not wasting their time implementing these features.

Now that we have 2 very solid CF engines (BD/CFMX) and one thats damn close (Railo), and even some more on the way (Ignite, and to a lesser extent coral), It might be wise to have an independent board which would dictate a "standard" CF version. The standard CF language would be accepted by anyone who wanted to be in the club, and their tags/functions would have to all input/output the same way.

Now, on top of that each company would be free to build anything they want. Adobe could offer flex/flash/pdf goodness, BD could offer .net integration. Enterprise features and clustering available for more $.

This would be nice for people (myself included) who want to work with some open source stuff, and want it to work on all platforms. Right now, I am working with BD.net, and Railo, and occaisionally CFMX 7. It would be nice if people working on open source projects could stamp a "meets CF8 Standards" on the front so i knew what to expect.

I would say also say to open source CF, but i've already said a lot, and im beginning to stray....


Dale, a company I worked for chose BD for two reasons. JRUN has consistently proven to be a piece of crap and leveraging the existing corporate .Net framework. Cost is a wash. The big drawback, in my mind, is the forthcoming tight integration between Flex2 and CF that BD can't or hasn't duplicated yet.


When did this CF fork happen?


The multithreading stuff looks sweet. I've ignored BD up until now, but based on the multithreading and support for nulls alone, I plan to check out this beta.


I agree with Sean that the more engines that are released, the more it validates CF. It also helps to drive inovation since all of the engines that have been mentioned run on different server platforms and implement their own tag libraries. Railo, for instance, is a champ at number crunching over CFMX 6. It also is by default set to be deployed on resin, which is a pretty solid j2ee server, but it can run on any j2ee quite easily.

I also wonder why BD has not bothered with flash paper. There is a much wider deployment of flash player than there is of acrobat reader and there is more you can do with it because of the technology behind flash player. Some kind of "display everywhere" technology is critical, and PDF is not quit it. It is close though. Flash has a much larger reach and that is why Adobe should dump acrobat reader/publisher and use flash as the display engine. Good thoughts on this thread all around though.


Dale,

In most cases there is zero cost benefit to choosing BlueDragon. But, they do offer some features, that in certain situations could blow CF out of the water. And in turn, there are many situations where CF is the better choice.

The BlueDragon.NET version, for example, will save sessions across a restart.

Sean,

I spoke to some New Atlanta folk about Event Gateways, and was given the impression that cfthread / cfjoin can be used to emulate a lot of the Event Gateway functionality. They psuedo-coded a example of a the 'directory watcher' gateway (This is all in my Blog). That aside, I'm not fully convinced.

Now if we enter into the pure speculation realm... ServletExec (New Atlanta's J2EE server product) is just a servlet engine and does not implement the full blown J2EE server spec. I thought that the Event Gateways relied on functionality beyond servlet engines, which is why it may be harder to implement such features for BlueDragon than it would be for ColdFusion (which is built on JRun which is a fully featured J2EE Server).

speculation off


Reuben, I have the opposite view to you on Flashpaper support. I will share some of my reasons. The print options for Flashpaper use the limited options built in to your browser. Since a structured document format like PDF was designed especially for "perfect" printing it can sometimes be a bonus to use a document format like PDF which provides users with better print options. (Just as an example, changing the scaling option on PDF Print lets all users print perfectly to Avery labels no matter what printer they have.)

Virtually all office and home computers can read PDFs as the top 10 PC vendors ship Acrobat reader pre-installed and anyone who doesn't have it will want to install it sooner or later as there are over 200 million PDF documents on the web according to Adobe, all indexed by Google etc. (I just checked Google and it actually claims 1 billion PDF docs!) How many flashpaper files are there? A handful by comparason.

PDF is used in large organisations (I haven't encountered any widely using Flashpaper) and Office 2007 has a PDF export option (as a free download from Microsoft). I don't believe it supports flashpaper.

PDF is here to stay, it's been going for 15 years and everyone knows what Acrobat/PDF is. I can't say the same for flashpaper. I'm sure it has its place but it's no way a "must have" feature like PDF is for CFML engines.

And if you're viewing an embedded flashpaper document, how do you save it to disk? There's no save button! You'd have to 'view source' and use a file manager to dl and save it. The few sales that New Atlanta may lose by not supporting Flashpaper are probably offset by those who find png/jpg output a solution for their needs. For example, thumbnailing web sites/pages.


@Jeff Houser, event gateways have nothing to do with cfthread/cfjoin or J2EE. Event gateways are all about non-HTTP ways to communicate with and drive ColdFusion. Socket gateway, JMS gateway, XMPP chat gateway. Look at the IRC bot that I created. None of those can be "emulated" by cfthread/cfjoin and they don't require a J2EE server either.


I do agree that PDF has huge penetration in the PC market, but when it comes to dynamically generating documents from the web, PDF is very difficult to deal with. I have tried some of the "solutions" that exist and to have an html page turned into a PDF is not a simple task. That is what I see the short term benefit for in flashpaper. There is an ideal place for both technologies. PDF does fine to create once, display everywhere of static documents. Flashpaper does a better job of displaying dynamic documents that you create once and display on any flash player.

Suppose you wanted to offer your customers the option of dynamically creating a certificate of merit from your website that they could save/print/email, etc. PDF could do this, but it might take you (as in my case) over a year to get all the bugs worked out do to browser and PDF viewer incompatabilities. When dealing with large corporations, you can't just say to them, "update your Acrobat Reader (or flash player) to the latest version. If they are your client, you want it to work for them with as little error as possible. Flashpaper gives you that ability.


Reuben, CF7 outputs PDFs that can be viewed using Acrobat 5, perhaps even v4 although I haven't tried it. Acrobat 5 is about 6 years old which means even the corporates that are still using a desktop build from 2000 can view CF7 generated PDFs. Flashpaper requires at least v6 of the Flash player and that was released in 2002, so the argument of corporates not wanting to upgrade to the latest versions actually favours PDF, not Flashpaper.

Two of my biggest clients have a locked down desktop so users can't freely upgrade apps and plugins. That's why I output PDF because the requirement caters for really old computers (2000+) as opposed to just old computers (2002+). I have never come across an end-user compatability issue because of a CF generated PDF using either embedded or linked techniques.


Sheesh...I can't even go halfway around the world to get away from folks turning CF into Java. If you're buying BD to get the New Atlanta-specific features of CF, why not just get it over with and either do J2EE on Tomcat or swallow the ugly .NET pill?

From a cafe in St. Lucia, South Africa...


The most wanted features which is lacking in Bluedragon at the moment is Flex2 integration.


It is funny to hear that bluedragon didn't implements something that macromedia did two years ago ... Sorry folks, but cf by macromedia (now adobe) isn't developed for years. Dependence on four years old commons-logging version 1.0.2 is an example that leeds to VERY big problems with using many java libraries and app servers (such as jboss). Imposibility to use j2ee datasource with jrun exception is absolutely unique and complicates deployment. BD seems to me like a piece of fresh air, solves most annoying cf problems. and gateways ? sorry, for me are useless - only one page of documentation is a joke and errors are very hard to solve. this reminds me, debugger is a most needed thing for cf. it is nice to quicky write code but when your code is quite big it's hard to repare errors without it - cf developers are now unique, nearly every language today has debugger and cf developers can live without it. unbelievable :-)

Jan


Jan, you obviously haven't looked very hard at the documentation - there are several entire chapters on using and writing event gateways!

Saying it "isn't developed for years" is just plain laughable - after the big Flex integration release last summer and all the stuff that's being done in Scorpio right now (a few parts of which have been sneaked at various conference).


@Jan, I don't get why you say CF doesn't have a debugger. Have you actually activated it from the CF Admin control panel? CF debugging output is rather quite good and 99% of the time points to exactly where the error is - the line of code and the reason, plus all the variables and SQL are dumped, not to mention the excellent cfdump tag. Are you sure you actually use CF and you're not a PHP or .NET troll? ;-)


@Gary, Jan means a step-thru, source-level debugger. Like FusionDebug for example.


yes, i talked about step-thru debugger. thanks Sean for FusionDebug, i'll look at it. but such thing should bundled with cf already ...

sorry i was inaccurate about gateways. i talked about cfml gateways, and yes there's only page called Developing event gateway listener CFCs and nothing about problems i have with them like not responding gateway without anything in error log, cfabort ...

but i can't agree with you that it is developed - for me only difference between cf6 and cf7 are problematic gateways (using, debugging them) and killed java class reloading. both versions use too old versions of quite common java libraries and things like jasperreports, hibernate and many others simply can't be used with cf or you have to rename java packages. so that's my view of coldfusion development ...

and one thing i really don't understand - why i can't use standard j2ee datasource in servers other then jrun when java has standard way to do it ? that's slyness

Jan


Post Your Comments
Name:
Email Address:
Comments
*** Please note that all comments require moderation so it may be some time before your comment posts to this blog! ***
Remember My Information:
 



Hosting provided by