Calendar

««Aug 2010»»
SMTWTFS
1234567
891011121314
15161718192021
2223
24
25262728
293031

Alert Email

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

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

Get a little debugging help from OpenBD

Debugging CFML applications just got a little easier from OpenBD with the introduction of the Console() function. This is a function that will print out any input given to the main console of the running server.

<cfset ConsoleOutput(true)>
<cfset Console(cgi)>

will produce this output in the console that you run up OpenBD from:

+----------------------+--
|            HTTP_HOST | 127.0.0.1
|      HTTP_USER_AGENT | Mozilla/5.0
|          HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
| HTTP_ACCEPT_LANGUAGE | en-us,en;q=0.5
| HTTP_ACCEPT_ENCODING | gzip, deflate
|  HTTP_ACCEPT_CHARSET | ISO-8859-1,utf-8;q=0.7,*;q=0.7
|      HTTP_KEEP_ALIVE | 115
|      HTTP_CONNECTION | keep-alive
|         HTTP_REFERER | http://127.0.0.1/dashboard/?p_id=20031
|          HTTP_COOKIE | CFID=0; CFTOKEN=6B8E49D3-E6FC-4A0C-A7A38ADCC540FECA;
|      SERVER_SOFTWARE | jetty/6.1.15.rc5
|          SERVER_NAME | 127.0.0.1
|    GATEWAY_INTERFACE |
|      SERVER_PROTOCOL | HTTP/1.1
|          SERVER_PORT | 80
|   SERVER_PORT_SECURE | 0
|       REQUEST_METHOD | GET
|            PATH_INFO |
|      PATH_TRANSLATED | E:\_openbd_\index.cfm
|          SCRIPT_NAME | /index.cfm
|         QUERY_STRING |
|          REMOTE_HOST | 127.0.0.1
|          REMOTE_ADDR | 127.0.0.1
|            AUTH_TYPE |
|            AUTH_USER |
|          REMOTE_USER |
|         REMOTE_IDENT |
|         CONTENT_TYPE |
|       CONTENT_LENGTH | -1
|         CONTEXT_PATH |
|                HTTPS | off
|     CF_TEMPLATE_PATH | E:\_openbd_\index.cfm
+----------------------+--

Designed specifically for developers who are developing code on the same machine they run up the OpenBD server, you can use the console as a constant scrolling output display to simply drop variables into.

Query, Struct, and Array objects are all formatted specifically for the character console, allowing you to quickly see what is what.

The Console() function has been designed to be safely left in to production code. You can turn it on or off globally by calling the ConsoleOutput( true|false ). By default, the output is disabled.

CFML developers can think of this function as the CFML version of the Java "System.out.println()" for quickly throwing output to the console so you can see whats-what without interfering with the output of the HTML request.

Available in the 1.4a nightly build now.

Comments (0) . Tuesday, 24 August 2010

OpenBD gains Eucalyptus Cloud support

With the popularity of cloud services on the rise and deeper integration into our CFML applications, OpenBD has always enjoyed deep access with the likes of Amazon and Nirvanix when it comes to cloud storage connectivity.

We've just dropped a whole a new bunch of functionality into the core OpenBD1.4a engine, that completely replaces our Amazon S3 connectivity while providing support for open source cloud platform Eucalyptus.

Eucalyptus provides a complete open source alternative for many of the cloud services, enabling enterprises to run their own internal scalable computing clouds. This addresses many security concerns that a lot of companies are hesitant about when looking to employ external 3rd party cloud providers.

We would like to thank aw2.0 for donating their high-performance cloud connectivity libraries for accessing Amazon. OpenBD has been using aw20's libraries for SimpleDB and SQS for nearly a year now. With this library comes support for Eucalyptus as well as a number of extra features exclusive to the Amazon S3 service.

The following S3 storage specific functions have been added:

AmazonS3Delete Deletes the remote file
AmazonS3GetUrl Returns back a signed URL that gives people public access to a given file, with an optional expiration date
AmazonS3List Returns all the keys for this bucket
AmazonS3ListBuckets Returns all the buckets for this account
AmazonS3Read Copies the remote file from Amazon S3 to the local file system
AmazonS3Rename Rename the remote file
AmazonS3SetAcl Sets the ACL on the given object
AmazonS3Write Copies the local file upto Amazon S3

This functionality is now ready for use through our early OpenBD1.4 nightly release and also via our CFML stack OpenBDJam through its upgrade cycle.

Comments (0) . Thursday, 29 July 2010

OpenBDJam: Open Source CFML Stack Jetty + Apache + MySQL

We'd proud to announce the general availability of the first ever Open Source CFML stack that gets you up and running with all the components you need for a modern day web application in minutes.

The OpenBDJam stack has been designed with the CFML developer in mind. They don't want to be bothered with all the nasty details of installation and integration. They just want to cut code and get on with their lives. We understand.

We've designed our stack, initially, for Linux (32bit) and have bundled it with:

  • Apache 2.2
  • MySQL 5.1 (use the CFML datasource 'mysql' to access)
  • Jetty 7.1
  • Java 1.6
  • OpenBD 1.4a

It has all been pre-configured and is ready to go as soon as you un'tar it onto your Linux box. All the pieces have been setup to talk to one another, so even MySQL is ready for your CFQUERY's using the 'mysql' datasource.

There is nothing for you to do, but drop your own code into the webapp folder and go.

We've provided a very simple to use command utility to start up the complete stack in one go and check its status. You can quickly get up and running within minutes. Everything you need is already inside the bundle, including Java.

If that's not enough, we have made upgrading a complete breeze. You simply run simple command, which will download the latest nightly build, backup the previous version and install the new one. All without disrupting any other customizations you have made on your stack.

One of our test drives, we wanted to see how quickly we could get this running from scratch. We spun up an Amazon EC2 instance, downloaded the software and hit the web browser. This complete operation, took approximately 6minutes, with most of the time waiting for Amazon EC2 to spin up a new Linux box for us. Complete CFML hosting for approximately $70 per month!

We are very excited to get this into the hands of CFML developers and we have lots of ideas where to evolve this, including adding more GPL software to the stack as well as supporting other platforms. But please, let us know your feedback and additions through our mailing list.

Discover more: OpenBDJam

Comments (1) . Monday, 26 July 2010

A small wave of changes for OpenBD 1.4a

This morning we are releasing a small wave of changes to the underlying core engine of OpenBD. This is for the upcoming 1.4 release in October 2010, but available for playing with now under the nightly build.

  • Core Function Named Parameter Support
    We're very excited to announce named-parameter support for the core CFML functions that we all know and love. So just like you can call UDF (User Defined Functions) by naming the parameters, you can do this to the core functions as well, with no performance penalty. This lets us fix one of the biggest inconsistancy issues that has plaged CFML for years. We haven't adjusted all our functions yet, but have started on this journey, and the official manual will let you know which functions support this feature. Expect them all by the 1.4 release. More details
  • Amazon DataSource Management
    We've made working with Amazon's Web Services much easier by standardizing on a single Amazon datasource that can now be shared amongst S3, SimpleDB and SQS operations. This allows you to register your AmzID and SecretyKey once and reuse them using the AmazonRegisterDataSource function. We've also updated the official manual for working with Amazon.
  • httponly cookie support
    We've added support for the httponly cookie. This advises the browser that Javascript processes should not be allowed to inspect this cookie value. We've updated the CFCOOKIE tag. Core cookies such as CFID and CFTOKEN have this flag automatically set from now on.
  • New Function: SetCookie()
    To facilitate the setting of cookies within CFSCRIPT blocks, we've added the SetCookie() function to the core language.
  • New Function: WriteLog()
    We've added the WriteLog() function to the core language. This is similiar to the CFLOG function that lets you quickly and easily maintain log files both at the tag and script level.
  • Updated: CFDUMP
    The tag CFDUMP has now got ABORT and OUTPUT support. This lets you quickly output the contents of the tag straight to a file for later viewing.
  • New Function: WriteDump()
    We've added the WriteDump() function to the core language. This is similiar to the CFDUMP function that lets you quickly and easily inspect variables.
  • New Function: DataSourceInfo()
    We've added the DataSourceInfo() function to the core language allowing you to inspect all the properties of a datasource.
  • Function Rename: CsvRead() / CsvWrite()
    To be more consistant and on the recommendation of the CFML Conventional Wisdom, we've renamed our CSV handling functions to: CsvRead() and CsvWrite().
  • Function Rename: AmazonXXXX()
    Following on, we've renamed all the Amazon functions by prefixing the 'Amazon' to them all. Amazon functions.

We've got a lot of exciting things still to be release under this 1.4 banner, so please keep the suggestions and feedback coming. But you can play with these now by downloading the nightly build.

Comments (0) . Monday, 19 July 2010