Posted in ColdFusion | Posted on 07-13-2010 | 23,587 views
The title says it all. You can now download ColdFusion 901 here. Release notes may be read here. A detailed list of new features may be found here (PDF). This is not some small "point" release. In fact, I'm rather surprised by how much Adobe managed to sneak into this without calling it a 9.5 release. Over the next week I'll be discussing 901 in detail, but at a high level, here are some of the updates 901 adds, for free, to your ColdFusion 9 install. (Note - if any of the links don't work - give it a minute.)
- Amazon S3 support. I shared a video a few weeks back demonstrating this new feature. Basically - S3 is now as easy to use as your local file system.
- You can now do "for in" for arrays within loops.
- CFScript support for file uploads.
- CFScript support for dbinfo, cfimap, cfpop, cfldap, and cffeed.
- Caching updates
- IIS7 support
- Support for using CFCs out of web root for Ajax. So... I'm not a big fan of this feature. In general I put stuff out of web root on purpose, but if you want to use it, you can. Unfortunately this is only for CF Ajax features like CFDiv, etc. You can't use this with your own AJAX. (I'll be sure to demonstrate this when I do my detailed blog later this week.)
- JSON serialization partial fix. Numbers will no longer be converted to floats - but only if positive. So given the number 6, when serialized, you won't end up with 6.0. Unfortunately this only applies to positive numbers.
- Enhancements to the UI controls for cfmap and cfgrid. There have also been updates to the Ajax "hooks" for various UI controls.
- ORM now supports multiple datasources. As I've said before, in my 10+ years of web development I've known maybe one client who needed multiple datasources, but, for what it's worth, it is now supported.
- Speaking of ORM, Adobe worked on the error messages to try to make them friendlier. That was probably my biggest complaint. Sometimes you would get an error stating that "something" was wrong and never get the exact details. I can say that the messages are now a lot clearer. Oh, and speaking of that - the "feature" where persistent CFCs with errors would be ignored is now disabled. (Woot!) Finally, transaction behavour was also updated. See the release notes for details.
- Still speaking of ORM - you can now do HQL within the cfquery tag.
- You can now pass a structure of values to entityNew. This allows you to create a new entity and seed it with values.
- A few updates were done to Excel support. I've yet to play with this - but it's nice to see the feature continue to improve.
- On the Flash/AIR/DS side - there were updates to the CF/AIR integration bits, Flash Remoting, and support was added for BlazeDS 4 and LCDS 3. (Blaze and LCDS are one of the things I think far too many CFers don't know enough about.)
- Another big woot for me - but Solr integration was dramatically improved. A few months ago I blogged about how badly ColdFusion's implementation of Solr failed to handle binary files. This has been fixed, along with support for previousCriteria and categories. I'll definitely be showing some new examples of this soon. Note that you must reindex your collections.
- New system level log files were added for cfhttp, cfftp, web services, portlets, derby, and cffeed. These logs are 'automatic' and provide data about the network calls. Unfortunately the level of detail isn't so great, but it should be improved in the future.
- Here is a big one folks may miss. The server monitor now runs as it's own server. Under heavy load conditions, this means the SM may be responsive when your main web server is not.
- You can now specify both a datasource and a username and password in the This scope. Previously you could only specify the dsn.
- CFaaS was updated to allow you to get text and images from PDFs.
- A whole mess of third party libraries were updated. For the most part you won't need to worry, but you may care that ExtJS is now version 3.1, and Solr was updated to 1.4. Hibernate was also updated to 3.5.1.
- A butt load (technical term) of bug fixes! Here is one of my favorites - the methods of a CFC are now sorted when you cfdump it. Makes finding methods a heck of a lot easier!
So what about CFBuilder? You may not realize this - but the last point update actually updated your library to add support for 901. If you type in cfquery, then dbtype, the hint will show both query and hql. This support isn't quite 100% though (ormoptions doesn't show up as an argument for cfquery). If you find anything missing, please log a bug report (as I did for the previous) at the CFBuilder bug tracker.
As I said, I'm going to be blogging about 901 updates over the next few weeks. I'll be using the prefix "CF901" before these entries in case they begin to annoy the heck out of you. I'll also be updating this server to 901 tonight so if you see any momentary downtime, blame Apple. (Yes, that didn't make sense. Deal with it. :)



Only thing now wonders me is that how about a good dicumentation or a Book will be out! like adobe press book for coldfusion 9 are already out! how these functions will be shown now in the above!
Concern1: No solid CF 9 book is out!
concern2: Ben Forta Books Awesome but avaliable only two volumes
Concern3: No additional books for Coldfusion 9.
Corncen 4 Hell lots of changes in CF9. which will take a much to complete!
So please answer my questions if u can
Regards
1) Eh? CFWACK V1 is out. :)
2) 3 volumes - V1 is out. V2 is out in a few days, and V3 soon.
3) Other people are working on CF9 and CF901 books now.
4) Not sure what you are asking there.
My concern is Just the one that will volume 3 of CFWACK will include all these updates or no plans set for this~!
why i am concerned:
1. Amazon does not ship to my Country [INDIA]
2. CF9 is Big Milestone which has made major enhancements like using hibernate and lots of other things which i have yet to digg deep into
Any news on a Server Manager fix / update for instances on the server? It's a great little air app but buggy as hell :(
@Tom: No idea! Sorry.
Windows 2008 / 64bit
Plus restarted. Maybe Ill uninstall the update and try again.
No white page issue, but it totally hosed my install on Win 2008 / 64 bit. Throwing odd java errors left and right. Had to rip it off and reinstall (which brought its own issues). This is the "standalone" installation.
BTW - "On the Flash/AIR/DS site" did you mean "On the Flash/AIR/DS side" :)
@Ray, they did a teeny 0.01 update on CF8 too which also deserved a bigger number due to lots of enhancements. Must be some logical management reasoning behind doing it that way. (Yeah, right!)
Might have to get an image of the server before installing.
@Sean: Sorry man - all I can recommend is Adobe tech support.
@Tom: Always a good idea to test first. :)
However JSON broken - in past returning a integer numeric status from CFC with return format = JSON was fine, now it is returned as a string.The CFC return data type a struct: response = {'status'=1}
Any ideas on how I can force it to be numeric?
Please share the solution how to fix where to look.....
Thanks
I was getting the blank admin page at one point but that was because the WWW Publishing Service was stopped even though it said started.
I have tried roll back changes as per suggestions in documentation (http://www.adobe.com/support/documentation/en/cold...) didnt work either.
Also posted that issue on Adobe forum, hopefully someone can help resolve that problem.
http://forums.adobe.com/message/2972971#2972971
First one : when I installed it (Win 2008 64 bit) coldfusion stop working with error message "The DataSource service is not available" and work around 2 hours but didn't find solution. I just uninstall and install ColdFusion 9 and 9.0.1 and work second time.
Now I am facing another issue with cfajaxproxy, whenever I tried to call cfc function through cfajaxproxy I got below error.
"The ID parameter to the changeassign function is required but was not passed in. ", I understand this error but issue is this was working fine CF 9 and I have double check coding and everything is ok. After little digging into problem I found that coldfusion pass [object object] as url parameter instead of {id:1,assignto:'xyz'} kind of value.
Sorry Ray for such long comment but just want to share if anyone face same issue.
My scheduled tasks listing page has a nice big error on saying "7/14/2010 11:25:00 PM is an invalid date format." ... looks like someone didnt use LSDateformat() in the last run column! :( My Java Default Locale is set to en_GB.
Anyone know of a work around?
To everyone else, you can add my name to the growing list of people who can no longer access Administrator after the 9.0.1 update. I've scoured IIS Manager looking for clues, but can't figure it out. Noticed that 9.0.1 updated some of the CFIDE files, so that could be part of the problem. Next step is Adobe support, I guess. *sigh*
@Will - thanks for the advice. I checked the service but it was started just fine. I didn't run into that issue.
I guess it's back to uninstall and reinstall the base release tomorrow. Hope it hasn't done anything that won't recover after a reinstall.
http://forums.adobe.com/message/2977492#2977492
Hope this might help someone.
BTW, I am running Windows 7 on IIS 7.
Stop the ColdFusion 9 Search Server service.
In my old ColdFusion8SearchService folder there is a Data/host/admin folder with admin0.xml through admin9.xml. Admin.dat holds the number of the most recent one. Open it.
Using the same method, also locate the current admin*.xml in the JRun4 verity folder and open it. Copy the sections <Collections> to </Collections> and <CollRefs> to </Collrefs> to the new admin*.xml. Search and replace the old Collections path with the new path and save it.
Copy the contents of the old Collections folder to the new Collections folder.
Start ColdFusion 9 Search Server.
My experience updating from ColdFusion 8 to ColdFusion 9 in a multiserver configuration was much more complicated than I thought it should be. Maybe I missed a shortcut. Maybe this will save someone else some effort.
SerializeJSON(123) in 9.0.1?
It does return "123" and not 123. Imho this is a bug as every number gets converted to a string in 9.0.1 the same goes for IDs in queries etc.
In the New Feature Notes:
http://www.adobe.com/support/documentation/en/cold...
Adobe writes that 10 will be 10 and 012 will be "012" which is right. It does not say that all numbers will be strings. So which is right?
As to the release notes - I'd say trust what you see - which is what I see too. I'd say file a doc bug, but this isn't really a doc that you can file bug reports against.
Best I can offer up is to file a bug report on the issue in general. Tell us here the ID of the bug and I'll be happy to spread the word. I don't think it's that big of a deal, but I'm seeing many folks here want it changed.
I already filed a bug
http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbu...
We use JSON extensively throughout all our apps and this breaks most of them.
A simple example:
We do have a query that has a field called "nextid". This field is 0 if there is no further info or some positive integer if there is more info.
In 9.0 all was fine. I could do a javascript
if (queryrow.nextid)
This was only true if queryrow.nextid was not 0.
Too bad that "0" is true in Javascript so all our code would have to be fixed by iterating over the rows again and set those fields that need to be numbers (most of them actually) to an actual number.
This is just one example where this new behaviour breaks code.
As there is no easy way to detect this from let's say the first row i would have to work with a list of IDs in a query that i supply back via JSON that contains those fieldnames that need to be numbers as CF now returns only strings.
Let's say i have a query with 20 fields that i do a SerializeJSON(queryName). There is no way for JS to know what fields should be numbers. I would have to manually supply those fields which really is a pain. Before all number fields were numbers - even if some were float instead of int.
Our software runs on our customers servers. We would have to create a 9.0 and a 9.0.1 version if this bug lives on.
if(parseInt(queryrow.nextid))
?
You then say, 'there is no way for JS to know what fields shoudl be numbers.' You are technically correct, but how often do you build an AJAX app that works with random data? I've never done that. Your app knows the url it is hitting, it knows the data coming back (you might not like "10" but you know it will be there).
Again - I'm not saying this shouldn't be changed - I'm mainly arguing about how big of an issue is.
That being said - I'll blog about your bug report so it gets more exposure then just the comments here. I've also raised the issue internally as well.
when using createObject on a cfc that contains a cfquery, the following error is thrown.
The tag handler query does not have a setter for the attribute ormOptions specified in the Tag Library Descriptor.
<CFset application.disclosure = createObject('component', 'cfc.Disclosure').init(application.settings)>
Is there a global way to turn off ORM?
Win 2k8 CF 9.0.1 64bit on IIS 7.
here is part of the stack trace
coldfusion.jsp.JRunTagLibraryInfo$NoSuchAttributeException: The tag handler query does not have a setter for the attribute ormOptions specified in the Tag Library Descriptor. at coldfusion.jsp.JRunTagLibraryInfo.getPropertyType(JRunTagLibraryInfo.java:627)
First I used the coldfusion web connector app to remove coldfusion from IIS. Then I stopped all web services, including IIS and coldfusion, I set them to Manual start. Next rebooted the machine, and then did the cf 9.0.1 install with all of those services stopped. This time the install was successful. Reset all the services to "Automatic" start and was good to go from that point on.
Even though the upgrade completely successfully, my installation was unable to run any cf pages after a reboot. I decided to bite the bullet and remove ColdFusion 9 completely followed by a reinstall of 9 and then the upgrade to 9.0.1 After setting up the new installation, everything seems good now. Not a smooth upgrade procedure, but at least it is now in my past. Thanks to all that offered suggestions and help.
Resources:
Enable Robust Exception Information to provide greater detail about the source of errors. In the Administrator, click Debugging & Logging > Debugging Settings, and select the Robust Exception Information option.
Check the ColdFusion documentation to verify that you are using the correct syntax.
Search the Knowledge Base to find a solution to your problem.
Browser Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.1)
Remote Address 10.251.25.200
Referrer http://apps.emoe.gov.my/epgo/dr_sah/Qr_papar_detai...
Date/Time 20-Aug-10 03:47 PM
MINE CANNOT KEMASKINI, SO HOW?
I was wondering if you or any of the regular forum users have noticed a problem with cfgrid after upgrading to CF9.0.1. Several grids I have on my ISP's server have mysteriously stopped working after they upgraded. The same grids on my development server, which I have not upgraded, still work.
I've put up a very simple test at the above address. Looking at the error console I see the following 3 errors:
_1aa.addListener is not a function
this.ds.fields.get(c) id undefined
this.config[a] is undefined
My ISP and I have run out of ideas - any steer would be gratefully appreciated (I believe my ISP may have reported a bug, but I cannot find his submission)
Kind Regards
Paul
http://www.conceptgarage.co.uk/gridTest.cfm
Not sure where to go to put the code in the pastebin
pastebin link: http://pastebin.com/Nyb2RnzZ
cfgridcolumn removed, but no difference.
The code was picked up from an online example and slightly modified. The grids I am having a problem with are only accessible after a login so I wanted something public facing and above all in it's simplest form so that I could rule out 'external' factors that may be causing the problem!
As I mentioned, both the test grid and my more complex versions work perfectly well on my 9.0.0.251028 build and used to work on the ISP's server until they upgraded to 9.0.1
Methinks it's either the upgrade or possibly some file corruption has taken place. The former will obviously be a universal thing whereas the latter will just be specific to my ISP. From my googling there appears to be no mention of such a problem so I am beginning to think it's an issue with the ISP's server. Any thoughts on the matter would be gratefully appreciated in my quest to get to the bottom of the problem.
Good point. That's actually left over from an idea I tried out based on the Javascipt errors I noticed. I thought I would try including those files with the idea if there were errors in the root files they would be overwritten. I have just removed those includes so we are down to just a call to the grid tags with no extraneous code that could otherwise be thought to be causing the problem. In other words, cfgrid in its most basic and simplest form which on a good day should work!
It looks like your ISP did not upgrade the cfide scripts area, for your site with the new files for 9.01. Here is the ext-all.js version for your cfide/scripts area:
(http://www.conceptgarage.co.uk//CFIDE/scripts/ajax...)
Ext JS Library 3.0.0
Here is the version from my 9.01 upgrade.
Ext JS Library 3.1.0
That is probably why there are problems.
Many thanks - I must admit I have been thinking that it was something along these lines since there has been an underwhelming number of 'Yes, I've got that problem....' postings. I think I will suggest to my ISP that he looks at the scripts as you have suggested.
If need be, you could probably download the developer version of coldfusion 9. Upgrade it to 9.01. Then copy the CFIDE/scripts directory to your website root.
Thanks for your suggestion.
I have now upgraded my dev server to 9.0.1, concerned not to do it sooner as there appeared to be this problem with the grids. However relieved to find all is well and I have also since found several 9.0.1 grids on the net. Now convinced it's an ISP build issue, but not just down to the latest version of ext-all.js perhaps, as reverting this file back to 3.0.0 after the upgrade did not replicate the problem.
Don't think anything more can be added to this sub-thread as I suspect it is not a widely experienced problem
so did you revert your ext-all.js file back to 3.0 or should it be 3.1? I have 3.1 in my cfide/scripts/ajax/ext folder, and I am getting the same exact problem as Paul had.
Suggestions?
dan
'In ColdFusion 9, data for the first row is available on form submission in a form with dynamic grid. In ColdFusion 9.0.1, the data is not available.'
Still, I don't see the purpose of it besides breaking some working applications. Has anyone found a solution to this?
As it stands - have you tested with the CHF for 901?
I came across this: (see reply #2)
http://forums.adobe.com/message/3085276#3085276
But not much more beside angry developpers.
Reading this CF docs page on CFGRID:
http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef...
Just a little before the comments section; it says:
"Enhancements in ColdFusion 9.0.1
In ColdFusion 9, data for the first row is available on form submission in a form with dynamic grid. In ColdFusion 9.0.1, the data is not available"
It does relate in fact to dynamic grids but it also affects static grids and that's the problem. Most static grids could be replaced with a CFSELECT but with a great loss of flexibility and I don't want that. Jquery grids are really great but generally necesitate a little more work to integrate.
I was just wondering if anyone had heard anything related to that. In the mean time I'm holding off upgrading to 9.01.
Thanks Ray for the reply!
I'm going to cross my fingers!
Happy hollidays to you my friend.
Everywhere I look on the internet I see "
The tag handler application does not have a setter for the attribute datasource specified in the Tag Library Descriptor." and similar errors where the solution is to reinstall coldfusion.
They have really just let coldfusion go.
Thanks!
"series":[
{
"name":"Units",
"lineWidth":"4",
"marker":
{
"radius":"4"
}
Now what I want to do is pass the unserialized "series" object straight into my js, but I can't because of those string-ified ints. While I can parseInt them, I have to check for every possible numeric parameter.
For those still struggling, this can be fixed by using JSONUtil:
http://jsonutil.riaforge.org/
I had to add serialization to my VB class
http://www.dreamincode.net/forums/topic/162122-ser...
Turns out an admin re-ran the CF9.01 updater and everything got confuses.
You get more info on this error if you run in console mode and look at the messages thrown as the server starts.
Anyway, long-story-short - fix was the use BeyoneCompare to identfy the changed .jar's from a working cf 9.01 box (the file sizes are different) and copy them over to the corrupt box..
[Add Comment] [Subscribe to Comments]