- ColdBox Platform
-
ColdBox Platform Original author(s) Luis Majano & Ortus Solutions Developer(s) [1] Initial release June 15, 2006 Stable release 1.1.2 / February 18, 2011 Development status Active Written in CFML Operating system Cross-platform Type Web application framework License Apache License Website coldbox.org ColdBox is a professional open source enterprise, conventions based web application framework designed for applications written in ColdFusion Markup Language. ColdBox was the first ColdFusion framework to leverage conventions over configurations and it aims for simplicity, rapid development, and makes use of the Model-view-controller, Dependency_injection, Unit_testing, Aspect-oriented_programming architectural pattern. ColdBox is comprehensive and modular, which helps address most infrastructure concerns of typical ColdFusion applications
Contents
History
- ColdBox was developed by Luis Majano and open sourced for the first time in 2006.
- Since 2006 there have been over 23 releases.
- ColdBox became a professional open source project when professional services where created by the parent company Ortus Solutions, Corp in 2008.
- The latest generation version is 3.1.0 released in 2011
Overview
ColdBox has been developed with a number of goals in mind:
- Provide a high-productivity web framework for the ColdFusion platform.
- Integrate with hibernate ColdFusion ORM to allow for faster development of relational applications
- Offer a consistent framework which reduces confusion and is easy to learn.
- Offer documentation for those parts of the framework which matter for its users. It has over 700 pages of documentation in the online wiki
- Provide what users expect in areas which are often complex and inconsistent:
- Powerful and consistent persistence abstraction layers.
- Powerful and consistent conventions over configurations (No XML)
- Internal Domain Specific Languages to define caching, DI/AOP, logging and mocking.
- Ability to do unit and integration testing
- Good Ajax support which is easy to extend and customize.
- Powerful RESTful and SOAP web service support
- Powerful and Consistent Adobe Flex/Air integration and monitoring
- Provide 25 sample applications which demonstrate the power of the framework.
- Provide multi-development environment capabilities
Internal Frameworks
The ColdBox Platform is unique in that it aggregates 5 different frameworks into one ColdFusion development platform:
- LogBox - Enterprise Logging Library
- WireBox - Enterprise Dependency Injection and AOP library
- CacheBox - Enterprise Caching Engine and Aggregator
- MockBox - Testing, Mocking and Stubbing library
- ColdBox - MVC conventions based web framework
External links
- Official site
- Documentation
- GitHub code repository
- Online API
- ForgeBox - community based code sharing
- Official blog
- Google Group
High productivity
ColdBox has seven properties which attempt to increase productivity when compared to traditional web frameworks:
- No XML configuration
- Built in enterprise logging
- Built in enterprise caching
- Built in dependency injection and AOP capabilities
- Ready-to-use application templates
- Functionality available through mixins and conventions
- Built in RESTful and SOAP web service capabilities
Documentation
ColdBox's documentation is what sets it apart with over 700 pages worth of documentation online, professional training and books.
Custom Conventions
Conventions over configurations is the standard in ColdBox development. It does not rely on the verbosity of xml logic and uses ColdFusion and a set of conventions for development. Conventions are also used for registering events, interceptors, plugins and much more.
Coldfusion Controllers instead of XML Controllers
ColdBox doesn't rely on XML declarative logic where you have to define an event, what it does and where does it go. ColdBox is a conventions based framework that will let you program in ColdFusion to get things done.
Below is an example of a controller:
component{ // Use DI for hibernate virtual services property name="userService" inject="entityservice:User"; function sayHello(event){ return "hello"; } function list(event){ // render out all users in json format event.renderData(type="json", data = userService.list() ); } }
URL Mappings
ColdBox supports URL mappings and routing Rails style but adapted for ColdFusion. It also supports the creation of RESTful routing:
addRoute(pattern="api/user/:username",handler="user",action={get='list', post='create', put='update', delete='remove'});
RESTful URLs
ColdBox allows for easy creation of RESTful URLs via URL mappings and extension detection. Natively ColdBox can detect any extension when supplied to an URI resource:
http://api.coldbox.org/rest/user/lui.json http://api.coldbox.org/rest/user/lui.xml
It allows for the detection of such extensions, security around them and the ability to customize the extensions.
Ajax support
ColdBox supports all JavaScript frameworks that provide Ajax capabilities. It also provides an auto-marshalling function to render any object to the following formats natively:
- XML
- WDDX
- JSON
- CUSTOM
SOAP-Adobe Flex/Air Support
ColdBox offers support for creating, monitoring and developing SOAP web services and Flex/Air remote components. It allows for having one development paradigm for multiple GUI interfaces.
Companies providing ColdBox development services
- Ortus Solutions provides consulting services being the main developer of the platform.
- Computer Know How provides ColdBox services as being a ColdBox Alliance Partner
Web application frameworks ASP.NET ASP.NET MVC · ASP.NET Web Forms · ASP.NET Dynamic Data · BFC · DotNetNuke · MonoRail · OpenRasta · UmbracoColdFusion Common Lisp C++ CppCMS · WtJava Apache Struts · AppFuse · Flexive · GWT · Grails · Vaadin · ItsNat · JavaServer Faces · Jspx · Makumba · OpenXava · Play · Eclipse RAP · Reasonable Server Faces · RIFE · Seam · Spring · Stripes · Tapestry · WebWork · Wicket · ZK · ICEfaces · WaveMakerJavaScript Ample SDK · Prototype JavaScript Framework · Rico · script.aculo.us · SproutCore · jQuery · Dojo ToolkitPerl PHP AppFlower · CakePHP · CodeIgniter · Drupal · e107 · Horde · Joomla! · Lithium · Midgard · MODx · Qcodo · Seagull · SilverStripe · Symfony · TYPO3 · Xaraya · Yii · Zend Framework · Zeta ComponentsPython Ruby Smalltalk Other languages Application Express (PL/SQL) · Fusebox (ColdFusion and PHP) · HAppS (Haskell) · Kepler (Lua) · Lift (Scala) · OpenACS (Tcl) · SproutCore (JavaScript/Ruby) · Yaws (Erlang)Implementations Applications Frameworks Full-Stack and Application FrameworksTask-specific FrameworksDevelopment Resources IDEs / EditorsDebugging and MonitoringcfTracker · ColdFire · FusionDebug · FusionReactor · SeeFusionWebsitesCategory:CFML programming language Categories:- Web application frameworks
- CFML programming language
Wikimedia Foundation. 2010.