It's been a few days since the last entry, and for that, I apologize. I'm in Rhode Island now in the middle of some big meetings, so I've been pretty much brain dead since Monday. Today's entry is a simple one - but I think it shows some promise and it's a good beginning. The entry was sent in by Akbarsait (aka Akbar, but not that one) and is called AppCore Creator.
The idea behind the extension is a simple one. You right click in your project navigator and are prompted to select a ColdFusion version:
You pick a version (for the old timers out there I picked 7) and then the extension does it's magic:
At this point you need to refresh your folder. When you do, you will see that it laid down an Application.cfc, error.html, and index.cfm. If you select ColdFusion 8 or 9 it will also lay down a 404.cfm.
What's nice is about these files is that just about ever option is selected and documented. At that point it's easy to get in and start tweaking. In some ways you could do the same with snippets of course, but this extension has the logic in to determine which files (and settings) make sense for your ColdFusion version.
There are a couple of places though where this extension could be updated to take much more advantage of the CFBuilder API:
- First off - an extension like this is perfect for a project creation hook. Don't forget that CFB extensions can run both as "menu actions" and after the creation of a project. I'd add that as an option.
- It's nice to give folks an option to pick their CF version. Even if the current environment is CF9, you may be writing for CF8. However, I'd consider making the drop down default to the current version of the server.
- Don't forget that CFBuilder extensions have the ability to refresh both folders and files. Save the user a bit of work and refresh the folder system after you lay down the files.
- I'd find a way to handle file conflicts. If the user has a file already it gets blown away. I'd gather the list of files, check for conflicts, and if any exist, prompt the user before going on.
- Finally - I'd consider prompting for the application name too. It's a fine line to cross - should you ask for more settings? You don't want to present 200 input fields to the user. But I'd consider asking for the application name at least.
So what do folks think? Would this be useful for development? You can test it out yourself by downloading it below.