Key ideas: Model: directs the data or behavior of an application domain View: Renders data into a form typically to appeal to a UI Controller: retrieves input and starts the response. Guides the model and view based on the input
Architecture Not Framework: Can be implemented without object oriented programming or a class hierarchy.
Advantages: View is separate from Model: no dependency directly UI can render many different views of the same data at once. Changes are easy to maintain Layouts are simple to change that will not effect the data that is rendered
Original Designed for multiple tier web application in 2005. Became open source July 2006. Developed by Luis Majano of Ortus Solutions Continued development by Team Coldbox Build: 3.1.0
Unit test an entire application Enterprise debugging, monitoring, caching, etc. Code controllers (based on CFCs) More than just MVC framework Development tools and event-driven
Documentation 250+ pages of documentation 30 Step by Step Guides Coldbox Dictionary The reason why we document: makes life easier for the developer.
Code Controllers No XML Dialect to describe your application Based on CFC’s and conventions Multiple applications with concise and common configuration files Smart Caching
Custom Convention Coldbox knows where to find code Coldbox knows what to execute Customizable Create own layouts, handlers, configuration files
Debugging tools Gives a lot of information for what is happening Times events & code Built in timer plugin Visual feedback Debugging monitors
Software Aspects Logging Facilities Helper classes Query helpers(sorting or filtering), java utilities, file utilities Environment detection Can detect between development, or production (multi-tier) Bug reports to send wherever you want Create own plugins
Request Collection Layouts Views View Controller Model Plugins Event Handlers Interceptor s Model Business Layer Plugins
Imitates a User Request Set values into, Get values from Request Scope Framework access
Ins and Outs: CFC Coldfuison Events are Public or Remote Methods Execution Points Event = handler.method
CFC Extends functionality of Coldbox Framework Visual Smart Caching How to call a plugin Messagebox plugin:
Framework executes interceptors at execution points preEvent, afterConfigurationLoad, etc. Custom Interceptor points Broadcasted through Application Programming Interface
Define a main default layout Define in Configuration File: Views to be rendered instead of layouts Layouts View s