[Looking for Charlie's main web site?]

CF8 Admin Changes: A compendium of new/changed features since 7.02

Are you aware of all the changes that have been made in the CF Admin as of CF8? You may have seen mentions of little changes in CF8 (indeed, I've done a full hour user group talk on hidden gems), and while I mention some changes in the CF8 Admin (as I or others have noticed them), I've not seen any definitive list (from Adobe or the community) of all the changes (small and large) that might have occurred in the CF Admin interface. I figured I'd take up that challenge.

I've gone through and compared the CF Admin between 7.02 admin 8, and found changes that reflect:

  • new major features you've probably heard about (whether to enable "per app settings"; limits on the number of cfthread threads; options to enable/control the new interactive step debugger; support of the new Server monitor; support of per-user access to the Admin and RDS)
  • new minor features you may have missed (options to "disable CFC type check" and "disable access to internal CF java components"; options to limit the number of simultaneous requests from Flash Remoting and web services clients and CFC methods called from a URL; options to set request queue timeouts and set jrun request limits; new options to control mail server authentication; new db drivers; new option to log activity on enterprise databases; new option to perform a validation query when a connection from the pool is first used/reused; new ajax debugger window; ability to pause a scheduled task; 3 new flex-based gateways; minor additions in CAR file creation)
  • realignment of related settings (request tuning settings)
  • renaming of various pages and settings

Here are all the changes I could find, discussed per page:

A. Server Settings Section

Settings Page

  • "Maximum number of simultaneous requests", "Maximum number of report threads", moved to new Request Tuning Page
  • "Maximum size of post data" moved to bottom of this same page
  • New "Enable Per App Settings", "Disable CFC Type Check", "Disable access to internal ColdFusion Java components", and "Watch configuration files for changes" (latter for WebSphere ND)

New Request Tuning Page

  • (Enterprise only) Besides holding the "Maximum number of simultaneous requests" setting (renamed here in CF8 as "Template" requests) moved from the old Settings page, this page now permits setting limits on number of simultaneous requests from flash remoting and web service clients, as well as CFC function requests (not calls to CFC methods from CFML but those made via a URL, such as from a browser or Ajax client, etc, when not using ?wsdl)
  • Besides holding the "Maximum number of simultaneous report threads" setting (renamed here in CF8 to add "simultaneous") moved from the old Settings page, this page also permits setting limits on number of simultaneous CFTHREAD threads
  • (Enterprise only) Page adds 2 new "Queue Timeout" settings
  • (Enterprise only) Page adds 2 new "JRun Master Request" limits

Mail Page

  • New Username and password fields to hold SMTP server authentication info (previously, had to know how to add it to the mail server name using username@password:servername in the mail server field). Use of password field offers protection of password from someone watching over your shoulder.
  • New "Connection Timeout" and "Enable SSL Socket connections to mail server" and "Enable TLS connection to mail server" options, each permitting greater security and control over authentication to SMTP servers (particularly Google mail servers)

B. Data & Services Section

Data Sources Page

  • New driver types: "Apache Derby Client", "Apache Derby Embedded", to support the newly available Apache Derby database, and "MySQL 4/5" (in addition to existing MySQL 3) and "PostgreSQL"
  • In "Advanced Settings", new "Log Activity" option (to log database activity to DB) for Enterprise drivers (SQL Server, Oracle, Informix, Sybase, and DB2).
  • In "Advanced Settings", new "Validation Query" option (called when a connection from the pool is reused), available for use with all driver types

Verity K2 Server Page

In "Advanced Settings", new option to enter K2 Admin Username and Password.

C. Debugging & Logging Section

Debugging Output Page

  • Page name changed from just "Debugging Settings" (due to addition of new "Debugger Settings" page listed below).
  • New "Enable AJAX Debug Log Window" option, which allows display of the AJAX debug log window when the cfdebug flag is passed in the URL (also relies on IP address settings to control who sees this)
  • "Enable Debugging" option renamed to "Enable Request Debugging Output"

New Debugger Settings Page

Enable, configure, and control interactive step debugger in Eclipse.

Scheduled Tasks Page

New option to pause a given scheduled task (new button in list of buttons to left of each scheduled task)

Systems Probes Page

Field for "Notifications Sent From" renamed to simply "E-mail".

Code Analyzer Page

Changed to list CF8 tags and functions in "Advanced Options" page.

D. New Server Monitoring Section

(Enterprise only) Offers links to the new Server Monitor and Multiserver Monitor.

E. Event Gateways Section (used to be Enterprise-only)

Gateway Types Page

New Flex-based gateways: "DataManagement", "DataServicesMessaging", "FMS"

F. Security Section

Administrator Page (renamed from "CF Admin Password" page)

(Enterprise ony) Offers new interface to use either a single Admin password (as before), or separate username/password (per authorized admin user, as enabled in new "User Manager" page listed below), or no password required at all

RDS Page (renamed from "RDS Password" page)

(Enterprise only) Offers new interface to use either a single RDS password (as before), or separate username/password (per authorized RDS user, as enabled in new "User Manager" page listed below), or no password required at all

Security Sandbox/Resource Security Page

"CF Tags" and "CF Functions" tabs for adding/editing a sandbox have been changed to list CF8 tags and functions.

New User Manager Page

(Enterprise only) Enables adding users who should be given access to either RDS, CF Admin, or Admin API functionality.

G. (Enterprise only) Packaging & Deployment Section

ColdFusion Archives Page

When adding/editing an archive, the popup window that is shown offers several sections, and the following changes have been observed:
  • Server Settings: "Locking" section has been removed, while "Watcher Settings", "Server Monitor Settings", and "System Probes" have been added
  • New "Web Services" settings page, with provided "pre-restore" and "post-restore" lists

(Enterprise only) J2EE Archives Page

When adding/editing an archive, there is a new "Previous Serial Number (if upgrade)" option.

Where to learn more

To find out more about these changes, see the online help available in the CF Admin, available on each admin page.

Or see the ColdFusion documentation manual, "Administering and Configuring ColdFusion 8", available at CF docs page.

I realize that some reading this will be moving from CF 6, 6.1, 7, or 7.01. I'm afraid I can't detail here all the changes between those releases. I have, however, got a day-long class I offered at CFUnited on "New in CFMX 6/7: What you may have missed", where I do outline changes in each of those releases (and intervening updaters). If you're interested in taking that class, drop me a note or leave a comment here. I am thinking of offering it as an online class (and plan to do the same regarding all changes in CF8--outside of the Admin). Hope all this helps others.

Related Blog Entries

Comments
Thanks for putting this together, Charlie!!
# Posted By Chrisitan Ready | 7/3/07 6:28 PM
Charlie,

Event gateways are no longer a enterprise only feature.
# Posted By João Fernandes | 7/3/07 6:39 PM
Charlie,

Good work, wondering if there is a complete CF8 list somewhere. I keep finding out things about CF8 that I didn't know.

like

CF8 does white space supression a whole lot better
You can do <cfset myStruct = {} /> type statements

I'd love to see a complete list of every new hidden bit and every change to every tag somewhere, the docs are a bit lacking I feel.
# Posted By Dale Fraser | 7/3/07 6:45 PM
found out about the log activity from here so big thanks for putting together.
# Posted By Scott P | 7/3/07 10:00 PM
@Christian, thanks for that.
@João, good point. I have updated this to reflect that.
@Dale, I mentioned my CF8 hidden gems talk. Did you take a look there? I'll admit, though, that I'd not heard about improved whitespace suppression. I've read the release notes and other change docs cover to cover. Where did you hear that? As for the docs being "lacking", well, again, be sure to check out all those docs. But I do have something in the works which I think you'll love.
@Scott, glad to help.
# Posted By Charlie Arehart | 7/3/07 10:28 PM
Charlie,

I didn't hear it, I saw it, did a view source and first thing I noticed was that there was little to no whitespace, normally CF had about 10 blank lines to start.
# Posted By Dale Fraser | 7/4/07 12:07 AM
Well, that's curious: I'm not seeing it (a reduction in whitespace) in my own tests. Are you sure you're not benefiting either from a change in the default whitespace suppression in the Admin console, or some coding change? Or do you know if your code does have some whitespace suppression code, and perhaps now its propagating further down the request stack than it used to (which would indeed be news)?

Be sure to check the Admin first, though. It would be a shame for you (or any of us) to chase a rabbit down a hole only to find that somehow your Admin setting differed between your CF7 and 8 set up.
# Posted By Charlie Arehart | 7/4/07 1:11 AM
Charlie,

I doubted myself, so I just tested it again.

CF7 view Source HTML starts line 50
CF8 view Source HTML starts line 3

Exactly same application, default installs of both, haven't changed the whitespace settings.

I just checked both settings and they both have Enable Whitespace compression ticked
# Posted By Dale Fraser | 7/4/07 1:28 AM
Ok, fair enough, but before we let anyone make hasty conclusions (or someone else confirms what's changed in CF8), I really think we ought to be as clear as possible. For instance, you've asserted that it uses less whitespace inherently. You've ruled out the Admin settings as the difference, but it could still be based on code (even if your code hasn't changed, something about how CF processes the code could have changed). That would mean it's not that CF8 will "always" generate less whitespace, but rather that based on certain tags, it creates less. Big difference.

Can you look at your debugging output for the page you're testing, and for all the files it says are executed (including application.cfm/cfc, any includes, CFCs called, etc.) check all those for occurrences of tags related to this, like CFSILENT, CFPROCESSINGDIRECTIVE, CFSETTING, etc? It just seems important to rule out if those are affecting this, in which case it could be a change in one of them that's making the difference.

For instance, for a long time BD had an advantage over CF in that it propagated the settings of some of those across CFIncludes and other file changing tags, where CF did not. I've not paid attention to the difference any more in recent years, but this could be where CF8 may have changed. If you can spare a few more moments toward this, let's rule that out for the benefit of all who may wonder about this. I'm heading to bed, so hope to hear what you may find in "our" morning.
# Posted By Charlie Arehart | 7/4/07 1:40 AM
We don't use any of these tags except cfsetting

And we don't use cfsetting in our main application, just in the odd page or two, but not the one I tested.

I also tried this on another large application, and I got the same result, the whitespace was all gone.

So we are not doing anything different, ColdFusion is doing something different. We do use custom tags a fair bit, perhaps it's related to that not sure.

What I am sure of is that CF8 has improved whitespace supression somehow.
# Posted By Dale Fraser | 7/4/07 1:55 AM
Just tried the whitespace check myself (wrapping a lot of stuff in Application.cfm in CFSETTING).

No whitespace at all. Not a single line. Wow!
# Posted By Peter TIlbrook | 7/4/07 6:07 AM
WRT whitespace improvements, this really was a side-effect of the performance work we did. The Java code we generate is much tighter and more efficient.

Damon
# Posted By Damon Cooper | 7/4/07 9:50 AM
Damon, these are the kind of "side effects" that help prove the CF team have indeed done a lot of optimisation to CF. More it seems than any previous release. Well done!
# Posted By Peter TIlbrook | 7/4/07 10:39 AM
Guys, I'm not seeing it as an across the board thing. I've done several tests. Let me be clear on a couple points.

First, we should clarify that there's no change in whitespace generation (or suppression) between 7 and 8 if you DO NOT enable the "Enable Whitespace Management" feature in the CF Admin (I'm not testing differences due to CFSETTING, CFSILENT, or CFPROCESSINGDIRECTIVE tags since Dale's not reporting using them above).

I did several tests of several different kinds of apps (traditional cf5 era apps, CF7-based apps using app.cfc, and sample apps for Model Glue and Fusebox 5.)

First, again, if the "Enable WhiteSpace Management" option is not checked, there is no change at all in whitespace generated between 7.02 and 8. That's to be expected (but worth making sure people understand, that there's no difference at all then).

But even after enabling that option in the Admin of both releases, while I did of course see a reduction in each, the difference in reduction BETWEEN the two releases was literally 0 in 3 of the sample apps, and only 5% in one of them.

The only instance where I saw a dramatic reduction was (60+ lines) was at the top of a page where there was an application.cfc. It was odd, though, because the application.cfc itself was just 17 lines, and a file it included was 22 lines. There were no loops in either template, so that means the reduction in whitespace was greater than the lines of code being executed. If I renamed the app.cfc file, it reduced the whitespace in CF7 to the same amount as in CF8 when it was calling the app.cfc. Dale, is the code example you're trying using app.cfc? Just curious.

I don't mean to be raining on the parade of high hopes here, and indeed I've been extolling many virtues of the new release. I just think we ought to be clear on where such improved whitespace handling may be happening. I'm not seeing it across the board.
# Posted By Charlie Arehart | 7/4/07 12:46 PM
One does,

And the other used application.cfm

I'll try to see where the gains lie, I have a theory, stay tuned.
# Posted By Dale Fraser | 7/4/07 6:30 PM
Great!

Also, you might have noticed the icons on the right corner.
The first icon will take you to the resources, For system Information, click the icon i and the last one is 'help'
# Posted By Ahamad | 7/5/07 12:11 PM
Ah yes, good point. Thanks, Ahamad.
# Posted By Charlie Arehart | 7/5/07 1:19 PM
Charlie,

Can you say a little more about the "Validation query".

How and why you would use this ?

thanks john
# Posted By John | 7/6/07 9:41 AM
@John, regarding the validation query, it's not well documented yet. I related what's there, that it's run when a new connection is obtained from the pool. I do know that other J2EE servers (like Tomcat and WebLogic, and even JRun) have long offered this sort of thing. It's used to ensure that the connection is valid before proceeding with your real query processing.

You might think that if you went to the merant/datadirect site that perhaps they'd have an explanation for this, but I looked and could find nothing.

Doing a little googling, I did just find this from Aaron Johnson. While he's a CFer, this is not about CF's validation query, but perhaps it serves as a useful case study for the benefit of this feature:

http://cephas.net/bl...

In other places, you'll find discussions indicating that the v-query should just be something that doesn't even access a table, such as "Select 1" in SQL Server and MySQL, or "SELECT COUNT(*) FROM DUAL" in Oracle.

Hopefully this will be better documented in the final release of CF.
# Posted By Charlie Arehart | 7/6/07 2:27 PM
Whitespace suppression should indeed work much better than CF7. There were few scenarios where whitespace suppression flag was not always being used in CF7. I don't remember all of them but one of them was certainly cfc. So, if your application uses lot of cfc, you will see huge reduction in whitespace in your page response.
Another point to remember regarding white space is - We don't remove the whitespaces that have been added by you intentionally. We only remove those whitespaces for which we are sure that they are unnecessary.
Consider these two statements below
<cfset a=1>
<cfset x = "a string">

In this case we are sure that the line-break and 2 whitespace character between 2 lines are absolutely unnecessary and can be removed.
# Posted By Rupesh Kumar | 7/9/07 6:40 AM
Perhaps with "broadband" whitespace is not the issue it used to be.

But the fact that it can be almost entirely eliminated is impressive.
# Posted By Peter TIlbrook | 7/9/07 6:57 AM
Thanks very much for the clarification, Rupesh.
# Posted By Charlie Arehart | 7/9/07 11:00 AM
One other thought/question, Rupesh: does this change relate only to the use of the Admin Whitespace suppression or equally to CFPROCESSINGDIRECTIVE SuppressWhiteSpace? How about CFSILENT? And CFSETTING ENABLECFOUTPUTONLY="yes"? Just want to help people understand the scope of where they should expect to see improvements.
# Posted By Charlie Arehart | 7/9/07 11:03 AM
Is there a "best practices" guide for Coldfusion 8 administrator settings?
# Posted By Mike Bainbridge | 8/20/07 11:49 AM
Nope, Mike, not that I really know of.

Kind of hard to make a best practices doc for Admin settings, I think. The "best" settings differ based on requirements and require considerable evaluation. The good news in CF8 is that the new monitor does offer unheard of info to aid in that decision-making. See other entries I've done in the "monitoring" category (at right). Various books and presentations have been created to address CF performance, but they of course go way beyond Admin settings.

Are you at least aware of both the online help (click the question mark in the Admin), and the Adobe documentation? There's more than just the CFML reference. There's an entire guide on Administration. I mentioned both above, and I've changed the links from those pointing at the beta to those on the production CF8 site.
# Posted By Charlie Arehart | 8/20/07 12:23 PM
We are making the jump from MX7 standard to CF8 enterprise. I have noticed that the Java and JVM menu option is gone. How does one add items like a spellcheck.jar in the CF8 administrator?
# Posted By Kevin Lange | 1/16/08 5:05 PM
Kevin, just to be clear, it's not your move from 7 to 8 that's caused the loss of that page in the Admin, but rather your move from the Server to the MultiServer (or perhaps the J2EE) configuration. In those, the CF Admin doesn't have that "java and jvm" page.

You can make changes you'd normally make in different ways. Settings would now be configured in the jvm.config (which in the Server edition would be edited by CF based on your changes to this page). In the multiserver edition, the jvm.config is in C:\JRun4\bin. You can also use the Java Mgt Console (JMC) to do it, which has its own jvm settings page (under settings in the cfusion page or whatever instancename you're using). The JCM would be at http://[servername]:8000/ be default.

As for placement of jars, the location for that too is indicated on that "jvm settings" page. For instance, something for the cfusion instance would go in \JRun4\servers\cfusion\cfusion-ear\cfusion-war\WEB-INF\lib. Others may have more thoughts, and if that doesn't work, do report back.
# Posted By Charlie Arehart | 1/16/08 6:49 PM
Thanks very much for the clarification.

A
# Posted By Avery | 1/25/08 11:19 PM
Not sure if this fits in this post or not, but I know Charlie is the best person to utilize this knowledge if he doesn't already have it.

We needed to upload larger files to one of our servers up to 2GB for big powerpoint files. Being the smart guys we are we set "Maximum size of post data" clear up to 2048MB instead of shortcutting to 2000MB. After getting a few strange error reports and customers wondering what happened to our upload service, it turns out our maximum we can set this to is 2047MB.

At this point I'm guessing, as its working and don't have the time to fully investigate. The error we were getting comes from Java.io saying that file upload file size is larger than the memories allowed -(bignumber here). I'm guessing somewhere along the line 2048 flips something in Java and makes the maximum number negative so that no files can upload. 2Gigs would really be 0-2047, not 1-2048. Kind of reminded me of "flipping" asteroids in the Atari 2600 when your score got too high.

Anyhow, its a CF8 server with 1.25Ram, so not sure if that matters much, but should you get this error, just set down to 2047MB or below.
# Posted By CheyenneJack | 3/12/09 1:45 PM
Thanks for sharing, Cheyenne. That *is* very interesting. Glad you've captured and shared it with us. Then again, It's not clear if you're saying this is a change in 8, which is the focus of this entry. No problem if you didn't try. If anyone else does, please do report. Could also be a JVM 1.6 thing (that CF8 runs on), if it does differ from CF 7 (which ran on JVM 1.4). We'll see. It's noted for posterity and future troubleshooting, though, so thanks! :-)
# Posted By Charlie Arehart | 3/12/09 2:32 PM
I realize this is an old thread, but since it's one where I first mentioned CF8's then-new "validation query" feature for dsn's, and someone had asked in a comment at the time to learn more about them, I wanted to point out that since then, the inimitable Steven Erat had done a blog post (based on a forum thread he participated in where this feature was discussed as a possible answer for a problem someone was having.)

His entry highlights the key points he had made, and they touch on the use of this "validation query" feature in a way that really helps it make sense, explaining its purpose in helping find/deal with stale db connection from CF's connection pool.

More at: http://www.talkingtr...

And though the thread and his entry refer to MySQL, his explanation of the validation query applies to using any DBMS.
# Posted By Charlie Arehart | 11/4/13 11:44 AM
BlogCFC was created by Raymond Camden. This blog is running version 5.005.

Managed Hosting Services provided by
Managed Dedicated Hosting