Be the change...

After a long time of complaining about it, I've finally decided to start doing something about the CFScript compatibility (or lack thereof) in ColdFusion 9 and later.
As of CF9, some of the new script functionality is implemented as CFCs, and the code is not at all obfuscated. We can see and modify the source. You can find them in {cf-root}/CustomTags/com/adobe/coldfusion/. It's debatable whether or not writing CFScript language this way is a Good Idea™, but for better or worse, it's there.
And you know we can add our own CFCs to that folder, right? And when you do, you don't even have to restart the service, your new code just starts working immediately.
So, in order to be the change I've started two things:
- An "organization" on github named CFCommunity
- A repository that belongs to that organization --CFScript-Community-Components-- for the purpose of building and sharing CFC's to fill in the gaps in the language.
I've already pushed my attempt (most of them fully tested and working to my satisfaction) at: CFContent, CFFlush, CFHTMLHead, CFRegistry, and CFSchedule. And there's still lots of low-hanging fruit!
I'm happy to let anyone into the organization who would like to contribute. How do you get added to the organization? Simple: send 1 pull request that improves the code or documentation of the project in some meaningful way.
I know, I know... some of you are saying, "But I've never done a pull request before!" or worse, "I've never done anything with git before!" Well? Now's your chance. Really, honestly, truly: It's not that hard.
If you are motivated enough about this goal, to improve the CFScript language, then I hope you'll take this as an opportunity to learn something new (git + pull requests) in order to participate. Plus, it shows a certain level of commitment and motivation. Those are the types of people we want making changes! After your first pull request is merged, you'll be added to the organization, and then you can just commit directly to the repository.
The readme lists all* of the tags that are currently missing from cfscript, broken up into some sort of priority classification. Feel free to disagree on the classifications -- they are just the opinions of a couple of people who have contributed so far. In fact, changing them up a bit could be your pull request. :)
Of course, I'm not the first to have this idea. Ray has already released his components for cfsearch and cfindex. I'm just trying to organize our efforts and make sure that we do things in a way that will allow Adobe to integrate our work into future versions of ColdFusion.
What do you say? Will you be the change?
* Where appropriate. Not all tags need to be script. Think CFPod. CFDiv. CFForm.
Published 2011-11-15 07:50 in 2 Responses ColdFusion Community



This November I'm running a marathon to raise money for Children's Miracle Network. But instead of running a marathon I'll be playing an epic 24 hour video game marathon.
2 responses:
Adrian J. Moreno
Peter Boughton
Start here: http://help.github.com/win-set-up-git/
It walks you through Git for Windows, which you should install because it simplifies things, like if you need to follow a tutorial for how to setup an SSH key.
If you want an Eclipse plugin, the Eclipse team have egit ( eclipse.org/egit ), which also has a guide for connecting to GitHub, here: http://wiki.eclipse.org/EGit/User_Guide
I'd personally still recommend starting with GitHub's tutorial (even if you plan to use egit), simply because having Git for Windows setup can be useful if you need to enter a specific command at any point (there's no CLI in egit).
Your comment: