At the urging of several people, I've taken my Blackstone Wishlist, stripped out requests that made it into CFMX 7, 7.0.1, and 7.0.2 as well as requests that have already been mentioned on a plethora of other blogs (many of which I would like to see), and came up with the following things I'd like to see considered for the ColdFusion MX 8 (Scorpio) release. Apologies for any requests that may have already been mentioned on other blogs.

Drum roll please (in no particular order)...

  1. I'd like to see a config file (CF, XML or otherwise) that runs when the server is restarted. This file could contain info on queries to automatically run and default variables to be assigned for the server or defined applications.
  2. Add functions to programmatically list all current sessions/applications on a server (without the Java workarounds we're currently using). Include info such as when the session/application was started, how long until expiration and whether or not it has already expired. Examples are getSessions(), getClients(), getApplications(), getSession(), getApplication(), etc
  3. Enhance the CF Scheduler so that it can operate in a cluster. I want to synchronize events between servers in a cluster so that you can setup a scheduled task on any server, and it would replicate out to all the other servers (similar to the buddy server concept), but the event would only fire on a single server, not on all of them at once
  4. Further enhance the cf scheduler to use its own thread count (as opposed to the one that's defined in the CF Admin now). This would allow the scheduler to use a different threading model than "active" applications on the server
  5. Ability to put a scheduled task on hold. Currently there's no way to temporarily disable the execution of a schedule task without deleting it (or changing the execution URL to a non existent page).
  6. Addition of weekday and weekend only durations. Currently, you can schedule a task to execute daily every n hours/minutes/seconds, but there's no way to specify you want this to occur only Monday through Friday (business days) or only on Saturday and Sunday. Sure you can code this into the pages you are executing, but that code has to be used with each task. It's much better if this can be made part of the scheduler.
  7. Task execution redundancy. Currently, if a scheduled task fails to execute (for instance if the server is being rebooted during execution time), there's no mechanism in place to automatically attempt to re-run a task. I've built this type of redundancy into several applications I've written that have scheduled tasks, but again, it has to be done on a per application/per server basis.
  8. Better reporting on task execution. I'd love to see a new column on the ColdFusion Administrator page for scheduled tasks that shows the last date/time the task was successfully executed as well as the next date/time the task was scheduled to execute. This would be invaluable for monitoring and troubleshooting.
  9. Deprecate cfscript. This would keep people from asking for more enhancements, when it's probably not going to happen. I used to be for enhancing cfscript, or throwing it out and allowing ActionScript in CF instead, but these days, I'm perfectly happy with all tags (I guess I'm mellowing out in my old age).
  10. Mechanism for dealing with name conflicts (overriding) with native CF functions/tags in order to future proof. So, if I already have a UDF called wrap(), upgrading my version of CF won't break my app when CF get's its own wrap() function
  11. Build stronger partnerships with companies like IBM, Actuate, etc to get support for CF into their products
  12. Make CF's security framework more granular. I always need an additional level of security beyond roles. How about groups, roles, and permissions. While you are at it, give us a way to programatically get a list of users currently logged in, their roles/permissions, etc
  13. Add IMAP, NNTP, and SNMP tags
  14. Since there is already support for Crystal Reports via cfreport, I'd like to see integration with Actuate too. It's J2EE based, so I would think that there are several integration points possible here.
  15. Add the Lotus Notes JDBC driver, free from IBM to the list of native drivers
  16. Fix reFind() and reFindNoCase() to return the positions for all matched subexpressions
  17. Spell check tag
  18. When a hotfix is applied, log it in a server var available in the CF Admin so that an admin can tell what hot fixes have been applied
  19. Add a TRACE attribute to CFQUERY for debugging so that we can see what CF is doing with the underlying JDBC driver. Most drivers have a trace capability that can be logged to a text file, but I'd like to see what's happening from a CF's perspective so I can see exactly what calls to my drivers it is making
  20. Scrap the JS validation in CFFORM and implement the qForms JS API from PengoWorks. It's much more powerful, flexible, and extensible and works very well with CF.
  21. Add an interface to the CF Admin to allow me to "reset" a datasource without having to restart the CF server. Right now, several of my iSeries DB2 data sources (JTOpen driver) occasionally hang. The rest of the CF server is fine as are the rest of my data sources. In order to free the hung data source, I have to restart my CF Application Server service. I would rather kill the connection to the hung data source and restart it (if that's how it works) without having to restart the server. It would be even better if I could to this programmatically, so I could call it from a cfcatch block if I detected the specific error a hang causes
  22. cfsocket tag (like in DRK5)
  23. Better caching than cfcache provides. See Brandon Purcel's CF_Accelerate. Not sure if you could replace cfcache with this or if it would be a new tag. I'd also like to see improved query caching options.
  24. In the CF Admin (and programmatically), give us a way to see and admin (expire) cached queries.
  25. Allow for mappings on an application level so that mappings defined in the CF Admin can apply to either the entire server, or a specific application.
  26. Official framework for unit testing CFCs
  27. Support for portlets as outlined in JSR 168 and JSR 170. I'd really like to see the ability to create a portlet in CFML, then have CF generate a WAR file for the portlet that can be deployed to any compliant portal server.
  28. Allow parameters for the JDBC URL to be passed dynamically at run time if possible. For example, right now, if I want to add an extra parameter to my data source just for testing, I can't do it from the cfquery tag. I have to go in and make the change in the CF Admin, and then change it back later if I want to "undo" it.
  29. Integrate with JMS (I know that Sean worked on an example JMS gateway, but I'd like to see it become "official")
  30. Allow sorting scheduled tasks within the CF Admin alphabetically by name, or time (interval). I have a server with 600+ scheduled tasks, and I'd like to group by time so I can tell whether I need to move any to a different time to avoid using too many of my server's available threads.
  31. Within a CFC method (and a UDF), allow us to VAR variables anywhere, not just at the beginning of the method. I often need to var a variable with a value that is dependant upon another condition (such as a conditional based on an argument being passed in). Because I have to var before any other cfml statements, I first have to var the variable and set it to empty (var=""), then do the conditional later. I'd like to see VAR implemented like in JavaScript. It would be great to var a loop variable inline, as opposed to at the top of the page for example
  32. Make it possible to deploy a "clone" of an existing instance of a CFMX deployment right from within the CF Admin of that instance. Similar to your archive and deploy, but have the deploy actually create the new instance and then clone the original
  33. Make it easier to tie a different jvm classpath to each instance of CFMX when using multiple instances.