Calendar

««Jul 2009»»
SMTWTFS
    1234
567891011
12131415161718
19202122232425
262728293031

Alert Email

Get a short email alert whenever a new entry is published.

Confidential, secure it's piece of cake to keep uptodate.

OpenBD 1.1 released

We are proud to announce the official release of the 1.1 of our popular CFML OpenBD engine.

A lot has been added and fixed since the last release 3 months ago. We've added support for existing tags and functions, while also adding a number of new tags that people have already started using and building their web applications with.

  • NEW TAG CFDOCUMENT
  • NEW TAG CFJAVASCRIPT
  • NEW TAG CFSTYLESHEET
  • NEW TAG CFVIDEOPLAYER
  • NEW FUNCTION FileSeparator()
  • Various Admin Console updates
  • NEW FUNCTION StructValueArray()
  • ADDED CFFUNCTION gets JSON and CFAJAXPROXY support
  • IMPROVED Error reporting: limit the number of error files produced; sticky 'last error' file; date orientated naming
  • Support for PNG files
  • Upgraded various internal JAR files
  • + performance updates
  • + lots of minor bug reports

You can find the full list of changes in our Release Notes.

Download the latest 1.1 release here .

We'd like to thank everyone who has helped along the way to getting this release out there. However big or small your contribution was, we appreciate it.

And if that wasn't enough

This release forms the basis of the porting of OpenBD to Google's App Engine. This lets you run CFML applications literally in the cloud without worrying about load balancing, servers, and all the other nasty configuration hassles that come with hosting. Simply pay for what you use.

Huge thanks goes out to Vince Bonfanti for kick starting this initiative and showing ColdBox running within the Google cloud. Expect a rapid development cycle here as we port as much of the engine over as possible. Make no mistake, this will change the way we think of our CFML applications.

Find the latest nightly build, of the Google App Engine build on the main download page.

Keep the feedback coming and let us know how you are using the engine.

Comments (7) . Monday, 27 April 2009

CFQUERY Enhancements

Among the many nice features of Open BlueDragon that fly a bit under the radar, one that has been around for quite some time that many people may not know about is the enhancements to the CFQUERY tag that exist in Open BlueDragon.

One very simple enhancement is the ability to run queries in a background thread simply by adding BACKGROUND="TRUE" to the CFQUERY tag. This allows long-running queries the results of which the user doesn't need to see immediately, for example generating a report that will be viewed later, to be run in the background and allow execution of the rest of the code in the request to continue immediately as opposed to having to wait for the query to complete.

Another nice enhancement is the ability to cache queries and give the cached version of the query a name. By adding the CACHENAME attribute to the CFQUERY tag you can cache individual queries by name, as well as flush individual queries at a later time. This gives you much more granular control over query caching. (Note that you can also use named caches with CFML/HTML content using OpenBD's CFCACHECONTENT tag.)

For example, the following code would cache a query with the name "myCachedQuery", and the cache would last indefinitely, meaning the query would be cached until flushed by you or the server is restarted.

<cfquery name="myQuery" datasource="myDSN" cachename="myCachedQuery">
...
</cfquery>

The ACTION attribute of CFQUERY allows you to flush specific queries by name:

<cfquery action="flushcache" cachename="myCachedQuery">

And you may also flush all cached queries using an action of FLUSHALL:

<cfquery action="flushall">

Queries using named caches may also still use the CACHEDWITHIN and CACHEDAFTER attributes, meaning you can give the query a name and still use timed-based cache features as well.

Just one of the many nice features available in OpenBD that people might not be aware of, so we'll blog more about these, or be sure and peruse the wiki to learn more.

Comments (0) . Friday, 17 April 2009

CFDOCUMENT support

This week saw CFDOCUMENT added to Open BlueDragon. It is in an initial implementation in that it doesn't fully support all the attributes (currently fontEmbed, bookmark, scale, backgroundVisible, localUrl are not supported) and CFDOCUMENTITEM/CFDOCUMENTSECTION support are still to be implemented.

There is bags of functionality in there though that make CFDOCUMENT a very useful addition.

The implementation is based upon the latest version of xhtmlrenderer library (AKA The Flying Saucer project). As such, it benefits from the beautiful rendering it provides and the additional functionality it brings.

For example, you can use the custom css attribute '-fs-table-paginate' if you'd like tables that span multiple pages to repeat the table headers and footers on every page.

<cfdocument format="pdf">
<style>
  table {
    -fs-table-paginate: paginate;
  }
</style>
<table>
<thead><tr><th>Header 1</th><th>Header 2</th><th>Header 3</th></tr></thead>
<tbody>
<cfloop from=1 to=150 index=i>
  <cfoutput><tr><td>#i#a</td><td>#i#b</td><td>#i#c</td></tr></cfoutput>
</cfloop>
</tbody>
</table>
</cfdocument>

You can also work around the lack of CFDOCUMENTITEM support for now by specifying the header/footer in CSS.

<cfdocument format="pdf">
<style>
@page{
  @top-center {
    content: "This is the header";
  }
  @bottom-center {
    content: "Page " counter(page) " of " counter(pages);
  }
}
</style>
<h1>Header test</h1>
</cfdocument>

This is just a hint of some of the functionality that is provided in this new tag. As always, please try it out from our nightly builds and feedback is welcomed.

Comments (5) . Wednesday, 18 March 2009

CFFUNCTION gets JSON support

In addition to creating new features to add to the richness of CFML, we've also been working hard to plug some of the incompatibility holes that exist. One such hole that has been released into the nightly builds is the ability for remote CFC's to return back different format types.

The most common role that people are using remote CFC's is within Javascript client side applications with the JSON format being king in terms of moving data around.

We've made the necessary additions to the engine to support this access method to your CFC's.

JSON

This includes the ability for a CFC to return data back in either JSON, PLAIN, WDDX or XML formats. If you opt for JSON then you can secure your JSON by inserting a prefix to it that can be set using the standard attributes from the CFAPPLICATION/Application.cfc mechanisms.

This feature will be part of the 1.0.2 release, but you can play with it now by downloading the nightly builds.

We've now got all the pieces in place for us to release CFAJAXPROXY very soon. The additions that came part of CFJAVASCRIPT allows us to keep the amount of Javascript code we implant into the body of the HTML page to a complete minimum.

Comments (0) . Friday, 13 February 2009