Compatibility Guide for ColdBox 3.0.0
- Compatibility Guide for ColdBox 3.0.0
- Configuration File Updated
- Name Refactoring
- <DevEnvironments> Deprecated
- cfcUnit support Deprecated
- Setting: MyPluginsLocation Renamed
- addCourse() renamed to addRoute()
- createArray deprecated
- createStruct deprecated
- Autowire Interceptor Setter Injection Changes
- Feed Reader rewrite
- Feed Generator rewrite
This guide is a review of the major changes starting in ColdBox 3.0.0. The major compatibility issues will be covered and also how to smoothly upgrade to this release from previous ColdBox versions. You can also check out the What's New with 3.0.0 guide to give you an in-depth overview.
Configuration File Updated
The layout of the 3.0.0 configuration file has drastically changed. Please refer to the application template's configuration file or you can use our latest schema documentation: http://coldbox.org/documents/SchemaDocs/3.0.0/
Name Refactoring
We have updated almost all the naming of our components as they where in old non-standard format. This step can potentially affect case-sensitive OS's. So please take note of the following new namings. We are also including a ColdBox 3.0.0 upgrader tool that you will find in the install folder. This tool will help you do the renaming and refactoring of your pre 3.0.0 ColdBox applications.
Camel Casing: Same Location
The following files have only been camel cased but not moved from their original locations:
coldbox.system.
| old name | new name |
| coldbox.cfc | Coldbox.cfc |
| coldbox.cfm | Coldbox.cfm |
| eventhandler.cfc | EventHandler.cfc |
| frameworkSupertype.cfc | FrameworkSupertype.cfc |
| interceptor.cfc | Interceptor.cfc |
| plugin.cfc | Plugin.cfc |
coldbox.system.beans.
| old name | new name |
| configBean.cfc | ConfigBean.cfc |
| datasourceBean.cfc | DatasourceBean.cfc |
| eventhandlerBean.cfc | EventHandlerBean.cfc |
| exceptionBean.cfc | ExceptionBean.cfc |
| interceptorState.cfc | InterceptorState.cfc |
| mailSettingsBean.cfc | MailSettingsBean.cfc |
coldbox.system.plugins.
| old name | new name |
| applicationstorage.cfc | ApplicationStorage.cfc |
| beanFactory.cfc | BeanFactory.cfc |
| cfcViewer.cfc | CFCViewer.cfc |
| clientstorage.cfc | ClientStorage.cfc |
| cookiestorage.cfc | CookieStorage.cfc |
| feedGenerator.cfc | FeedGenerator.cfc |
| feedReader.cfc | FeedReader.cfc |
| ioc.cfc | IOC.cfc |
| json.cfc | JSON.cfc |
| logger.cfc | Logger.cfc |
| messagebox.cfc | MessageBox.cfc |
| methodInjector.cfc | MethodInjector.cfc |
| queryHelper.cfc | QueryHelper.cfc |
| renderer.cfc | Renderer.cfc |
| resourceBundle.cfc | ResourceBundle.cfc |
| sessionstorage.cfc | SessionStorage.cfc |
| timer.cfc | Timer.cfc |
| webservices.cfc | Webservices.cfc |
| zip.cfc | Zip.cfc |
coldbox.system.interceptors.
| old name | new name |
| autowire.cfc | Autowire.cfc |
| coldboxSideBar.cfc | ColdboxSideBar.cfc |
| deploy.cfc | Deploy.cfc |
| environmentControl.cfc | EnvironmentControl.cfc |
| executionTracer.cfc | ExecutionTracer.cfc |
| security.cfc | Security.cfc |
| ses.cfc | SES.cfc |
Camel Casing: New Location
The following files have been camel cased and moved to new locations:
| old location-name | new location-name |
| coldbox.system.testController.cfc | coldbox.system.testing.mock.web.TestController.cfc |
| coldbox.system.extras.testing.baseMXUnitTest.cfc | coldbox.system.testing.BaseTestCase.cfc |
| coldbox.system.extras.testing.baseTest.cfc | REMOVED |
| coldbox.system.beans.requestContext.cfc | coldbox.system.web.context.RequestContext.cfc |
| coldbox.system.beans.requestContextDecorator.cfc | coldbox.system.web.context.RequestContextDecorator.cfc |
| coldbox.system.controller.cfc | coldbox.system.web.Controller.cfc |
* cfcUnit support has been dropped.
New Locations
The following files have just been moved to new package locations:
| old location | new location |
| coldbox.system.extras.ColdboxProxy.cfc | coldbox.system.remote.ColdboxProxy.cfc |
| coldbox.system.extras.ColdboxFactory.cfc | coldbox.system.ioc.ColdboxFactory.cfc |
| coldbox.system.extras.transfer.* | coldbox.system.orm.transfer.* |
* = All files in that directory where moved
<DevEnvironments> Deprecated
Please update your coldbox.xml files as the <DevEnvironments> element has now been deprecated.
cfcUnit support Deprecated
We are basing all of our unit testing on MXUnit and dropping cfcUnit support.
Setting: MyPluginsLocation Renamed
Old name renamed to PluginsExternalLocation. Please update your setting to this new name
<Setting name="PluginsExternalLocation" value="" />
addCourse() renamed to addRoute()
The ses interceptor gets some cleanup. The addCourse() method has been renamed to addRoute() and will be deprecated in version 3.1. The method addCourse() will still delegate into addRoute() so it stays compatible, but our preference is for you to upgrade your code to use the new method addRoute()
createArray deprecated
The createArray() method in the Utilities plugin has been deprecated
createStruct deprecated
The createStruct() method in the Utilities plugin has been deprecated
Autowire Interceptor Setter Injection Changes
The autowire interceptor's default value for setter injection is now false. If you are using setter injection on your handlers, plugins and interceptors then you must explicitly enable the interceptor to continue using setter injection. Our preference is to do runtime injections.
<Interceptor class="coldbox.system.interceptors.Autowire"> <Property name="enableSetterInjection">true</Property> </Interceptor>
Feed Reader rewrite
The FeedReader plug-in has been written from scratch and now generates a different output to the FeedReader plug-in found in ColdBox 2.63 and earlier. A number of the outputted structure keys and query column names have been renamed, and this could possibly break applications expecting the earlier labels. Please read the documentation to find the new labels in use.
Feed Generator rewrite
The FeedGenerator plug-in has been written from scratch and will certainly be incompatible with any code used to generate feeds in ColdBox 2.63 and earlier. Please read the FeedGenerator documentation for the new usage.
