ColdBox Platform
   HOME

TheInfoList



OR:

ColdBox is a
free Free may refer to: Concept * Freedom, having the ability to do something, without having to obey anyone/anything * Freethought, a position that beliefs should be formed only on the basis of logic, reason, and empiricism * Emancipate, to procur ...
,
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
, conventions-based, modular web application framework intended for building
enterprise applications Enterprise software, also known as enterprise application software (EAS), is computer software used to satisfy the needs of an organization rather than individual users. Such organizations include businesses, schools, interest-based user groups, ...
with
ColdFusion Adobe ColdFusion is a commercial rapid web-application development computing platform created by J. J. Allaire in 1995. (The programming language used with that platform is also commonly called ColdFusion, though is more accurately known as CF ...
( CFML) using a Hierarchical MVC approach. It is a set of tools and methodologies that can allow a developer to build their web applications in a modern and secure way.  It also provides them with a scaffold on which to base their applications. As a result, they don’t have to reinvent the wheel on most concerns they have to consider when building web applications. The framework gives developers the proper tooling to do their job quickly, securely, modularly, and flexibly. The source code of ColdBox and its companion libraries are hosted on GitHub and licensed under the terms of the Apache License v2.


History

ColdBox was developed and created by Luis F. Majano in 2006, and it has become the most widely used and maintained MVC framework. Given its speed and scalability, ColdBox evolved into a performant and simple framework that empowered developers. It became a professional open source project in 2008 when professional services were offered by the parent company Ortus Solutions, Corp. Later, in 2011, the Hierarchical Model View Controller was set as its core foundation design pattern. In the last few years, it introduced tight integration to Java's CompletableFuture API to support
Futures and Promises In computer science, future, promise, delay, and deferred refer to constructs used for synchronizing program execution in some concurrent programming languages. They describe an object that acts as a proxy for a result that is initially unknown ...
and
asynchronous Asynchrony is the state of not being in synchronization. Asynchrony or asynchronous may refer to: Electronics and computing * Asynchrony (computer programming), the occurrence of events independent of the main program flow, and ways to deal with ...
/
parallel Parallel is a geometric term of location which may refer to: Computing * Parallel algorithm * Parallel computing * Parallel metaheuristic * Parallel (software), a UNIX utility for running programs in parallel * Parallel Sysplex, a cluster of IBM ...
programming. The latest release is version 6.8.1 (August 11, 2022).


Capabilities

* A HMVC web framework for the
ColdFusion Adobe ColdFusion is a commercial rapid web-application development computing platform created by J. J. Allaire in 1995. (The programming language used with that platform is also commonly called ColdFusion, though is more accurately known as CF ...
platform. * Modular development platform to provide HMVC architectural patterns * Conventions over configurations (No XML) * Integrates with
Hibernate Hibernation is a state of minimal activity and metabolic depression undergone by some animal species. Hibernation is a seasonal heterothermy characterized by low body-temperature, slow breathing and heart-rate, and low metabolic rate. It most ...
ColdFusion ORM * Offers a consistent framework aiming to reduce confusion and be easy to learn * Persistence abstraction layers (caching) * Built-in logging library * Built-in dependency injection and AOP capabilities * Internal Domain Specific Languages to define caching, DI/AOP, logging, and mocking * Ability to do unit and integration testing * Ajax support which is easy to extend and customize * RESTful and SOAP web service support * Adobe Flex/Air integration and monitoring * Provides multi-development environment capabilities * Prolific Documentation * Integrates natively with Java's CompletableFuture API to support futures and promises.


Platforms

ColdBox is supported on Lucee (A popular open-source CFML engine) and Adobe's ColdFusion application servers. It has supported IDE plugins for Visual Studio Code, Sublime Text, Eclipse IDE, and Adobe ColdFusion Builder.


ColdBox Universe

The ColdBox Platform comprises several internal standalone libraries that can be used with any CFML Framework or none at all. Its library includes: *'
LogBox
'' - Logging Library * '
WireBox
'' - Dependency Injection and AOP library * '
CacheBox
'' - Caching Engine and Aggregator
TestBox
- Testing framework for ColdFusion


Usage

Below is a list of some notable users of the Coldbox Platform. *
Adobe Adobe ( ; ) is a building material made from earth and organic materials. is Spanish for ''mudbrick''. In some English-speaking regions of Spanish heritage, such as the Southwestern United States, the term is used to refer to any kind of e ...
* Esri * FAA * GE * Kennedy Space Center *
NASA JPL The Jet Propulsion Laboratory (JPL) is a federally funded research and development center and NASA field center in the City of La Cañada Flintridge, California, United States. Founded in the 1930s by Caltech researchers, JPL is owned by NASA an ...
* Railo * Lucee * L'Oréal *
US Airforce The United States Air Force (USAF) is the Aerial warfare, air military branch, service branch of the United States Armed Forces, and is one of the eight uniformed services of the United States. Originally created on 1 August 1907, as a part ...
* US Navy *
Success Academy Charter Schools Success Academy Charter Schools, originally Harlem Success Academy, is a charter school operator in New York City. Eva Moskowitz, a former city council member for the Upper East Side, is its founder and CEO. It has 47 schools in the New York ar ...
* American Youth Soccer Organization * Los Angeles County Museum of Art


Installation

Getting started is easy with ColdBox, WireBox, CacheBox, or LogBox in any ColdFusion (CFML) application since just CommandBox, the CLI, and the package manager should be leveraged. These commands run from the CommandBox interactive shell.


Controllers

ColdBox is a conventions-based framework programmed in CFML, differing from other CFML MVC frameworks that use XML declarative logic for their controllers. Below is an example of a controller: component


URL mappings

ColdBox supports URL mappings and routing in Rails style but is adapted for ColdFusion. It also supports the creation of RESTful routing: // Resources resource( "photos" ); // Nested Resources resources( resource = "agents", pattern = "/sites/:id/agents" ); // Redirects route( "/oldRoute" ) .toRedirect( "/main/redirectTest" ); // Direct Routing route( "/render/:format" ).to( "actionRendering.index" ); // With Regex route( "post/:postID-regex:( -zA-Z?)/:userID-alpha/regex:(xml, json)" ) .to( "ehGeneral.dumpRC" ); // subdomain routing route( "/" ) .withDomain( ":username.forgebox.dev" ) .to( "subdomain.show" ); // Responses + Conditions route( "/ff" ) .withCondition( function() ) .toResponse( "Hello FireFox" ); route( "/luis/:lname" ) .toResponse( "

Hi Luis , how are

", 200, "What up dude!" ); // Inline Closure Responses route( "/luis2/:lname" ) .toResponse( function( event, rc, prc ) ); // Views No Events route( "contactus" ) .as( "contactUs") .toView( "simpleView" ); // Named routes route( pattern="/routeRunner/:id/:name", name="routeRunner" ) .to( "main.returnTest" ); // Grouped Routing group( , function( options ) ); // RESTFul Actions route( "/health_check" ) .withAction( ) .to( "utilities.HealthCheck" );


RESTful URLs

ColdBox allows for the easy creation of RESTful URLs via URL mappings and extension detection. Natively ColdBox can detect any extension when supplied to a URI resource:
http://api.coldbox.org/rest/user/luis.json
http://api.coldbox.org/rest/user/luis.xml
http://api.coldbox.org/rest/user/luis.pdf
http://api.coldbox.org/rest/user/luis.yml
It allows for detecting such extensions, security around them, and the ability to customize them.


Ajax support

ColdBox supports all JavaScript frameworks that provide Ajax capabilities. It also offers an auto-marshaling function for natively rendering objects to the following formats: XML, WDDX, JSON, JSONP, TEXT, PDF, and CUSTOM.


SOAP-Adobe Flex/Air support

ColdBox supports creating, monitoring, and developing SOAP web services and Flex/Air remote components. It allows for having one development paradigm for multiple GUI interfaces.


Documentation Links


ColdBox MVCWireBox Dependency InjectionCacheBoxLogBox


External links


Official siteGitHub code repositoryOnline APIForgeBox - community based code sharingCommunity Forums


References

{{CFML programming language Web frameworks CFML programming language