Viewing Individual Entry / Main
  ::   May 12, 2004

My Blackstone Wishlist
I know several people have already blogged CF MX 7 (Blackstone) feature requests, but I figured I'd share the list of features I've been compiling. This list represents enhancements that I along with many other developers have been asking for, some of them going back several versions of CF. I've submitted this entire list to Macromedia, but I wanted to see what others out there think. I realize that some are much more doable than others, and that some of my requests fall within the category of "niche" feature, but I thought I would share nonetheless:
  1. tag for spawning multiple threads for asynch processing
  2. As mentioned by others, event based session/application/server functions: onSessionStart(), onSessionEnd(), onApplicationStart(), onApplicationEnd(), onServerStart() and onServerEnd(). Along these lines, I'd like to see an XML based config file that runs when the server is restarted. This XML file could contain info on queries to automatically run and default variables to be assigned for the server/applications
  3. 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
  4. 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
  5. 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
  6. Add interfaces to CFCs
  7. cfconstructor tag for use in CFCs and deprecate the pseudo constructor area
  8. Deprecate cfscript and add ActionScript 2.0 support. You could easily do this by adding a new attribute called "language" to the cfscript tag where language="actionscript" or something like that. This way, existing cfscript would continue to work
  9. Overloading for functions and CFCs
  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 SMTP tags
  14. Functions/tags for image manipulation
  15. Tags/functions for manipulating PDF. I saw the Max preview and was impressed with the cfdocument tag. I think this is a good start. I think for the report type, you also want to add Flash Paper in addition to HTML and PDF. Excel would rock.
  16. 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.
  17. Add the Lotus Notes JDBC driver, free from IBM to the list of native drivers
  18. Tags/functions for dealing with Zip files
  19. Fix reFind() and reFindNoCase() to return the positions for all matched subexpressions
  20. Spell check tag
  21. Wrap up all hot fix in a Zero G installer so that they can easily be backed out. Also, 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
  22. JDO support if you can think of a way to do this
  23. 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
  24. 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.
  25. Add XMLDoc as a return types for methods in CFCs. Right now, you can't return a CF XML Document from a CFC as a native type
  26. 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
  27. cfsocket tag (like in DRK5)
  28. 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.
  29. In the CF Admin (and programmatically), give us a way to see and admin (expire) cached queries.
  30. 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.
  31. More metadata in the cfquery result set. I'd like to see the size (bytes) of the returned record set, column types, etc
  32. Official framework for unit testing CFCs
  33. 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.
  34. Make the cfproperty tag actually define properties for CFCs as opposed to just for web services and meta data.
  35. 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.
  36. Add XML validation against a DTD
  37. Integrate with JMS
  38. 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.
  39. 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
  40. Make the installer for deploying multiple instances of CFMX easier
  41. 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
  42. Make it easier to tie a different jvm classpath to each instance of CFMX when using multiple instances.



Calendar
Sun Mon Tue Wed Thu Fri Sat
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

Recommended Reading
Coldfusion MX Developer's Handbook

Archives by Subject
Announcements (28)
ColdFusion (61)
Database (12)
Dreamweaver (1)
Flash (2)
Flash Remoting (2)
Flex (3)
General Development (2)
Homesite + (1)
Mach-II (3)
MAX (9)
Mozilla (2)
Music (1)
Politics (1)
Portals (2)
Travel (2)

Search

Links
CFLib.org
Raymond Camden's Blog
Christian Cantrell's Blog
Sean Corfield's Blog
Nathan Dintenfass' Blog
Todd Rafferty's Blog
Steve Rittler's Blog
Cameron Childress's Blog

Credits
Based on blog.cfc by Raymond Camden

XML Feed