OK. Let's play a little game. I am giving each mem...
# adobe
m
OK. Let's play a little game. I am giving each member of the community here a token. šŸŖ™ If you could spend the token, and get 1 feature/update/change in ColdFusion, what would it be? Literally anything, sky is the limit here. Fantasy land. Pretend Mark just won the lottery and bought ColdFusion from Adobe, and wants to hear what the community would like to see in the product. Answer in thread, spend that token, let me hear your IDEA. Just like with Spiderman, everybody gets ONE. šŸ™‚ (Now, before you run in here with guns blazing telling me how democratic design of products is faulty logic, I know. I didn't win the lottery. I'm not taking every coin-idea in this thread and adding it to the product list. However, I am interested in hearing ideas. And who knows, there might be one or two geniuses among this rabble lol)
r
I'd vote for adding oAuth. That is assuming that you eventually roll out LambdašŸ˜‰
g
Request based query caching, heads up, lucee has this already... And better named exclusive lock debugging? Maybe some functions to get and clear active / blocking locks for extreme race conditions
a
config as code. Remove the need to use CFAdmin for anything and expose well-formed / documented config files (not the bloody impenetrable / ill-organised / aimed-at-a-computer XML ones it currently uses!!) that can be maintained in source control and used in deployments, and facilitating a devops approach to CF server config. Take a page from CFConfig, but do the job 100%. Also take notes from other platforms like MySQL etc which can have partial config files that act as overrides for central files. Ref: https://dev.mysql.com/doc/refman/8.0/en/option-files.html
m
GREAT suggestions guys. Seriously. I was expecting "MAKE IT FREE" or "ADD SPACE INVADERS" from at least one person. šŸ˜„ Adam, I'm going to go take a look at that documentation. This looks really interesting.
a
Am pretty sure "everything" these days is configured / managed via simple files that are intended for humans to manage & computers to read. And live in source control.
m
Oh, maybe we could create our own file format! Call it CFAML!!! (KIDDING! Put down the hammer! BTW that would have stood for ColdFusion Adam Markup Language, in case it wasn't clear.)
j
j
+1 for Adam's config as code. It's been awhile since I've done any system admin/dev ops stuff but it still frustrates me that with any other language I can easily wget it from within a bash script and install/configure it. Except for ColdFusion. Last time I checked I still have to login to Adobe before I can download anything.
a
1. Native OCR capabilities - under the hood Adobe can use tesseract OCR practices or whatever Adobe knows fit. 2. FileVersion Functions that duplicate the files and make it archive something like that will help to make versioning. 3. Native workflow engine, not sure if it has it.
m
If I can have two coins: I have a toss up between: • enhance QoQ to directly allow for LEFT OUTER JOINS • Continue to ADD support for more AWS services
a
I think "just enhance the QoQ SQL dialect" would be a good suggestion, rather than get too focused about it. Joins of any description would be a good start (this is me presuming CF's QoQ is still only a single-table thing? Haven't checked recently)
QoQ is a nice gimmick, but never really got beyond that. It would be pretty good if it supported joins.
g
OCR ? can't you just do that with a java lib ? file versioning, sounds like a software package written in CF ? BPMN, maybe something like this would be good ?
d
A faster compiler - not much good for lambdas / testbox test suites for me as everything gets bogged down in the compiler at startup
as a bonus - to go with SAML support in CF - SCIM support (System for Cross-domain Identity Management)
use cf's USP of making hard stuff easier
a
Split security updates and feature updates would be a win. Not actually a change in ColdFusion itself, so I get to keep my token šŸ™‚
m
My coin goes to fixing the ColdFusion admin auto-update process. That has never worked for us. We still have to do every update manually. The ColdFusion update process is too complicated. It shouldn't be. And there should not be additional steps needed to be done by the end user. That makes the whole process error prone and cause for confusion. Each update should be complete - i.e. don't need to go back and install update x before you can install this later update. I get cold sweats the night before needing to perform an update on our production ColdFusion servers.
a
And I don't think it should be done via a UI. Should really just need to do something like
apt upgrade coldfusion
or similar sort of thing.
I'm gonna cheekily add another suggestion. Proper exceptions (ie: proper exception objects). And extensible exceptions. I'm looking at a hand-cranked exception a framework vendor is throwing way down in the bowels of their application:
Copy code
throw(
    type="REDACTED.QueryParamValue",
    message="The value for `cfqueryparam` cannot be determined",
    extendedInfo="This is usually caused by a syntax error in the `WHERE` statement, such as forgetting to quote strings for example."
);
Thanks but there's not a single jot of useful information in there. I can't help but think that if they could have created a QueryParamException.cfc class, then that type of exception could also possibly include some context of what else was in play (like the rest of the args for the method or something) at the time so I have a hope of being able to work out WTF their code is doing wrong. This is a timely example, but I've needed proper exceptions in CFML for so long now. I've even tried to create me own exceptions in Java instead. I shouldn't have to do that.