Mark Drew (Redux)- cf_etc...

a compendium of railo, cfml, cfeclipse and technology topics

Mark Drew (Redux)- cf_etc...

My Desktop

August 18, 2010 · By Mark Drew · 3 Comments

Following on from Andy Jarrett's post, since he is going to show his, I am going to show my desktop.

What's yours like?

3 CommentsTags:

Railo ORM and Magic Functions

August 06, 2010 · By Mark Drew · 4 Comments

Background: I am writing a little app to help us here at Railo with some of our contacts, nothing over the top or anything and wanted to take Sean Corfield's FW/1 for a spin.

As I am developing, I went the most direct route, I just did some queries in the service layer so my code looks like:

<cffunction name="list" output="false">
	<cfset var clients = 0>
	
	<cfquery name="clients" datasource="#variables.dsn#">
		SELECT * FROM contact;
	</cfquery>
	<cfreturn clients>
</cffunction>


<cffunction name="view" output="false">
	<cfargument name="clientid">
	<cfset var qclient = 0>
	<cfquery name="qclient" datasource="#variables.dsn#">
		SELECT * FROM contact WHERE id = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.clientid#">;
	</cfquery>
	<cfreturn qclient>
</cffunction>

OK, nothing world shattering, so I wanted to start using the ORM features of Railo (join the pre-release group to test them out!). I changed my code to look like:

<cffunction name="list" output="false">
	<cfset var clients = 0>
	
	<cfquery name="clients" dbtype="orm">
		FROM contact
	</cfquery>
	<cfreturn clients>
</cffunction>


<cffunction name="view" output="false">
	<cfargument name="id">
	<cfreturn entityLoad("contact",arguments.id,true)>
</cffunction>

I then defined my "contact" (I can show the code but it's hardly rocket science) and then when I reloaded I got the error:

Component [contact] has no acessible Member with name [ID]

Of course! My view code looks like:

<input type="hidden" name="id" value="#rc.data.id#">


I could change all my calls to fields to

<input type="hidden" name="id" value="#rc.data.getid()#">


but why bother? I just went to the Railo Admin -> Archives & Resources: Component -> Magic Functions and enabled them, now all my view code works just as expected and I didn't have to change my view code.

 

 

4 CommentsTags: getrailo · railo

Railo at CFUNITED!

July 26, 2010 · By Mark Drew · No Comments

On the final CFUnited, Railo will be there in force!

You can come visit us at our stand to find out the awesome consulting services we provide as well as, of course, our most awesome Open Source CFML Engine! (yes! I used "awesome" twice!)

There might even be some delicious Swiss chocolate there too!

Apart from the stand, you can also check out our team's presentations

Sean Corfield will be talking about:

And you can also catch Gert Franz's topic:

Since most of us will be en-route to the conference tomorrow, why not email us today if you have any queries ahead of time?

See you all there! I am sure it's going to be awesome!

No CommentsTags: cfunited · getrailo · railo

Presenting at cf.Objective (ANZ)

July 25, 2010 · By Mark Drew · No Comments

 

I am really happy to say that I shall be presenting at cf.Objective (ANZ) this year! I had a great time last year in Melbourne and glad that this year I won't just be manning the Railo stand (do come and say hello!) but I shall also be doing a presentation on CouchDB 

 

CouchDB is a "noSQL" database that is rather exciting in how it works as well as a highly performant document database.

 

If you manage to make it, make sure you either come to my session or at least pop by and say hello to the Railo team! 

 

No CommentsTags: cfObjective · couchdb · getrailo

Quick Tip on Railo Email Send Queues

July 22, 2010 · By Mark Drew · No Comments

 

When you send an email from the <cfmail> tag in Railo, there are times that for whatever reason the email won't be sent. Rather than digging through a bunch of folders to see what hasn't been sent, you can do a couple of things.

You can view all the task spool in the Railo Web Administrator -> Services -> Tasks page by going to http://<your server>/railo-context/admin/web.cfm?action=services.tasks

Or you can programatically get the task spool by doing the following code:

<cfadmin action="getSpoolerTasks" type="web" password="#password#" returnVariable="tasks">

<cfdump var="#tasks#">

You get a query by return that has the type, the item, how many times it has tried and an array of exceptions that have happened, this way you can manually or programatically deal with the errors.


 

No CommentsTags: cfml · getrailo · railo

Building Railo Extensions Part 2: Setting up a debug environment

July 03, 2010 · By Mark Drew · No Comments

 

In the first part of this series I looked at creating an extension and an extension provider which suited my needs.

In this post I shall be looking at getting Railo server into your Eclipse project so that you can debug your code. 

So that we can keep it all neat and tidy, I am going to create a project in Eclipse, that will contain the source code for the extension, the extension provider, and Jetty running Railo. 

Why would I put ALL of this in one project you might ask (you might?). I want to be able to debug the server itself, set breakpoints and check variables as I write my code. 

 

[Read more →]

No CommentsTags: extensions · getrailo · railo

Building an Extension for Railo: Part 1

July 02, 2010 · By Mark Drew · No Comments

My role at Railo Technologies has so far been much more of a consultant so far. We consult and develop a number of projects on ACF and Railo and as I am a happy CFML user this has worked out great so far.

One of the things that I wanted to get much more into was the engine itself, and adding features to it. One feature that I am currently working on is creating aCouchDB Cache Extension.

Why CouchDB? Will firstly because it has a really simple API, secondly because you can make it replicate as needed and this makes for a great document based object store.

What I have been doing is:

Building an Extension

Building a development Extension Provider

Automating the updating of the Extension

Running Railo with a Java Debugger

Running tests on the extension

[Read more →]

No CommentsTags: extensions · getrailo · railo

Slow iPhone 3G with iOS4? Just restore it!

June 30, 2010 · By Mark Drew · 14 Comments

Since I upgraded my iPhone 3G (not 3GS) to Apple's iOS4 it has been running slow, and that is to put it mildly. It has been so slow I barely wanted to use  the damn phone! 

Reading a thread in the Apple Discussion Forums, I realised, like most things, when you simply upgrade software there is a bunch of detritus left behind, so following the post, I simply reset the phone through iTunes to factory settings, once done, I went and upgraded my carrier info (which it prompts you to do) and then restored it from the backup (that I made earlier) 

Voila, it is now running pretty snappily again. Joy! 

 

 

14 CommentsTags: apple · iPhone

Going to Scotch on the Rocks? Get a Discount on ColdBox training!

April 20, 2010 · By Mark Drew · No Comments

If you are heading to London on the 24th and 25th of May for the awesome Scotch on the Rocks conference you might also want to know that for the rest of the week there will be a post conference training in the Coldbox Framework.

Not only is ColdBox an awesome framework, but the training will be done by the framework's author, Luis Majano! This is a great opportunity to get up to speed and even become an expert on the framework (I have seen Luis train and this really is a fantastic opportunity!)

Not only can you sign up for this training, but after a bit of arm twisting and smooth talking, I have managed to get an awesome discount for you to sign up for this class. Just follow the following link to get your discount! http://coldbox-uk.eventbrite.com/?discount=mdUKLives

No, no need to thank me, just sign up and expand your framework knowledge!

No CommentsTags: coldbox · scotch on the rocks

Organising your ColdBox Handlers into Packages

April 15, 2010 · By Mark Drew · 3 Comments

I have been using Coldbox for a project for a few months now and like the framework. I won't get into all the features, since you can find out for yourself over at http://www.coldbox.org but one of the things that you realise once your project grows is that your handlers directory starts getting rather full of handler CFC's.

It took me a little while to see how I could package them up a little better but then I spotted a small bit of the docs that tells you how to do it, so for example, if you were calling your handler as:

     http://localhost/index.cfm?event=account.create

And you have moved your account handler to a /user folder you can now call it as a package:
http://localhost/index.cfm?event=user.account.create

Of course, this isn't ideal, so you can now add a route for it in your routes.cfm file (if you have routes turned of of course):

   addRoute(pattern="account/create",
            handler="user.register",
            action="new");

 

And now you can have a nice SES friendly url such as:    
http://localhost/account/create
  
Hope that helps people looking for how to do this!

3 CommentsTags: coldbox