Friday, 27 February 2015

JS: opinions solicited regarding passing data values from server to client

G'day:
Just quickly.

Almost all of our JS is in separate JS files, and we try to take as much of an OO approach to our JS as is sensible in such a OO-hamstrung language. We do have separate "class" files (methods, stateful properties etc) and then script files which are used for event handlers when bootstrapping the page (creating said objects, etc).

Our JS inclusions would typically be along these lines:

<script src="/me/adamcameron/someapp/somepackage/SomeClass.js"></script>
<script src="/me/adamcameron/someapp/codeThatUsesSomeClass.js"></script>

Where:

// codeThatUsesSomeClass.js
var obj = new SomeClass(initParam, anotherInitParam);

// do stuff with obj

Guerilla tactics to force Adobe's hands

G'day:
It's Friday afternoon and I'm in a cheeky mood.

Thursday, 26 February 2015

CFML: Dan Kraus - "more CF devs need to leave The Shire for a bit"

G'day:
I'm going through my in box today, catching up with all the comments ppl have made that I've not replied to.

Dan Kraus made a comment the other week on that article "Lucee: does its future include CFML?". It and its follow-up warrant repeating and more eyeballs on it, so I said I'd promote it to an article so people would def notice it. I should have done this back when the article was fresh, but got sidetracked.

Wednesday, 25 February 2015

CFML: trying to understand accessors

G'day:
I've decided I'm the wrong person to be writing a book on CFML, given I clearly don't bloody understand even the fundamentals of it, in places. And this is after using it daily for over a dozen years.

I thought I understood CFCs in CFML inside out. No.

Dom posts interesting feedback

G'day:
I was gonna just bury this as a response to a comment in the original article, but I've decided Dom's comment is really excellent, so I'm promoting his comment & my feedback to be an article.

This was in reaction to my "Regarding codes of conduct and the nature of forum participation" article from a few days ago.

Monday, 23 February 2015

Regarding codes of conduct and the nature of forum participation

G'day:

There's been discussion about a Code of Conduct for the Lucee Google Group. Well without having the bottle to actually describe it as such... indeed going so far as to suggest that isn't what this thread was floating: "Tone and community guidelines".

Despite knowing full-well that some of the points are directed at least partially (or possibly entirely) at me, I think it's an appropriate idea. Sorta.

That said, I'd like to have a look at a coupla issues that came up in that list of bullet points, from comments on the thread, and in general.

Sunday, 22 February 2015

ColdFusion: testing the recent updates

G'day:
As I'd raised a few of the issues Adobe claims to have fixed in these recent ColdFusion updaters, I figure I should probably do some testing for them.

First up, ColdFusion 11 update 5

Friday, 20 February 2015

Off topic: sorry, this needs repeating

G'day:
I know this will mean nothing to my readers from the Americas.

Adobe ColdFusion Team getting their act together?

G'day:
On the heels of ColdFusion update 4 coming out yesterday, I see that there is now ColdFusion 10 Update 16 prerelease build available (37 fixes), as well as ColdFusion 11 Update 5 prerelease build now available (119? fixes). Good work.

Note that these updates are still only pre-release quality, so only fit for testing. Do not put the into production.

Thursday, 19 February 2015

ColdFusion 11 update 4 released

G'day:
This'll be quick as I'm sitting in some dodgy motel room in Wellington, in the dark, with internet that is hamster-wheel powered.

I just noticed ColdFusion 11 update 4 has finally been released. That took longer than it should have. I suspect Adobe forgot they hadn't released it.

This is the one that basically fixes everything that updater 3 broke. So not exactly a forward move, but hey. At least Adam Tuttle will be pleased the ?: will be working again.

Oh, and make sure you pay attention to this guidance:



It's great to see they still haven't managed to automate that step.

Obviously if you install this, put it on a test machine first, and do your unit and regression tests. Do not put it straight into production.

The details are here, and you install most of it via CFAdmin.

--
Adam

Wednesday, 18 February 2015

I post a Lucee question on Stack Overflow

G'day:
Maybe you can help with this: "Associating child tag data with grandparent tag using CFC-based custom tags"?

Clean Code

G'day:
Not something by me, but just a heads-up to go read one of Gav's blog articles: "CommandBox - Commands can be Clean Code Too". Don't worry about the fact it's about *Box stuff, that's irrelevant. It's a good practical demonstration of applying Clean Code concepts to CFML code.

--
Adam

"ColdFusion Interfaces": a question from a reader

G'day:
One of my readers hit me up with a question about interfaces in CFML:

[...] I would like to ask you a question please. I was unable to find a recent good article by you or anyone else about this topic.

ColdFusion Interfaces; do you rekon using them or not please? Please provide why you would not reckon using ColdFusion Interfaces. [...]

I started looking at this yesterday which explains yesterday's blog post, but I got sick of writing before I had a chance to actually answer. Now I'm sitting at my folks' place (sans rat, today), in the middle of a power outage. Fortunately my battery is charged up, and I can answer this one without any research, so here we go.

Tuesday, 17 February 2015

CFML: Interface fulfilment via mixin

G'day:
So a day after I say I'm gonna leave this blog be for a while, I'm back. It's like how I said I was ditching CFML and going to PHP on this blog. Basically I just lie, don't I?

Well I'm sick of writing this bloody book for the day, and I've got a reader question to answer which I decided to follow up on. But first I did some prep work and found something moderately intriguing. Well as intriguing as CFML's interface implementation gets, anyhow.

Saturday, 14 February 2015

Snooze

G'day:
This is just a heads-up. I intend to put this blog on hiatus for the next few weeks. I'm on holiday at the moment, and I'm also trying to break the back of this CFML book I'm writing (slowly... only two chapters drafted so far). I'm also finding a lot of my time needs to be sunk into the Lucee mailing list at the moment (for better or for worse).

If a blog topic springs to mind and I feel I need to write it up immediately I will do so, but I'm not going "ooh lummy... I haven't written anything on the blog recently..." and letting it bother me.

Oh yeah, and there's also too much cricket to watch and beer to drink out here in NZ. Today is South Africa v Zimbabwe and India v Pakistan, which I'm watching with me Mum & Dad.

Righto.

--
Adam

Trying to get clarification about the status / future of Railo

G'day:
I figured I had better try to find out the official word from The Railo Company as to the status of the Railo open source project, and what the future for it is likely to be. I have written this open letter to Railo:

Saturday, 7 February 2015

Lucee: does its future include CFML?

G'day:
There's a lively thread on the Lucee Google Group at the moment: "Outsider Perspective". There's a fair bit of cruft in there... OK, it's mostly cruft... but there was one very interesting comment from Micha:

ACF compatibility
[...]
So what could be the medium for Lucee, that is very simple, the medium are templates (.cfc,.cfm).
What if Lucee acts different depending on the file extension.
So all templates with .cfm and .cfc extensions are still handled the old way, but files with the extension .lucee are handled in a modern way. this gives you the opportunity to still use your old code but you can extend it with new one and you have no confuguration nightmare anymore!

My emphasis, obviously.

Hmmmm. I tried to get Micha to elaborate for a public audience, but he hasn't been forthcoming yet, leaving it up to community speculation. Most of the speculation thusfar has been around what the file extension should be (yes, really), and no real grist. I've been holding off on that thread until Micha antes-up a bit.

However, on this blog... I'll allow myself to speculate away like nobody's business...

Ray Camden says "CFML is dead"! Kinda. Not really

G'day:
I can't believe it! Ray Camden just said CFML IS DEAD!!!!

PHP: objects as arrays, and can CFML benefit from the concept?

G'day:
We had a situation at work the other day in which we needed a collection class, I think it was Properties (that's in the real estate sense of "property", not the OO one: I work for an online travel company, and this was part of a search result). This is distinct from a single Property which represents a single hotel / hostel / whatever.

Using CFML we would have used a record set to represent this, and in PHP we'd generally represent this as an array (of individual Property objects). However the collection of Properties needed other behaviour as well: storing the minimum price per night, highest rating percentage etc. So we're definitely wanting an object of some description to keep the array of properties and other... erm... properties (in the OO sense now) defined together in the one place.

Thursday, 5 February 2015

Waitangi Day 2015

Tēnā koutou:
It's Waitangi Day again (see "Completely and utterly off-topic: Waitangi Day" & "Waitangi Day again"), and I'm about to go back to NZ for a few weeks, during which time I'm gonna be eyes-glued to the Cricket World Cup which is being cohosted by Australia and New Zealand. I've managed to scrounge tickets for NZ v Aussie and NZ v the Poms, which should be two of the better games in the tournament.

So here's some stuff about NZ cricket.

CFML: time for a CFML specification?

G'day:
I note that PHP has finally got itself a language specification: "Announcing a specification for PHP". I can't hep but think that having a proper spec for CFML would be beneficial for the CFML community too.

Monday, 2 February 2015

Lucee: like a scene from Chinatown

G'day:
It's Google Groups [slap]... it's Discourse [slap]... it's Google Groups...

So, currently (although for how long, I don't know any more), the official Lucee community forum channel is back to being Google Groups again: https://groups.google.com/forum/#!forum/lucee

Whatever communications channel they use, I really think the Lucee people need to get their act together a bit as far as planning these decisions properly goes. It seems to me that Micha is hearing the first suggestion regarding something and just jumping on it immediately. This attitude needs to grow up a bit.

Still: let's put it down to teething problems. And in the long run, it won't end up mattering.

-- 
Adam

Sunday, 1 February 2015

Lucee: hiccups when getting a new Express install running

G'day:
These are as much "notes to self" as anything else. Railo Express used to run on Jetty which was simply "unzip and run". Lucee express is now on Tomcat, and I think if one never had Railo / Lucee / Tomcat installed before it would also be "unzip and run", but I had a coupla hiccups along the way, so I thought I'd jot them down here to remind me what needs doing, and it might help other people if they get stuck too.