Today we released the last release candidate for Railo 4.0. The following fixes have been made since version 4.0.0.013, which is the official download release at the moment.
Today we released the last release candidate for Railo 4.0. The following fixes have been made since version 4.0.0.013, which is the official download release at the moment.
→ No CommentsTags: Features · Railo 4.0 · Release
→ 1 CommentTags: Features · HowTo · Railo 4.0 · Tips
→ 4 CommentsTags: cache · Performance · Railo 4.0
I am really glad to be back in the US for the CFML Government Conference and MuraCon. The Government Conference is taking place on October 9th in Washington, DC. This is the first conference organized by the OpenCFML Foundation and as far as I know it is one of the first events that presents CFML solutions for government agencies and organizations.
I will be there for this event and for MuraCon on October 10th and 11th and I will present about the upcoming release of Railo 4.0 due this month. If you want to meet me in person or you want to chat about Railo, I am more than happy to help out.
See you in Washington. And if you haven't reserved for the OpenCFML Foundation event you can do so on the official website.
→ 1 CommentTags: Conference · Railo 4.0
→ 2 CommentsTags: Features · HowTo · Preview · Railo 4.0 · Tips
→ 9 CommentsTags: Extension · Features · HowTo · Railo 4.0
With Railo 4.0 we have introduced the command line interface (CLI) that allows you to call .cfm files from your
current webroot. No webserver and no application server is involved when calling .cfm templates through the CLI.
For the moment this functionality is a little restricted but it will change until the final release of the CLI in Railo 4.0.
→ 10 CommentsTags: CLI · Features · Performance · Railo 4.0 · Tips

We are really proud to announce the immediate release of Railo 4.0 Beta! It has been months in the making and bringing over 100 new features, the Beta is finally open to the public!
This release of Railo Server brings with it a ton of features such as Closures, Rest services, Member Functions, Method chaining, Annotations and not to mention improvements to the core API, Compiler and Administrator interfaces.
You can check out more of the features in this release over at our website.
And of course, you download the fastest CFML server right now from our Download page!
Bundled with a bunch of new features that we find awesome we have really pushed the boat out in making this release. What new features you might ask? Here you go, a little run down on what we have prepared for you.
Loops have been the staple of the CFML language for years, in this release we have added the ability to use item and index in a <cfloop> statement. This now gives you access to a counter (defined by index attribute) and the actual item in the loop (defined in the item attribute)
Not content with just adding that, we have improved the behaviour of for/in loops so you can do statements like
for(item in Recordset){}
As if that wasn’t enough, we have finally added the group attribute to the tag, now you don’t have to switch out of using a <cfloop>to using a <cfoutput>!
Checkout more about Loops and CFLoop
Closures are the ability to write anonymous functions that encapsulate the whole environment (enclose it) when you define a function. Developers have probably been using them for a long time without even noticing in JavaScript frameworks like JQuery. In Railo 4.0 you can now also use this power yourself!
Talking about functions, here is a simple but awesome feature for you, adding the the cachedwithin to <cffunction>! So simple yet so awesome. Your function output and return variables will now be cached for as long as you need them to.
Checkout more on Closures http://www.getrailo.org/index.cfm/whats-up/railo-40-beta-released/features/closures/ and Function Caching
For a long time we have been used to manipulating arrays, structures and queries using functions in the format of Array(), Struct() and Query*(). In Railo 4.0 you can now access these functions directly on your variable by calling them after the variable itself, for example, instead of doing ArrayLen(MyArray) you can now simply do MyArray.Len(). This goes for all the Array, Structure and Query functions.
If that wasn’t enough you can also iterate over items in an collection by doing MyArray.each(function(item){})! Isn’t that just awesome?
Check out more about Member Functions
Components were not missed out either! We improved the creation of components by adding Implicit Constructors that allow you to populate a component without having to add your own init() code! Added to this you can add accessors to your components (those pesky get<em>()</em> and set() methods ) automatically and they will even allow you to chain set*() statements without the addition of a single character of code!
Check out more about Method Chaining and Magic Functions as well as Implicit Constructors over in our website
There is so much more to Railo 4.0 Beta, why don't you download it today and check out more of the great things we have added such as Tags in CFScript, Rest services, Debugging Improvements, Annotations and much much more.
We are so excited about this release we dedicated this whole newsletter to it! Stay on the look out for more news from Railo in the coming weeks! This is certainly going to be an exciting year!
→ 2 CommentsTags: Railo 4.0 · Release
An extension that we released a little while back and have been getting feedback on is the Memory Monitor Extension.
Once installed, this extension adds a new section in the Railo Server Administrator that allows you to inspect the memory of your SERVER, APPLICATION and SESSION scopes
→ 2 CommentsTags: Extension · Preview · Railo 4.0
In this first post of the Railo 4.0 previews, we are going to focus on the Cached Functions feature. In Railo 4.0 you can cache your functions and methods in a CFC, so that after the first request the results and output are obtained from cache rather than re-evaluated each time.
Let's look at an example.
Take the following code in CacheDemo.cfc:
component {
function getTime(String name, Numeric age)
cachedwithin="#createTimeSpan(0, 0, 0, 10)#" {
return Now() & " " & arguments.name & " " & arguments.age;
}
}
You can see that we have added the argument cachedwithin to the getTime function, when we call this multiple times, we will get the same result, as now the output and result of the method are cached!:
<cfset comp = new cfcs.CacheDemo()>
<cfdump var="#comp.getTime()#" label="Inital call">
<cfset sleep(1500)>
<cfdump var="#comp.getTime()#" label="Cached call">
<!--- now with attributes --->
<cfdump var="#comp.getTime("Elvis", "29")#" label="Inital call">
<cfdump var="#comp.getTime("Sean", "42")#" label="Inital call">
<cfset sleep(1500)>
<cfdump var="#comp.getTime("Elvis", "29")#" label="Cached call">
<cfdump var="#comp.getTime("Sean", "42")#" label="Cached call">
Results:
You can even cache a call to function within a page, not just components:
<cffunction name="cacheTest" cachedwithin="#CreateTimeSpan(0,0,1,0)#">
<cfreturn Now()>
</cffunction>
<cfdump var="#cacheTest()#" label="Initial Call">
<cfset sleep(1500)>
<cfdump var="#cacheTest()#" label="Cached Call">
Results:
→ 13 CommentsTags: Preview · Railo 4.0