15 May 2012
Adobe ColdFusion Builder 2.0.1 (code-named Twister) is a free update to Adobe ColdFusion Builder 2.0. The main purpose of this updater is to integrate ColdFusion Builder with ColdFusion 10 (code-named Zeus) to support the new language features and new server configurations. ColdFusion 10 is now bundled with Tomcat server, unlike earlier versions that had the built-in JRun server. ColdFusion Builder 2.0.1 now supports configuring ColdFusion 10 in its server manager.
The enhancements in this release of ColdFusion Builder are not limited to ColdFusion 10 feature support. We have also fixed many existing bugs, enhanced editor performance, and also implemented many enhancements that users requested for existing features. This article gives overview of new features and enhancements in ColdFusion Builder 2.0.1.
Configuring ColdFusion 10 in the server manager of ColdFusion Builder is similar to configuring previous versions of ColdFusion, however, you need to specify the CF + Tomcat Bundle option for the Application Server setting in the first screen of the Server Settings wizard.
The rest of the settings for the local server remain the same, however, if you are setting up a remote ColdFusion 10 server, you will see the changed Remote Server Settings tab on the second page of the wizard.
The settings, Admin Port, Username, and Password refer to remote Admin server (Jetty Server) that is bundled with ColdFusion 10. The default port is 8985, the default username is admin, and the default password is the password you entered when installing ColdFusion 10.
The setting, Server Name, is the name of the ColdFusion server instance. For a stand-alone installation of ColdFusion server, this is typically
cfusion . The Context setting is AdminServlet and does not change. Document Root is path to wwwroot of the server, typically under the cfusion folder.
ColdFusion Builder 2.0.1 supports syntax highlighting and syntax check for all new language constructs added in ColdFusion 10. It also provides code assist for new tags, attributes, and functions. We have added the ColdFusion 10 dictionary to the list of dictionaries already supported.
In previous releases of ColdFusion Builder, you set the dictionary version in Preferences; the version specified applied to all ColdFusion projects. We have now added support to set project-specific dictionary versions. When you create a new project, ColdFusion Builder picks the default dictionary version from the one set in the global preferences. To change this, right-click the project name in the Navigator view and select Properties. Click ColdFusion Project and select the dictionary version.
Now, if different projects use different versions of ColdFusion, then you can set the dictionary version for each project targeted per server.
In ColdFusion Builder, you can configure an FTP server in the File Manager. In the default ColdFusion Builder view, the File Manager is in lower left corner. If you associate the FTP server with project, you can easily sync files between local and remote machines. We have made following enhancements to FTP support based on requests from users.
The FTP connection dialog box now has an option to upload local files to an FTP server when you save the file.
You must set up a project to sychronize with the FTP server for this option to work. Right-click a project name in the Navigator view and select the Synchronize > Create New Synchronize Connection… option.
Once you have set up the synchronization connection, ColdFusion Builder automatically uploads any local file in the project to the configured FTP server, but only if you have specified the Upload file on Save option for the FTP connection.
We have added keyboard shortcuts for following synchronization actions:
Upload - Ctrl+Alt+W U (CTRL +ALT+W and then U)
Download – CTRL+ALT+W and then D
Synchronize – CTRL+Alt+W and then Y
In earlier, these actions were avilable only as menu items.
Code Assist for CFCs includes the following:
For both types of code assist support, ColdFusion Builder must resolve CFCs. That is, in the former case ColdFusion Builder finds valid CFCs, and, in the latter case ColdFusion finds the CFC path from CFC name.
ColdFusion Builder searches different parameters when resolving CFCs:
For CFCs that you host outside the project folder and wwwroot of the server, you can use CFC mapping in the server administrator or the link folders option. However, keep in mind that you might not always remember to configure mappings in the administrator at development time, and you might not always be connected to the server. In such cases, the link folders option is the only way for resolving such CFCs that are outside wwwroot and project root.
The link folders option work fine if no two projects refer to the same link folder, else you would have duplicate references to the same files. This could be a problem when using code hyperlinks on CFCs—if two projects have the same file, ColdFusion Builder asks you to select one through a dialog box that displays all references to the same file (from different projects). Many users had asked for ability to specify mappings at the project level, and we have implemented this option in ColdFusion Builder 2.0.1. To specify CFC mappings for a project, follow these steps:
We have added three new event notifications:
onFileSaved: When you save a file.
onFileChangeInEditor: When you open a new file in the editor or switch files in the editor by clicking on editor tabs.
onRDSDataViewSelectionChange: When you change a selection in the RDS Data View; that is, when you navigate between server, data sources, tables, and fields.
You may want to notify your extensions of the above events, for example, to update a view (for example, when a user changes or saves a file) or if it needs to perform some action in the background based on the above events. List the events that you want to notify your extensions of within the ide_conig.xml file. Refer to ColdFusion Builder documentation for mode details.
Extension handlers use callback functions to ask ColdFusion Builder to perform some actions. We have added the following callback commands in this release:
getProjects): Returns a list of all the projects in ColdFusion Builder with information such as project name, path, whether the project is closed and if it is it a ColdFusion project.
reloadExtensions): If you change ide_config.xml for an extension, you must reload the extension in ColdFusion Builder. Now you can use this callback command to reload the extension from your extension handler.
sendMessageToExtension): You can send a message to any extension from the handler of your extension by specifying name of the receiver extension, id of the handler to execute, and message parameters (key-value pairs). This is also useful when you need to send message to the same extension, for example, a handler that receives an event notification might ask ColdFusion Builder to update a view in the same extension, while the view has a different handler (from the one that received notification).
Please see ColdFusion Builder documentation for more details.
In previous releases of RDS Data View you could add menus from extensions to table nodes only. Now you can add menus from extensions to other nodes too, such as server, data source, or column. The menu contribution for RDS Data View now supports the filter tag too. So, if you want a menu contribution to appear on a data source node only, you can specify a filter in the ide_config.xml file as follows:
<menucontributions > <contribution target="rdsview"> <menu name="DatabaseMenu"> <action name="Add Table" handlerid="AddTableHandler" showresponse="true" /> </menu> <filters> <filter type="database" /> </filters> </contribution> </menucontributions>
If you do not specify a filter, the menu contribution displays on all nodes.
The following are other extension enhancements we have added to ColdFusion 10.
getFunctionsAndVariablescallback command now contains one of the following scopes:
tagcreated(the variable created by a ColdFusion tag, such as the
cfquerytag). You can get other scopes from the prefix in the variable names, for example, the scopes of
viewtag. When an extension handler (as specified in the configuration in the ide_config.xml file) creates a view, ColdFusion Builder processes this attribute. If you specify
keepFocus=true, the view is in focus when created, otherwise focus remains in the editor. The default value is false. In the previous versions, ColdFusion Builder was set to focus on the view after creation, because of which some of the menu options did not work in the editor.
ColdFusion Builder has shipped with an Adobe CFC Generator Extension since its first version. By default, the extension does not install in ColdFusion Builder automatically; it is available in the Extensions folder where you have installed ColdFusion Builder. You install it using the Extensions panel in ColdFusion Builder.
This extension adds the following menu options to tables in RDS Data View:
To use this extension, right-click the tables and then select the Adobe CFC Generator option. Adobe CFC Generator creates the following CFCs for each table:
Note that the user interface for the Create ORM CFC menu option did not work for Mac in earlier versions of ColdFusion Builder. In ColdFusion Builder 2.0.1, we have redone the user interface so that it works for Windows and Mac.
When you select the Create ORM CFC option, ColdFusion Builder displays a dialog box with options to select the folder where you want to save the generated files. When you click OK in this dialog box, a new dialog box with tables that you have selected is displayed (Figure 7).
You can create relationships between tables by dragging a field from one table to another, edit relationships by double-clicking the connector, and modify CFC properties and types by double-clicking table headers. Click Help within ColdFusion Builder (in the extension) to learn how to use this extension.
ColdFusion Builder 2.0.1 performs better than earlier versions. In addition to overall performance improvements when using the editor, we have fixed the following issues:
cfincludetag) affected the editing speed of files.
Apart from these improvements, we have added a preference to turn off the Quick Fix option, which can improve performance in the following scenario. One of the features we added in ColdFusion Builder 2.0 was the Quick Fix option. If you had references to any undeclared functions such as CFCs or included files in the code, ColdFusion Builder displayed a warning icon and gave you the option to create the function, CFC, or file. Though this is a great productivity features, it might impact editor performance when working with large files in a large project that had many references to CFCs. This is because ColdFusion Builder needs to resolve each CFC reference; in a large project, this might cause slow performance. In ColdFusion Builder 2.0.1, you have option to turn off the Quick Fix feature by going to Preferences > ColdFusion > Profiles > Editor > Syntax Checking. Note that in ColdFusion Builder 2.0.1, we have turned off this feature by default. If you want to use this feature, turn it on in the Preferences noted aboves.
Though not new in this version, note that if you experience performance issues in the editor, you can set optimal performance options by selecting the following option: Preferences > ColdFusion > Profiles > Editor > Optimize editor preferences.
To leverage the latest functionalities, we have packaged the stand-alone version of ColdFusion Builder 2.0.1 with Eclipse 3.7.2.
ColdFusion Builder 2.0.1 has complete support for use with ColdFusion 10. It enables configuration of ColdFusion 10 in the server manager, supports syntax check and colorization for new language constructs, and provides code assist for new functions, tags, and attributes. The release also enhances existing features and improves performance substantially. The goal of this article is to provide an overview of various features in ColdFusion Builder 2.0.1. Please read the complete ColdFusion Builder documentation for details on how to use all of the new and enhanced features.