sebtags 1.0 RC2 for ColdFusion 8.01

Like a bolt from the sky, forces have converged to alert me of sebtags incompatibility with ColdFusion 8.0.1. As CodeCop runs on sebtags, that meant that CodeCop wouldn't work on ColdFusion 8.0.1 either.

Fortunately, the problem was easy to fix. While I was at it, I wrapped up a few other small bug fixes and enhancements for sebtags and put it all together as sebtags 1.0 RC2.

I also updated CodeCop to use the newest version of the custom tags, giving it a version of

So, everything should run now on ColdFusion 8.0.1.

Sorry for any trouble.

CodeCop 1.0.1 Updater 1

I recently updated CodeCop to fix a bug reported by Todd Mathews. If you are running CodeCop in the CF Admin of ColdFusion 8 and you don't want to use the Derby database, then upgrade to this version.

The only file that has been changed is the Application.cfm in the root of CodeCop.

CodeCop is open source and free for any use.

CodeCop 1.0.1

It has been nearly a year since I released CodeCop 1.0 and I have to admit that I haven't worked on it much since. This new release is primarily to integrate better into the ColdFusion 8 administrator. When installed in the ColdFusion 8 administrator, it will match the styling of that administrator.


CodeCop 1.0 Released

Several month ago (back in June, 2006), Ray Camden held an Advanced ColdFusion Coding Contest. The idea was an extensible tool to check ColdFusion code for potential issues.

This sounded pretty fun, so I created an entry (which took much longer than I anticipated). I am pretty happy with the results. Ray liked it as well.

CodeCop will check your code and report problems. The fun part is that, although it comes with some example rules, you can create any rules that you want right in the tool. You can also share packages of rules with others.

It will run in CF6 or better on any OS using any database supported by DataMgr (and if DataMgr doesn't support the database you want, you can add support for that database to DataMgr and then use CodeCop on it).

You can run it from within the ColdFusion Administrator (and thereby gain some functionality) or on its own.

Note that, as CodeCop allows you to read any code on your server and run ColdFusion code that you enter into the tool, it should never be placed where anyone can use it.

CodeCop is free and open source.

You can view screenshots and download CodeCop from RIAForge.

PS - Thanks for the great idea, Ray! 

CodeCop and Layout Components

CodeCop has reached release candidate stage. I am still not thrilled with my installation code, but it works pretty well. It also makes for a good example of using several of my components (including layout components and DataMgr).

CodeCop will check your code and report possible problems. The rules that it uses to determine possible problems are completely configurable from within CodeCop itself. You can also share rules packages with other developers (I am hoping to set up a place to facilitate this sharing on my site soon). 

If you have a suggestion for keeping the installation as clean and user-friendly as it is, but make the code cleaner, I would be interesting in hearing it (look in install.txt to see the installation instructions).

CodeCop uses the DataMgr 2.0 (which is still in Beta - hoping to get that into release candidate stage before the end of the year) as well as layout components.

I hope to have a full entry on using layout components out later this week (was hoping to include that in this entry, but running out of time). 

CodeCop Beta

I uploaded a new build of CodeCop to my site this weekend. It fixes some bugs that have ben reported and adds a few new features as well.
I have improved the installation instructions a little bit per Ray's advice. I still need to separate the installation files. Given that this program basically provides that keys to the castle for anyone with access, the security implications of that aren't a major concern on this program. Even so, I plan to address it.
To reiterate about security for the program. Anyone that has access to it, has complete access to your system. Guard access to this program fiercely.
CodeCop will check your code for potential issues using rules which are completely configurable. You can arrange the rules into packages which you can share (via an XML file) with other developers who can import them into their copy of CodeCop.
It will install itself on any database supported by DataMgr (currently Access, MS SQL, MySQL, PostGreSQL). It will run in the ColdFusion Administrator or on its own in CFMX 6.1 and above.
One new feature in this build is that CodeCop will introspect any CFC that it reads and provide documentation for it, including the ability to link directly to the code for any method.
Read Ray Camden's review of CodeCop (as an entry in his Advanced ColdFusion Contest).
Download CodeCop

Ray Reviews My Contest Entry

I normally try to avoid posting just to talk about other people's posts, but this one is an important topic... me!
Advanced ColdFusion Contest Entry 1: CodeCop
Overall I feel that Ray's review was pretty positive, which is a relief. The big fear is, you put your best foot forward and find out the the good minds in the business think you are a hack (and not in the good way).
He did have some criticisms, which is to be expected. Most of them in terms of my failure to fully explain things in my documentation. Figuring out what I need to explain in documentation is still a challenge for me. Fortunately, he pointed to specifics so I will try to get those fixed.
Feel free to install it and try it out. It will install itself on any database supported by DataMgr.cfc (currently Access, MS SQL, MySQL, PostGreSQL). All of the tables use a prefix of "chk", so it shouldn't conflict with any tables in an existing database.
I will be releasing it as a beta on my own site soon (hopefully with improved documentation). It is free and open source and will remain so.
Since I am talking about myself anyway, I may as well point out some of the things that I am proud of in the application.
It will run in or out of the administrator on CFMX 6.1 or CFMX 7. The skin of the application will match the environment. So, it will match the look of the administrator that it is in or it will have its own looking if running outside of the administrator. It will also have capabilities to match its environment. For example, in CFMX 6.1 or in the administrator of CFMX 7, it will provide a drop-down of available datasources (using supported databases). In ColdFusion 7 outside the administrator it will provide a text box to enter a datasource with a drop-down to select one of the supported database types.
In fact, the whole application supports the idea of graceful degradation / progressive enhancement. It will work if JavaScript is not available, but it will be work easier if it is. If you run it from within the administrator in CFMX 7, it will provide use the file-picker box used to find a local database in the satasource section of the admin.
You can view the issues found in your code in several different ways with several different routes to more information. It uses Ray's code coloring code to help make the code easy to read and understand (and all issues found are highlighted with a link to a description of the issue). For simple issues found on local files, you can even edit the file directly from the program.
You can edit or edit any rule used by the program. You can have a rule that looks for a given tag (and run custom code against the rule that will make available such data as the attributes and the code between the tags in a way that is easy to use. You can also have a rule that looks for a regular expression (again with the ability to run custom code against the results). You can place rules into packages and share those packages with other developers via an XML file.
The reports provide a nice summary of the issues and are stored for your perusal later (also allowing you to compare the number of issues found different times that code is tested).
I am sure that it has plenty of room for improvement, but I think it is a pretty good start.

BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.