CF8 Admin Changes: A compendium of new/changed features since 7.02
Note: This blog post is from 2007. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
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.
For more content like this from Charlie Arehart:Need more help with problems?
- Signup to get his blog posts by email:
- Follow his blog RSS feed
- View the rest of his blog posts
- View his blog posts on the Adobe CF portal
- If you may prefer direct help, rather than digging around here/elsewhere or via comments, he can help via his online consulting services
- See that page for more on how he can help a) over the web, safely and securely, b) usually very quickly, c) teaching you along the way, and d) with satisfaction guaranteed
Event gateways are no longer a enterprise only feature.
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.
@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.
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.
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.
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
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.
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.
No whitespace at all. Not a single line. Wow!
Damon
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.
And the other used application.cfm
I'll try to see where the gains lie, I have a theory, stay tuned.
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'
Can you say a little more about the "Validation query".
How and why you would use this ?
thanks john
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.
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.
But the fact that it can be almost entirely eliminated is impressive.
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.
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.
A
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.
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.