ColdFusion 9 WishList Calling for suggestions

Word Count: 114

I would really like to find out what developers are looking for in the next version of ColdFusion. I am trying to put together a wish list to pass on to the engineering team (I know I am behind on this, sorry guys) and I am drawing a blank. I have a list of about 5 things right now so I could really use some feedback. After I get some feedback I will expand on this next week and we will see if we can grow this list to help the team out. Remember they are building the product for you, let your voice be heard!


Comments

#1 Posted By: Kris Brixon Posted On: 3/21/08 12:02 PM
I would love to be able to use the Query-of-Queries to query any collection (List, Array, File, ...). A new feature in .NET 3.5 is LINQ that allows SQL like querying of most any collection. Or maybe similar to how LogParser works which lets you use SQL like querying on files.
#2 Posted By: Dan Vega Posted On: 3/21/08 12:05 PM |
Author Comment
I guess I have just always found a solution for those situations never to really think about it. With all of the list and array methods I am wondering where this would come in hand? Good start though, thanks for your thoughts!
#3 Posted By: Raul Riera Posted On: 3/21/08 12:08 PM
To include Spry as the AJAX built in
#4 Posted By: Nolan Erck Posted On: 3/21/08 12:22 PM
There was a "feature" added to CF8 -- the ability to dynamically build Flex SWFs in your CF code. I've got a mention of it on my blog:

http://www.southofshasta.com/blog/index.cfm/2007/1...

...however (as you'll see by the comments in that blog post), nobody seems to have found a "real world" use for that. Partially this is due to the fact that each dynamically generated SWF creates a new, temporary (used only once?) SWF file. This makes using such a feature very limited; I can't use it for anything with dynamic data, without running the risk of filling the hard disk with hundreds of once-used SWF files, etc.

I'd love to build Flex SWFs on the fly, but it needs to be more "real world" applicable than it is in version 8. Perhaps some sort of client-side "proxy" SWF movie can exist that gets passed in-memory flex code (rather than yet another SWF on the disk being auto-generated). Maybe the new RSL functionality in Flex 3 could be extended and used in this fashion? So an entire "movie" isnt sent to the client, but a smaller RSL (or similar)file is passed to the "proxy movie" that then runs the SWF?

I realize something like this would probably have a performance hit to it. However I say "leave that to the developer to deal with". If I make the call that it's ok for my app to use this feature, then it's also my "fault" if the app is slow(er).

Hopefully that made some sense; thanks for your time. :)

-Nolan
#5 Posted By: Dan Vega Posted On: 3/21/08 12:25 PM |
Author Comment
That actually makes a lot of sense. One of the items on my list was tighter Flex integration but I was not sure about the right questions to ask. Thanks!
#6 Posted By: Pritesh Posted On: 3/21/08 12:25 PM
More flexible AJAX tags.. Currently cf 8 providing AJAX tag but still in extent where .NET are there. More improvement and more flexible so programmer can implement without knowledge of extjs.
#7 Posted By: Matt Woodward Posted On: 3/21/08 12:54 PM
1. support for nulls

2. ability to instantiation cfcs from in-memory variables (iow, don't make me write to disk only to turn around and do create object from that concrete file)

3. built-in ORM capabilities, preferably Hibernate under the hood

4. flatten="true' attribute on cfpdfform when action="populate" and using the destination attribute

5. low on the list, but total cfscript support so I could, if I wanted to, write entirely in cfscript (I go back and forth on this but having the option would be nice)

6. support for creating a jar-like construct with cfcs

I'll stop there for now. ;-)
#8 Posted By: tony petruzzi Posted On: 3/21/08 1:00 PM
damn you Kris... I was just about to write that and saw your comment :)
#9 Posted By: Dan Vega Posted On: 3/21/08 1:03 PM |
Author Comment
@Matt - Great suggestions! I really like the idea of jar-like constructs for cfcs..Thanks!
#10 Posted By: Tony Petruzzi Posted On: 3/21/08 1:10 PM
Formal constructors for CFC (instead of the adhock init method).

The ability to declare multiple constructors.

fix cfdocument (border-collapse bug)
#11 Posted By: Tom Mollerus Posted On: 3/21/08 2:20 PM
Now that we're all using cfqueryparam in every query, it would be nice if the cfsqltype attribute didn't require the "cf_sql_" at the beginning of every value and save our fingers some typing.
#12 Posted By: RyanTJ Posted On: 3/21/08 2:29 PM
Easier Hibernate integration.
Support for more graph types, like the ones webCharts already supports.

Better enterprise tools like:
The ability to change a DSN login across multiple cf instances/servers at once.
#13 Posted By: Amy Posted On: 3/21/08 4:16 PM
Supporting multiple-page Tiff from cfimage
#14 Posted By: Mark Flewelltn Posted On: 3/21/08 6:33 PM
New tag called cfvideo which did video conversion into a flash format etc
#15 Posted By: Nolan Erck Posted On: 3/21/08 6:49 PM
That last comment reminded me of 2 more ideas:

CFPodCast -- a CF tag that will dynamically make a Flex SWF streaming MP3 "widget" on the client. Not a Flex widget -- I want to be able to customize it on the server (preload it with specific MP3s, change the colors, security settings, whatever) *before* it hits the client.

...and in regards to the cfvideo tag mentioned above, I'd love a "video" version of the cfPodCast tag I just described. Can we build a dynamic flex based streaming video "UI widget"? and have it start as CF code so various options can be controlled by the server first? (i.e. pre-load it with specific videos, etc).

thanks.
#16 Posted By: Mark Holton Posted On: 3/21/08 7:52 PM
I'd like to see the ability to:

** access CFC's via RELATIVE path. To be able to do something like:
<cfset cfcpath = "../models/foo.cfc">
<cfinvoke component="#cfcpath#" method="baz" data="#input_string#" returnvariable="sReturn" />

** a CF chaining construct. Similar to Array#each, Hash#each et al in Ruby (and even JS for that matter). I'll leave it up to the CF team determine how they want the chaining syntax to look in tags (maybe it's only accessible via cfscript).

** "built-in ORM capabilities, preferably Hibernate under the hood" ...I second that suggestion. Would be an asset. Very ActiveRecord-esque. Pick some of the base commonalities between Hibernate and ActiveRecord and start from there.
#17 Posted By: brett Posted On: 3/21/08 8:05 PM
1. File upload progress control (with multi-file support)

2. charts..add funnel & pyramid types

3. More control over "automagically" inserted cf code, i.e for cfform, bundle js in tidy externals.

4. Built in support for dealing with undeliverable mail in the domino administrator.

5. Alerts for specific log events, generate an email /sms etc..

6. quicker support for latest version of os x.

7. support for full search friendly / simple URL's. e.g
/page.cfm?id=1 becomes /page/id/1

8. built in unit testing

9. Adobe to show more support for Open Source community developed projects

10. kill or upgrade the exchange area of the adobe website its not very useful.

11. add ability to send email via MS exchange tags (it will only become truly useful when this happens)
#18 Posted By: zac spitzer Posted On: 3/21/08 8:41 PM
1) I have long wanted to see an NULL="AUTO" option for CFQUERYPARAM

2) adding a shorter alias tag for CFQUERYPARAM as well, something like CFBIND, it would really help the verboseness of using such lots of bound variables in SQL.

3) Correct error reporting for nested function calls. For example an error in buy.cfc in the following example dog.feed(shop.buy("dogfood",creditcard.offer() )) will often be reported in the wrong CFC or template

4) Support for generating a CFC which model's an XML schema..

ps: your blog lost my comment when it told me the captacha test was wrong, which it wasn't btw...
#19 Posted By: Mike Kelp Posted On: 3/22/08 2:33 AM
Off the top of my head:
1) Allow us to specify case insensitivity with query of queries
2) Full support for inline structures
3) namespacing like cfimport prefixing at the application / server level so we could define cf tag libraries similar to java
4) Better return format support on cfc method calls (IE: automatically convert my results to whatever format the client requests and allow xml as one) This is a great feature that just needs to be filled out better.
5) Viewable examples in the CF documentation
6) Update support for tags like cfmail so they can handle secure connections
7) Give us user management for cfadmin in standard
8) E4X type xml support (makes dealing with XML a breeze)
#20 Posted By: David Ryan Posted On: 3/22/08 7:01 AM
Ability to build FULL BLOWN Flex application using CFML and Actionscript. It should not be a stripped down version like flash forms.
#21 Posted By: Thomas Messier Posted On: 3/22/08 5:20 PM
I'd like them to extend the shorthand array/struct creation to allow nesting, so you could do:

&lt;cfset config = [
   { first:'John', last:'Doe' },
   { first:'Paul', last:'White' }
] /&gt;
#22 Posted By: Dan Vega Posted On: 3/22/08 5:27 PM |
Author Comment
@Thomas - Ben already wrote about this. You will be able to do this when updater 2 comes out.

http://www.forta.com/blog/index.cfm/2008/2/29/Impl...
#23 Posted By: Thomas Messier Posted On: 3/22/08 5:32 PM
Oh, awesome, hadn't seen that!
#24 Posted By: Leon Posted On: 3/23/08 9:59 PM
I would like to see ease of use for:
1. Combo box in a flash cfgrid,
2. href in a flash cfgrid
#25 Posted By: Steve Posted On: 3/27/08 10:14 AM
Mail queue throttle control. For example, if my app dumps 10,000 messages into the mail spool, it'd be great to have a setting - either in the server or in the cfmail tag - that told the server how many to pass off at X intervals to the smtp servers - i.e., send a max of 50 messages every 30 seconds until the spool is empty.

Even better would be the ability to re-order the queue so that only xx number of messages to a certain domain (aka yahoo.com) per spool parsing would be sent.
#26 Posted By: David Boyer Posted On: 3/28/08 8:27 AM
CF Tags for using the Apache POI library to create binary excel files. If it's already in ColdFusion, why not help us take advantage of it.

Oh and my fave bug/non-feature...

Named arguments in scoped functions, so that variables.foo(bar = 'foobar') works since foo(bar = 'foobar') already works. Same goes for functions put in other scopes or inside structures. :)
#27 Posted By: todd sharp Posted On: 3/28/08 3:54 PM
@David Ryan: FWIW, flash forms are no longer 'stripped down' in CF 8. All keyword restrictions, etc have been removed. It should be said though (and anyone, feel free to correct me because I'm probably a bit off on this), that flash forms were built on Flex 1.5(?) which was a *server* product that compiled the SWF on the server. Flex >2 compiles the SWF locally which is then deployed to the server. So we're talking about 2 totally different things here. So it's really not that easy to just 'upgrade' flash forms to a higher version of Flex. I'm curious though, as to why so many people want CF/Flex solutions. MXML is really not all that difficult to use/learn. What is the motivation for some of you? Cost? Dynamic code? Just curious...
#28 Posted By: todd sharp Posted On: 3/28/08 3:55 PM
PS - if cost *is* the issue, don't forget that the Flex SDK is free...
#29 Posted By: Michael Posted On: 3/31/08 5:20 AM
a short list:
- nested transactions (by name)
- handling empty elements in list functions (turn on/off)
- new CFARGUMENT attributes: CALLBY="reference|value", list="Yes|No" and "max, min, pattern" from CFPARAM
- CFCSV, CFGPS, CFCRAWLER, CFDOC, CFXLS, CFSKYPE/CFMESSENGER, CFCLUSTER, CFSOUND/CFCHAT/CFVOIP/CFTALK, CFVIDEO/CFTV, CFJSR170, CFAMF
- compare(arg1, arg2) for structs, arrays and even queries results in: 0=equal, 1=not equal, -1=arg2 extends arg1, having more keys/rows
- replace(string, sub, sub2 [, scope [, start [, end] ] ]) == scope:   LAST / REST; start:   default value is 1; end:   -1 = len(string)
- find(sub, string [, start [, end [, scope] ] ] == start:   default value is 1; end:   -1 = len(string); scope:   FIRST / LAST
- cluster features: clear memory caches for all, cfsharefile so file is in short time available on all servers
- A function to get current settings of certain tags; rule: if you can set something there must be a function to get information about it; examples: cfschedule jobs, cftransaction isolation level, CFSETTING enablecfoutputonly/showdebugoutput, CFERROR template...
- see below: useTag(), execTag()
- see below: tag defaults

especially I second the mentioned:
- Query-of-Queries to query any collection
- Named arguments in scoped functions, so I can make use of the super scope in cfc


== useTag(), execTag() ==

useTag(tag="cfqueryparam", innerCode="", attributecollection="#structX#", text="")
tt = useTag(tag='cfquery', attributecollection={name="qData", datasource=dsn},
   innerCode = 'SELECT fieldlist
               FROM tablename
               WHERE columnanme LIKE #useTag(tag="cfqueryparam", attributecollection={value=searchstr, cfsqltype="CF_SQL_VARCHAR"} )#
            ');
execTag(tt);

This would make anything usable in CFSCRIPT and in EVALUATE()
and there is no need to make functions out of any tag in CF9.

useTag(tag="cfloop", attributecollection={from="1", to="10", index="iii"} innerCode=useTag(tag="cfset", text="t = iii") )



== tag defaults ==

Setting default attributes for tags (usually placed in 'Application.cfc') so you don't have to write always all attributes again and again.
<cftagdefault tag="cffile" action="READ">
   <cfsettagdefault name="charset" value="iso-8859-1">
</cfdefault>

<cftagdefault tag="cffile" action="WRITE">
   <cfsettagdefault name="mode" value="644">
</cfdefault>

<cftagdefault tag="cfquery">
   <cfsettagdefault name="datasource" value="mydb">
</cfdefault>

<cftagdefault tag="cfhttp">
   <cfsettagdefault name="proxyserver" value="127.0.0.1">
   <cfsettagdefault name="proxyPort" value="9999">
</cfdefault>

example:
<cffile action="READ" usedefaults="yes" ...>
#30 Posted By: Ed Posted On: 4/7/08 8:34 PM
gui to work with jvm/jrun settings on a per instance basis in multi-server environment

easier/assisted setup for debugging
#31 Posted By: Patrick Posted On: 5/8/08 7:28 AM
I would see a new tag <cfssh user="" pass="" server="">some linux / unix commands to run</cfssh>. At the moment i have to use ssh = createObject("java","com.trilead.ssh2.Connection").init("localhost"); to do this job.


Post Your Comment







Show Captcha

If you subscribe, any new posts to this thread will be sent to your email address.

Copyright © 2007 Dan Vega | BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.