Tuesday, 1 October 2013

ColdFusion: Tirade averted... (update: no, actually: tirade)

Last night someone from the community directed me at this issue on the bugbase: "Updating a task via cfschedule resets task to defaults". Neither of us could believe what Adobe had said to justify themselves. Fortunately in the interim cooler heads have prevailed, and they're on the case, but - dammit - I want to mention this anyhow.

The story with this bug - and it's a bug, Uday - is this:

If you are updating a scheduled task via the cfschedule tag it is possible for some of the task info to be reset back to default. For example, if task had an eventhander configured and cfschedule was used to update task but eventhandler attribute was not used then eventhandler would be set to blank. The eventhandler attribute is just one example as this affects other attributes equally.
So that's a bit rubbish.

Last night, the response from Adobe - via Uday Ogra - was this:

This is by design. As this action re-creates the schedule task. For updating particular attributes of an existing task it is recommended to use admin UI
This is yet another example of Adobe people being bloody jobsworths, IMO. I am gobsmacked by the stunning ignorance of Uday's justification here on two levels:
  • Who cares if it's by design: it's poor, lazy design. I'd be cool with this is Adobe went "oh yeah... oops", but to try to justify this away with "oh, it's meant to be like that" is pathetic. Indeed if you actually went out of your way to design something like that it doubles the question marks over your capabilities here: introducing a bug during development is one thing; specifically deciding to design something this poorly is unbelievable. Do you mean to say you sat down and went "right, when one uses this functionality to do an update, we'll blow away all the settings to didn't specifically set for update. Yeah: that's what people will want". Shudder.
  • What sort of bloody moronic advice is "as an alternative, use the UI". How is that gonna help us in our code? What sort of completely detached from reality suggestion is that? How is it a solution to a coding problem to suggest "use the UI instead".
Fortunately some of the usual suspects from the community noticed this, and jumped on it immediately. Dave Ferguson pointed out that data loss cannot be justified as "by design" and Adam Tuttle pointed out what I've pointed out here: saying something is "by design" - if it's justification for how something is not a bug - just means the bug is in the design, not the implementation. So: still a bug.

Fortunately, Uday's almost reversed position on this, and it's gonna be fixed. His reaction is still a bit weasly:

This will be treated as an enhancement. Perhaps introduction of action='create' which will behave like action='update' and 'update' action will do what you all are expecting
It's a bug, mate, not an enhancement. But who cares how you deal with it: at least you're dealing with it. And, yeah, the suggested solution is what was floated to you back in Dec 2012...

So it's being fixed... why am I complaining? Well in this instance, the community jumped on Adobe and said "not good enough". And to their credit, Adobe have acquiesced. But they have to stop with these attempts to wriggle out of work.

I subscribe to my own @CFBugNotifier feed (obviously), but I have to say I ignore most of the messages if the ticket doesn't relate to stuff that interests me. But I think I'm gonna start surveying all the updates, and do a bullshit detection on them if there's feedback from Adobe on them. And I invite y'all to do the same thing. Seriously: please keep an eye on what's going on with these issues, and make sure the responses from Adobe are to a level of professionalism that bely this enterprised-priced product they sell to us. And if you see something that doesn't sit right with you: don't ignore it. Do what Dave and Adam did: call Adobe out on it. Don't let them get away with making excuses as to why they don't feel like fixing something.

I don't believe I am going to cite Twisted Sister as inspiration twice in the space of an hour (same inspiration, that said), but my mantra regarding Adobe and ColdFusion has become "We're Not Gonna Take It". Because we don't have to take it. We pay for this blimin' product, don't forget. We're their clients. They need to remember this.