Blog

ColdBox Interview at CFFrameworks.com!

Posted by Luis Majano
Mar 14, 2007 00:00:00 UTC
My interview on ColdBox has just been released over at CFFrameworks.com

It discussed the why's of ColdBox, who its better than anything :) and its new features for the upcoming 2.0 release.

Hope you enjoy it.

Can you Digg Cfframeworks:

http://digg.com/podcasts/cfFrameworks_Interview_Podcast

Can you Digg my Interview: http://digg.com/podcasts/cfFrameworks_Interview_Podcast/313083

You can also download the interview from iTunes here or use the download link below.

Thanks again for your support

cfdirectory recurse emulation alternative: the Java Way (For BlueDragon, etc)

Posted by Luis Majano
Mar 14, 2007 00:00:00 UTC
As you know, ColdBox is now fully supported for BlueDragon and Railo. However, to port it was a bit tedious when it came to the auto-registration engine for handlers, since I need to traverse the handlers directory recursively and create an array of handlers. This is so easy in Adobe ColdFusion, but BlueDragon and Railo, does not support it (BD 6, railo 1). Here is the Adobe ColdFusion code:

That is awesome!! So easy!! Well, to do it the Java Way, takes some patience and well, some insight into recursion. The following example is using the CF/JAVA hybrid notation, but the end result is the same as above. And with some speed tests, the code actually compares, not that much of a slow down. So :)

Here is my call to the recursion, the entry point:

What I do is call my recurseListing method with the handlerArray I want the results in, the handlersPath into the initial directory and the working directory. Why do I send in the HandlerPath again? Well, I do it, to actually clean the path to show me the invocation paths, mumbo jumbo!! Give me the code!! Here it is:

Remember that this code is not to get the query like cfdirectory, it could, but you will have to do that, I am just showing how I solved my problem. This is a great exercise also.

//Init the oDirectory object with the initial working directory (Java File Object)

var oDirectory = CreateObject("java","java.io.File").init(arguments.Directory);

//Get an array listing of the objects in the directory

var Files = oDirectory.list();

//My Index.

var i = 1;

//My temp File Object

var tempfile = "";

//My clean handler string.

var cleanHandler = "";

//Loop Through listing if any files found.

for ( i=1; i lte arrayLen(Files); i=i+1 ){

//get first File reference as a File Object

tempFile = CreateObject("java","java.io.File").init(oDirectory,Files[i]);

//Directory Check for recursion, if directory, then recurse.

if ( tempFile.isDirectory() ){

//recurse, directory found, send in the new directory path.

arguments.fileArray = recurseListing(arguments.fileArray,tempFile.getPath(), arguments.HandlersPath);

}

else{

//File found

//Filter only cfc's, I could have used a Filter Java object, but was lazy.

if ( listlast(tempFile.getName(),".") neq "cfc" )

continue;

//Clean entry by using Handler Path (For my specific purposes)

cleanHandler = replacenocase(tempFile.getAbsolutePath(),arguments.handlersPath,"","all");

//Clean OS separators accordingly

if ( getSetting("OSFileSeparator",1) eq "/")

cleanHandler = removeChars(replacenocase(cleanHandler,"/",".","all"),1,1);

else

cleanHandler = removeChars(replacenocase(cleanHandler,"\",".","all"),1,1);

//Clean Extension right off baby

cleanHandler = getPlugin("fileUtilities").ripExtension(cleanhandler);

//Add data to array, a cleaned Handler, thank you GOD, bless you.

ArrayAppend(arguments.fileArray,cleanHandler);

}

}

//else return the empty array or filled array.

return arguments.fileArray;

There you go, you can follow the comments to tell you what I did. This is an awesome exercise and shows you how ColdFusion is really powerful by leveraging its Java backbone. When things like this just work, it just amazes me of how ColdFusion has evolved and how EASY it is to overcome problems by leveraging Java. Viva Java Mis Amigos!! Viva!! Viva!!

Hope you enjoy this little java/cf/recursion tutorial. This example shows potential of how you can build your own recursion methods.

Great ColdBox Tutorial: Contact-O-Matic by Michael Oneil

Posted by Luis Majano
Mar 11, 2007 00:00:00 UTC
You definitely have to check out Michael's blog for his tutorials on ColdBox. They are easy to follow, direct and fun. His attention to detail is great and you will definitely get a sense of what ColdBox can do for you or you company.

So head over to asuFusion.com and check out this series of tutorials by Michael. You will not be disappointed.

ColdBox 2.0.0 Beta Build 493: This one is for BlueDragon fans!!

Posted by Luis Majano
Mar 11, 2007 00:00:00 UTC
Well, Ladies and Gentleman, another beta roundup. This beta includes FULL BlueDragon Support as of version 6.2.X So all you BlueDragon users and fans, this one is for you!!

You can take a look at the following link for some know issues which have to do with external apps out of my control:

ColdBox System Requirements

I also changed the registration mechanisms to a more java oriented recursion and it works great. A few fixes also to some sample applications and more documentation. Ohh, it also includes the OpenSearch plugin and a new ColdBox Wallpaper.

So enjoy this beta. Also as a tease, the next beta will include the ColdBox Dashboard (FINALLY!!) Well, it takes time, so give me a break. I am porting it to JQuery, so that is why it takes so long.

Anyways, Click here to get this beta

Enjoy this beta and leave your comments and suggestions here or in the forums. Also, the guides in the documentation get updated daily until the 2.0.0 final release. And by the way, there are over 100 pages of documentation on the wiki as of today. Wow!! I do like documentation!!

Viva la Documentacion!!

God Bless.

ColdBox 2.0.0 Beta Build 477 is ready for download + more!

Posted by Luis Majano
Mar 07, 2007 00:00:00 UTC
Well ladies and gentleman, another beta build is ready for usage. This beta is stabler than ever and introducing the pre/post handler features. The naming conventions have been re-done and slowly but surely the documentation keeps getting updated. Every day new content is placed in the wiki and will be finalized soon. So please keep checking the documentation.

Another neat feature is that a google search has been added to the www.coldboxframework.com site, so you can search all the documentation. This has also been added to the www.luismajano.com site.

Again, enjoy this build, I expect your comments and suggestions. The final build is almost there.

The binaries can be found by clicking here.

Thanks again,

Proverbs 10:31-32:

31 The mouth of the righteous (those harmonious with God) brings forth skillful and godly Wisdom, but the perverse tongue shall be cut down (as a barren and rotten tree).

32 The lips of the (uncompromisingly) righteous know (and therefore utter) what is acceptable, but the mouth of the wicked knows (and therefore speaks only) what is obstinately willful and contrary.

God Bless

Luis Majano

ColdBox Firefox-IE Search Plugin. Come and Get it!!

Posted by Luis Majano
Mar 07, 2007 00:00:00 UTC
You can now have the full framework documentation search right on your browser. Head over to www.coldboxframework.com to get the OpenSearch Plugin. With this tool you will be able to search all of the framework's documentation right off your browser. Pretty nifty hugh!!

Well, enjoy and thanks again.

God Bless

UPDATED: The download had a wrong URL. You can try to install it now. This only works for ie7 and firefox.

ColdBox 2.0 New Feature - Pre/Post Event Handlers

Posted by Luis Majano
Mar 05, 2007 00:00:00 UTC
I am finalizing the latest beta for 2.0 and it will be available this week. One new feature that will be available is the addition of pre/post event handlers for a requested event.

What does this mean? Well, once an event is requested to the framework, let's say its "ehTools.dspTree". Then the framework will execute the dspTree method in the ehTools event handler.

Now, you can declare two new methods in the ehTools event handler: 1) preHandler 2)postHandler

Inside of those two new methods you will place any logic that will be executed before/after any requested event in that event handler cfc. This is a great way to implicitly run events before and after a requested event. You can even filter the type of logic you would like to execute inside of these methods by looking into the context object and seeing the event that was executed.

This is a great addition to the framework and I expect your comments on this addition. You can find the ticket

Read it and let me know your thoughts

ColdBox: More guides updated!!

Posted by Luis Majano
Mar 01, 2007 00:00:00 UTC
Well, as promised, more documentation is now available to support the upcoming 2.0.0 release. Here is a breakdown of the updated guides:

  • Coldbox Overview Guide
  • Coldbox Features & Capabilities
  • Coldbox System Requirements
  • Coldbox FAQ
  • Coldbox Compatibility Guide for 2.0.0
  • Coldbox Install Guide
  • Coldbox Settings Guide
  • Coldbox Config.xml Guide
  • Coldbox URL Actions Guide

Here is a listing of new guides:

  • Coldbox Caching Guide (In progress)
  • Caching Objects Example (completed)

Click here to go to the trac site and read these guides.

More will be updated soon, so please be patient and keep enjoying the 2.0.0 beta.

ColdBox 1.2.0: RequestContext name change to Event. What are your thoughts?

Posted by Luis Majano
Feb 27, 2007 00:00:00 UTC
I think that a standard is arising on the way a method is injected with a request bus. My naming was requestContext and I believe mach-ii and fusebox use both event. I think it would be benefitial for developers for me to change this to event. What are your thoughts on this?

This would help if a developer wants to switch from one framework to another or doing a transition, if some of the similar elements shared in an MVC framework can remain the same.

I am for changing it to event, but I would like to know you opinions?

ColdBox 1.1.0 Downloads Failing, Fixed.

Posted by Luis Majano
Feb 27, 2007 00:00:00 UTC
I just realized that I had changed some of the files for the 1.1.0 download, and all were downloading zero byte downloads.

I apologize for the inconvenience. The downloads are back online.

Site Updates

Archives

Entries Search