[coldbox-3.5.0-BE] ValidationManager min requirements

The validation manager seems to be not just CF9 min requirement but CF9.0.1 because of 2 loops in the validation manager:

1: for( var thisField in allConstraints ) and
2: for( var key in arguments.rules )

In the loader services there is a method to detect whether it’s supported - isValidationSupported()

However, the get version only returns the 1st element of the list 9,0,0,251028.

So I would wonder about tweaking the get version to return the 9.0.0 so engine detection could be better enhanced because 9.0.1 did add things like enabling the for-in construct.

The other option I look at is refactoring the for-in constructs in ValidationManager so that they are supported by CF9.

Of course the real answer should be apply 9.0.1 however, that’s outside of my control and I’m in a bureaucracy to where that would take months to get it put in place even if it was blessed.

Just thought I get your thoughts on this.


Jade, why don’t you submit a pull request to make this work in 9.00, I would happily incorporate it.

Luis F. Majano
Ortus Solutions, Corp

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Blog: http://www.luismajano.com
IECFUG Manager: http://www.iecfug.com

Social: twitter.com/lmajano facebook.com/lmajano

I have submitted the pull request but please exercise due diligence, github noob :slight_smile:

Is it really worth that?

Anyone who has not update CF9 to 9.0.1 should really give an explanation as to why they can’t. There are many issues that CF9.0.1 fixes, and should be a mandatory update.

I fully agree it’s a mandatory update and there is no good reason for not doing so, but when your a contractor, you can inform and educate and they will prioritize it however they see fit.

My current contract has some 40+ ColdFusion instances running. And the upgrade, while fairly quick and painless, will take a fair amount of time to be deployed across 40+ instances. The server admins (non-developers) know about the update but it hasn’t made it to the top of the priorities

And before you can deploy it to an instance, you have to notify the developers and the business owners for each application. And each instance has several applications. The instance I primarily work on has about 20ish applications so you have a large number of business owners to communicate with and a smaller pool of developers since the developers each work multiple applications.

Then you coordinate a time when you get 20ish business owners and a pool of developers to all simultaneously set aside some time to look at the application in a non-production environment and make sure it seems to be behaving properly. And after everybody has agreed that it’s working properly, then you can schedule a time when you can do the same thing in the production environment.

And all the documentation for change requests to servers has to be filled out and go to committee before it can deployed to production.

And in the meantime, the server admins also have an equal amount of .Net servers and other systems they monitor and admin as well.

So yes, while a necessary upgrade, sometimes the implementation of necessity will still be a multi-month project even if heavily greased.

It would seem your in a small non-bureaucratic shop, and probably have administrative access, how nice that would be to just be able to get things done quickly and painlessly :slight_smile:

Considering how long CF9.0.1 has now been out, there should be no reason nobody is using it. Even from a security point of view, it should have been made more of a priority to have the server patched.

I feel your pain, but as an Application author. I don’t think that we should be supporting ColdFusion 9, or even ColdFusion 8 unless it has been fully patched and hotfixed. It means that we as Application developers are forced to find solutions to problems, that Administrators are too lazy to update their servers with.

Sorry I am not trying to be difficult, but look at it from out point of view. I have an application that I know will not work on ColdFusion 9, but will work on CF 9.0.1 and that is due to a massive bug in the way CF9 has with structs and being passed in the argument collection. And I as a developer refuse to rewrite my Application because of that, as well as all the ORM problems that are also a problem with CF9.0

Sorry but the reality is that it just too hard otherwise. Luis may view this differently, but I can tell you that there is probably more problems with running on an unpatched CF9 server than what you have found so far.

And I do not work in a shop, but I also don’t have to deal with red tape, like that anyway.