What do YOU want next for ColdFusion?
I'm sure many of you are still reeling from the release of ColdFusion 8... I know I am :). ColdFusion 8 has some tremendous features and has really taken the community by storm. If you haven't checked it out... what are you waiting for!?? ColdFusion 8 provides a deep discount for upgrades from either ColdFusion 6 or ColdFusion 7 (~50%off)... so even if its been a while since you upgraded... now is the time.
But that's not what this post is about. This post is a call to action! We're looking for more of your ideas. We are so used to our fellow developers, customers, and friends telling us everything that's missing! And... to be honest this has died down a bit... which hopefully means you love what we've built... but we can and are still making it even better! :)
So... what are the top 10 features/improvements/etc that YOU want to see in the next release of ColdFusion?
Give me your worldy and sage advice! Hit me with it, I can take it!
:) Jason
P.S. We know there are issues out there... and we'll keep working on those, but this is about making the future of the product better for all of us. Let's keep this about positive improvements!
9/18 Update: I started a new thread here to continue this discussion... looking for more of your big picture ideas. :)

Example to return method pointer and invoke directly.
<cfset GetMethodPoint()() />
Example to return array object and reference directly:
<cfset GetArray()[ 5 ] />
Functionally, these make sense if you store them into a variable first, but it simply won't compile. I don't use this often, but sometimes it would be very nice.
<cfsetting enablecfoutputonly="true">
....
<cfoutput>#somevar#</cfoutput>
....
</cfsetting>
I you can use two CFSetting tags to turn on and then off the feature, but then you have to know about the rest of the app. The ability to segment off just one part would make the code somewhat app-agnostic.
(CF8 is already so cool, these are really minor ideas).
Compiling a CF app into an AIR app would be freaking sweet.
This leads to hard to debug issues if you don't use the tag exactly right. I'd like to see it switch to a boolean.
GetTagContext()
Which would return an array of the previously (including current) CFM templates that have executed in the current request. Basically, the same thing you can get by dumping out CFCatch objects.
getSessions/sessionCount - Yes, this is in the Server Monitor API, but it should be simpler functions w/o needing to use the API
onClientStart/Stop
getClients - CF stores all client info for an app in the db or registry. Why can't CF retrieve all the client info for an app? That could be useful for data mining.
More file support - by that i mean simple stuff to get metadata out of Office files, or check Office files, like, isWordFile, etc. A bit like what you guys did for PDF/Images. You don't have to go as far obviously.
* Further CFimage tweaking / speed increase, etc.
* CFVideo - Being able to save / create an video stream.
* CFAudio - being able to save / create an video stream.
* Password for CFZipped files.
* Someone mentioned being able to actually send mail through the cfexchange tag. <cfmail> isn't the same thing.
* Integrated excel file creation / cfexcel.
I'll think of more later.
First, and I have mentioned this before, I think being able to deploy something as AIR (whether JS or AS) is very important. Yes, the runtime is large, but who really wants the *entire* runtime available in an AIR app...what we need is a small subset. And what if there was some built-in communication between AIR and CF - as in, what if AIR could look to see if the user was connected and if so call a CFC on a remote server, and that server would respond with some format AIR could understand without having the need to build it using Webservices or REST.
CF8 brought some tighter CF - LCDS integration but I would love it if the standard CF/Flex integration were more compelling...something to give it more of an edge over using other languages than simply automatic data type conversions. For instance, what if my CFC to VO conversion went beyond passing property values and included the ability to innately call CFC methods within the VO? What if I could do something like <cfflexevent> and trigger some sort of event announcement in a Flex app (as in, what if Flex didn't just know about CF but CF knew about my Flex app).
Anyway, feel free to tell me I am nuts, but I just figured I would share some ideas that have been bouncing around in my head.
The onServerStart/Stop... those type of functions are now in CFApplication. Applications terminate before the server, so where would you tie that function to something else? It seems the same thing would be true for client also. And how would you define client start/stop?
The getSessions is part of enterprise only isn't it? (Which lead me to my concept of making things more global in that subject. Currently we just have a section of application that manages those things for some of our customers. Limited of course.)
See you and anyone else coming to CFUnited/Chicago in a couple of weeks!
- - - - - - -
(This is my wish list ... heh, so others can complain about some of these. They usually do.)
CFScript Enhancements... (native rather than UDF)
* complete try catch throw handlers
* abort
* location (to redirect like CFLocation)
(Think of it this way, when you use tags rather than script is it because you prefer tags or because there is a functional shortfall in the completeness of cfscript?)
Open CFR report files for generation of new report without manual passing through reporting tool.
Current Flex builder that takes flex and generates SWF files ready to go. (Or even AIR!)
Full functionality of EXT rather that pieces it now has. (Esp. in version 2.0)
Make the AJAX so it supports plug-ins! (Like jQuery.)
I would still like to see a community version of CF. :)
onServerStart/Stop would be accomplish by specifying a CFC to run in the CF Admin.
clientStartStop: WHen you enable client management, CF knows when you are a new client. Therefore, it should be trivial to run onClientStart. As for stop - well it would need to know what code to run when it performs cleanup. That may not be as easy.
The Server Monitor API is Enterprise only. One more reason I want a simpler getSessions.
I mean shoot - CF makes the sessions. It knows the sessions. Why can't I just grab them? Yes I can do that now manually by copying stuff in onSessionStart/Stop.
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
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
Add a new status column in the CF administrator for scheduled tasks showing if a task is currently active or paused. CF 8 added the ability to pause scheduled tasks via an icon/button, which is awesome. The problem is that when you pause a task, the icon changes, but it's hard to tell just by looking at the lsit which tasks are active, and which may have been paused. A status column would make this a lot easier to deal with.
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.
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.
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.
Please, please, please make the column list in the CF Admin for scheduled tasks sortable. I want to be able to sort my tasks by name, interval, status (active vs. paused), etc. This is super simple to do and would be very valuable for those of us with hundreds of scheduled tasks.
My $.02:
1) Setting a Client Timeout to mimic SessionTimeout (http://cfzen.instantspot.com/blog/index.cfm/2007/4...)
2) A cflocationDebug attribute (see http://cfzen.instantspot.com/blog/index.cfm/2007/4...)
3) http://cfzen.instantspot.com/blog/index.cfm/2007/3...
*** to be able to cut and paste the SQL statements from the classic debug output *even* when it you've been using cfqueryparam
*** the listed stack of templates that ran were sorted by the order they ran, instead of in descending order by longest-running
*** highlight cached queries and QoQ
*** figure out a way to speed up CF debugging, so that it doesn't bog things down so much when you turn it on in a CFC-heavy app (debugging CFCs seems to be the worst culprit)
4) something built-in that's more like http://cfcdoc.riaforge.org/ than the current way it's done
5) built-in support for CFUnit/CFCUnit
6) built-in front-end automated testing tools (something like Selenium IDE for FF)
7) default "Site-wide Error Handler", "Missing Template Handler" and " Site-wide Error Handler" template, so people who forget (or don't know) to always put at least something in there don't give users error information they *shouldn't* have
8) in the Server Monitor, the ability to log slow running pages/queries to a DB (like with SeeFusion)
9) also, like SeeFusion, de-couple the Server Monitor from CF itself, so if CF dies/hangs, the monitor can still effectively capture what happened
10) This one's a wild one, but I like to think big on wishlists. CF could somehow either alert me or prevent me from doing something that's a "BAD" practice (at compile-time, not run-time I suppose). Not all programmers are as *perfect* as you and I (*grin*), so it would be cool if CF would notice if I put more than, say 10K Evaluate() or CreateObject() calls within a loop, or if I didn't var function-specific properly in my CFCs, or unnecessarily put pound signs around variables. Just thinking out loud... er... via a blog comment.
thanks for asking what we want next!
So when you asked for a feature wishlist, I thought "What I really want isn't a feature at all".
I wish that there were some type of mentorship program available that takes newbies up to production level code.
There is a vast difference between reading about cfquery and actually using it correctly by instantiating a session scoped function.
As a matter of fact, I try to not use cfquery at all, but rather use stored procedures.
If you're going to spend dollars on resources, I would say to spend some of them on building a tighter ColdFusion community.
You might say that there's plenty of information available from Devnet to Lynda.com.
But part of the problem is that there's too much information available. The two manuals that come with CF are each over 1000 pages.
So after reading 2000 pages, where to begin? I know there's a Getting Started, but I'm thinking more along the lines of turning in an assignment and being graded.
I guess if ColdFusion isn't being taught in the schools we need to have a classroom of our own.
Lucene integration
64 bit Windows
Implicit constructors in cfcs that make use of the cfproperty tag to actually establish properties. Make them default to private properties and allow us to set other protection levels. Add something like a cfNew tag/function that lets you both create an instance of the object and pass in named parameters.
Implicit getters/setters of properties/variables in the private scope. They would be invoked in the form of myInstance.getMyProperty() and myInstance.setMyProperty(newValue). Data typing would be controlled by the corresponding cfproperty tag. If the developer actually writes a getter or setter, it would override the implicit one.
Add support for cftouch, cftaste and cfsmell tags. That way we can impact all 5 senses, although I'm not sure I want to see how some of you use them. I don't expect to see many of these (especially those last three), but, hey, I didn't expect to see interfaces either.
The reason I would like this is that we need to create spreadsheets that can be imported into quickbooks. So I'm thinking a tag that can loop over data, drop in a column name list, loop over some more data, create a math function somewhere and give me something I can then dump into Quickbooks.
Anyway, I've been using Flex quite a bit and now that I have gotten to use some of the nice features of AS 3 I would be interested in seeing:
- E4X type XML support to make getting info out of xml incredibly easy
- Implicit getter / setter functionality for CFCs;
I love the code being ignorant of whether I actually have a get or set function altering what goes on. Its clean and lets the developer think about what they are doing, not the object's logic.
Some other items:
- True inline structures and arrays that don't have a limit about putting function values in them, forcing named arguments when using an inline struct as function param, etc.
Currently, I'm accomplishing this on all versions of cf with a function accomplished this way:
<cffunction name="struct" returntype="struct" output="false">
<cfreturn Arguments />
</cffunction>
I have accomplished this with arrays, though less conveniently by looping over the Arguments to build a new array. Would be nice if this was built into the language
I love the new returnFormat ability of CFCs. This fits in perfect for making services available that any client can use easily. My only qualm is there is no returnFormat=XML. This would be really round out that list of formats with all the standard needs.
Also, what about really opening up some of the Ajax support added in 8, in terms of making a more standard means of upgrading the cf ajax tags and associated JS libraries, or even a simple way to add JS libraries to the header with tracking, so we can also check if they are already loaded for the page. This way when we create custom tags or modify CFs existing JS (like upgrading FCKEditor, etc.) our code does not break, and it really maintains flexibility.
With the FMS3 announcement it makes even more sense having CF dealing with a lot of video manipulation.
Also, Make LCDS deparmental as part of CF Enterprise.
1."CFScript Enhancements... (native rather than UDF)" dump, abort, location,throw...
2."Enhance the CF Scheduler so that it can operate in a cluster"
3"de-couple the Server Monitor from CF itself"
4.to be able to cut and paste the SQL statements from the classic debug output *even* when it you've been using cfqueryparam
5.make working with Java objects more Java-like
"onServerStart/Stop would be accomplish by specifying a CFC to run in the CF Admin"
What, like the Application.cfc itself? I think that what John is getting at. A way of automatically initialising the server or application (esp their scopes) on power up and reboot.
native insert, update and delete functionality via SQL of the underlying query structure (instead of using QueryAddRow or work-arounds querying out the data you don't want for updates and deletes).
not exactly ADO.NET feature-rich but it'll help get there...
I love the code being ignorant of whether I actually have a get or set function altering what goes on. Its clean and lets the developer think about what they are doing, not the object's logic."
2) +1 for CFScheduler improvements
3) CFVibrate (for Ben) :)
http://org-corfield-cfmx.googlecode.com/svn/trunk/...
@Jason - my #1 request, now that cfscript got so many enhancements in CF8, would be to enhance the function declaration in cfscript to support access, return type and argument types so I can say things like:
public void function foo(string arg, date when, path.toCFC object) { }
Then I get closer to writing my CFCs entirely in cfscript (see, for example, the ggcc55 example I posted on my blog for the new Fusebox 5.5 release).
I'll second the fn()() and fn()[5] syntax stuff that Ben requested too.
ColdFusion.runtime.call(cfcInstance,methodName,methodArgs)
where the latter is a HashMap. Or better still, add such a call() method directly to the CFC compiled Java type so you could say:
cfcInstance.call(methodName,methodArgs)
(so I wouldn't need the funky call() method in my base component.cfc :) )
- further enhance cfscript to make it == to the tags.
- resource bundle functionality.
- set timezone functionality
- and oh yeah, use icu4j for cf's i18n bits :-)
Regarding AIR, there is already API to provide those functionality you mentioned. Take a look into air.net package.
I'm sure I'll come up with more. :)
Why? Well.... I dunno, really. It's just an idea. I think it might help CF's appearance to the rest of the programming world. It might make it easier to leverage tools that are excellent already like flexbuilder. It might provide some easier to debug errors when compiled (at runtime!). Maybe I'm nuts. I dont know.
Oh - I really want to see more useful tools from Adobe. I've said it before and I'll say it again. I want to see ColdFusion Builder. I'll pay separately for it if need be (if it's good). The argument against this because of the excellent CFEclipse doesn't hold water in my opinion. (The Alagad Image Component was quite good too, if you get my point.) TOOLS! Make my job easier.
Oh - and make anything that is currently even vaguely hard and make it stupid easy. For example: connecting to and using LCDS. Anything anyone ever complains about being hard or tricky should be simplified and clarified and cleaned up.
Please go back and search the internet for complaints about each feature and see if you can log and fix them. For example, the wonkyness of cfdocument. Or the painfulness of xforms or the uselessness of flashforms, etc, etc. Bone up everything that's existing and take them to the next level in terms of usefulness and completeness.
That should be my last two cents for the moment.
1) VoIP capabilities - this would catapult CF into a new and fast growing market where it could dominate given everything else that CF can do. We're talking about the ability to get CF to run call centres, automated messaging systems, etc. There are so many possibilities if CF has this truly enterprise feature. And it's about time that CF branched out a bit more to capture a new user base. Adobe, think of the $$$$! :-)
2) Fairer licensing for using CF Std on a VM.
3) Free or VERY cheap license for students. I haven't been a student for 16 years but I recognise how important it is to get new people using CF. (MS are selling Office Ultimate to students for $80 or $25/year. Win them over while they're young and impressionable!) Today's students are tomorrow's developers.
4) Improved documentation including shorter example code (more like snippets and include the output/results so people can see what it does without having to copy, paste & execute).
5) Scheduling over a cluster (as Rob says)
6) Improved IM interface so CF is ready to work with Windows Messenger (formerly MSN) as well as Yahoo, ICQ, AOL, etc.
7) CF Ent customers should receive a card or email from Adobe Ent Customer Services introducing themselves and providing contact details to call if the Ent customer has a problem. I speak from personal experience and years of frustration.
8) Full SSL v3 support in CFHTTP (if this isn't already included in CF8?)
9) CFAUDIO to join, chop, mix, and convert audio files. Needs to work with files and audio in memory (binary obj). This would go nicely with CFVoIP functionality.
10) Brightness, contrast, gamma, colour balance functions added to CFIMAGE.
ColdFusion is already "free" for students via the ColdFusion developers version. WHy would a student need anything other than that to learn CF? While I personally am not the biggest fan of CFExclipse, it IS very powerful, and it's free. The combination of the Developer version of ColdFusion and CFEclipse are everything a student could need.
Heck - it would be a good use of cftooltip. :)
Again, I think this would round CF out a lot in terms of richness. Right now, going to Java is quite a leap in complexity for things many developers like to do in a script format. Maybe instead of making a script version of everything, you could have a standard way of interacting with the tags that would make that cleanly possible and keep from writing different versions of all those tags for cfscript.
Keep up the great work!
Mike.
One reason for this is there is a lot of functionality I would like to generally extend to all the sites hosted on my servers, some of which are functions I would love to see added to CF and some just really nice functions that Adobe may never have interest in building in to the language. So if on server start I could essentially add some functions to the language and store items like states and countries tables for all sites, etc. Again making CF a great tool, but an extendable tool that lets us really integrate with the language.
I'll really just have to blog post this stuff. Sorry for my comment quantity hehe.
Mike.
Possible behaviour:
- if called via normal HTTP fashion, it returns an automatic serializeJSON call on the return variable and prints to the page buffer (and does not do wddx encoding, which is the current behaviour when calling a CFC method over HTTP)
- if called via CF invocation, it returns the variable without serialization
- if called via SOAP returns the SOAP encoded value of the return variable
I've done a lot of this with www.examprofessor.com, but it wasn't for the faint of heart and required a lot of help from Laura Arguello. It is a flex type app using cold fusion remoting, flash forms, action script and I hoped Cold Fusion would continue in that direction.
To me, Flex and Cold Fusion should merge into one product.
CF 8 already does this with the returnFormat parameter.
Ex:
http://yourserver.com/demo.cfc?method=yourmethod&a...
I love this because the client can decide how they want the data back. Now if only it also had XML serialization.
Who would have thought that Ray Camden already has a blog post on this :-P
http://www.coldfusionjedi.com/index.cfm/2007/7/5/C...
Why would students want to spend time learning CF if they can't show their work to the rest of the uni or world? With PHP/.NET they can create something cool and show it off or let other students use whatever app they created. Their work has an instant effect and they can enjoy the feedback. If they're using CF Dev then their work is restricted to their eyes only which is absolutely no fun and possibly pointless to a student.
When I was a student (pre-web) I used to write fun demos (music+gfx) but if I was unable to let the rest of the world see it at no cost to myself I wouldn't have pursued it for long or bothered to become better at it.
If Adobe don't want to give away free or dirt cheap copies of CF then how about providing just 1 free copy to each Uni that requests one for all students to use on a shared host? Or Adobe could offer students free hosting. Sorry to bang on about it but I want to be sure that I can find plenty of fresh CF talent to hire in the years to come.
If that would break other features (like backwards compatibility with old browsers) then a choice of standards or non-standards version.
I'd also like to see the source of the admin opened up, not necessarily open-sourced per see. But I'd love to be able to change the authentication/authorization model if I wanted to. Sure I can write a app to do this with the admin api's but why should I when all I want to do is tweak the admin.
What would be really really nice would be within the code hinting to have a taghelp that called up the relevant examples/snippets.
For me as a newbie being able to use the functions in the software to their full potential is the biggest advance that could be done. How many of us have trawled google for how to get a tag to do something and either found the help on an obscure blog or never found it? This type of help should be included at launch.
My pennies worth.
Keep up the good work by the way as Coldfusion is superb.
Peter
Make the new syntax introduced in CF8 that allows you to define CF structs and arrays in a JSON - like format able to handle nested structs and arrays. And if you can swing it, CFCs too.
Transactional email sending. I have a way of doing this right now, but I'd like something built in. Basically, if I have the scenario below: <cftransaction> <cfquery>..</cfquery> <cfmail>..</cfmail> <some code that bombs> </cfstransaction> I want the email that was sent via CFmail to NOT be sent it the cftransaction did NOT commit. Adding a new attribute to CFMAIL like "transactional=true" to enable this functionality would be nice. Maybe by default, if cfmail is located within cftransaction tags CF would automatically make it transactional unless the transactional attribute was specified (so you can have a manual override if needed and the convenience of not having to thing about making the email transactiona)l.
I'm sure I'll have more ideas soon.
I'd like for cfinvoke to be able to translate numerically keyed argument struct into the appropriate arguments. I.e. when you get back a argument struct from onMissingMethod, if it wasn't called via a name param, you get them back in the struct keyed as '1', '2', '3'... 'n'.
Currently you have to map them back on the fly to the named param on the function, which is painful, and slow as you have to do a metadata call, and then matching. Be much nicer for doing dynamic invocation if cfinvoke did that for you.
I would LOVE to see a tool like JavaDoc for CFCs that will output Html CFCDocs for you.
I would love to see some sort of in built 'cluster' scope, or cluster cache. I have *no* idea how you would actually implement this, considering the network issues, but it would be very very cool.
That's all I can think of right off the top of my head, cf8 is a great piece of software!
I would love to see in cfscript that the for(a in collection) support arrays, as well as structs, for easier looping around collections.
We now have it in <cfloop>, but it would be handy if it was also in cfscript.
If that syntax is bad, the for(a : collection) could be a nice alternative, as per Java 5.
http://extjs.com/blog/2007/09/06/ext-20-a-preview/...
It looks really good.
My number one request at this point is that ColdFusion should generate valid HTML/XHTML code. It's sad that in 2007 ColdFusion is still generating invalid markup.
I'm not going to reiterate all of the reasons and specific complaints in this comment. For more information see:
http://www.richarddavies.us/archives/2007/08/coldf...
http://www.numtopia.com/terry/blog/archives/2007/0...
http://www.numtopia.com/terry/blog/archives/2007/0...
Because the definition of "valid" depends upon the particular doctype the developer is using, maybe there should be something like <cfsetting doctype="XHTML 1.0 Strict"> to allow the developer to declare what doctype they are using and allow CF to adjust it's markup accordingly.
- CFScript enhancements. We had discussed a language="" attribute a while back, but with it or not, I think being able to declare types and accessors via script would be great. I would probably prefer AS3 syntax over java.
- Resource bundle functionality
- finally / <cffinally>
- cfscript java5 style looping for collections
- ajax UI updates with ext
- generate XHTML valid code by default, always
And off the top of my own head...
- OCR
- Flash video converter
- maybe some light video editing tools like merging, clipping, extracting audio or stills
- Eclipse plug-in enhancements: Fix the text editing for the SQL editor, needs basic functions like syntax highlighting, block indenting/deindenting, etc., give it some love.
- Hire some programmers for Mark Drew & CFEclipse. Great tools = great experiences.
- Enterprise messaging i.e. JMS - implement both server & client
Thanks for listening, I can't wait to hear what Adobe decide on.
http://www.cfinsider.com/index.cfm/2007/9/18/Futur...
I'd really echo Doug Hughes' sentiments... CF could benefit from a major image overhaul that might include changing the name and/or the language, to drastically improve perception in the business and development world. Being able to write in an AS3-style script for CF services would be sweet. Being taken seriously by the rest of the development world wouldn't hurt either!
Also continuing to improve on features that are great ideas in concept (like what you've done with CFFORM, CFDOCUMENT) but leave something to be desired in execution (CFREPORT - disclaimer - I have not used CF8 for reports yet!). I know it's impossible to know every bastardization of a use that your customers will try before launching -- I don't think anyone expects perfection the first time around -- but the important part is that once you get the feedback, that these features continue to move forward. I know of many cases where a company looked at a feature like CFDOCUMENT and said that's great, but "we really need XYZ so we still have to go with a third party product". That's where making improvements to previously implemented features can make a difference.
A proper IDE would do wonders too.
2) Windows Authentication. I would really, really like to be able to carry over the windows login credentials that the browser submits through to <cfquery> <cfldap> and the Outlook integration tags in CF8
3) Ability to build CFCs which implement native ColdFusion interfaces such as Queries, Structures, etc. For example, I'd like to be able to create an object which implements the Query interface, so I can <cfloop query="..."> over it.
4) In fact, a few other options in <cfloop>, such as <cfloop array="">
5) Virtual functions in CFCs would be nice, but not a big deal in my mind.
6) queryGetRow(query, rowNum), queryDeleteRow(query, rowNum) and queryInsertRow(query, rowNum, rowvalues) functions
7) CFCs as native cfscript, so I can <cfcomponent language="cfscript">public void .... </cfcomponent>
8) Possible support for a more python/rubyeseque CFScript language. Semicolons and curlybraces are comfortable for C/Java/C# folks, but there's less and less reason for them with modern compilers.
<cfcomponent extends="../../Application.cfc">...</cfcomponent>
I am not a fan of mapped paths.
Don't add a thing, fix what is broken now.
Seriously, the CF dev team keeps adding more and more crap to this product. Just fix the stupid thing so it doesn't crash and runs like a champ. And if they add one more stupid AJAX tag, I'm going smack someone.
How about adding a Java class whitelist to the sandboxes?
I know about 8's new option to prevent using CF's server classes, but might be extremely useful in hosting if the Admin could enable createobject(java) for a sandbox but limit it to some list of relatively safe classes/packages, like StringBuffer, java.util.Date, etc, but not Runtime or other hosting nightmares. Since we use a string of the classname to create the object, maybe we could have a textarea to enter a list of classnames?
I think this is actually a really bad idea. Lots of people develop with Java inline with ColdFusion, and being forced to whitelist all the possible classes that people *could* use would be a nightmare - especially once you get into custom Java code!
The current CF8 restriction covers all the security issues (although it is a little over zealous in my opinion, I mean, you can't cfdump a Java object with it on!), so why would you want to lock it down further?
The power of Java with CF is one of its strongest features IMHO, so why would you want to restrict it even further?
2) full support for jsp1.2 (yes I know jrun will need updated)
3) +1 on Seans comments about invoking CFCs easier from java
The ability to do java style "imports" with packages, or at least do some sort of package mapping. It's annoying to have to type long package names, and hard-code package names in my code.
Also, it would be nice to just be able to use a "new" language construct instead of createObject("component","...."). If you could make the "new" construct check if there's an "init" method, and call that too, that would totally rock.
A single admin interface for all servers in the cluster. Sharing settings that need to be shared and managing things like timed jobs to run on the server that is active.
Separation of the performance monitoring tools from the admin interface so that you can view the server when it is having problems.