COLDBOX PLATFORM Web Applications Development Using Coldbox Platform

COLDBOX PLATFORM Web Applications Development Using Coldbox Platform Eddie Johnston

What is Coldbox? � � Model View Controller event-driven Coldfusion Framework. Tool Set & Software foundation Object Oriented Principles Established on Code Controllers

What is Coldbox? Cont. � � Application features: bug reporting, logging, caching, debug tools, and much more. Unit Test the entire application.

Convention Over Configuration � � � Coldbox provides these defaults Allows for files, classes, or methods to be put in the correct location Faster production

Framework Designed for Web Apps � � Provides for the development of: Dynamic websites Web applications Web services

Cold. Fusion Markup Language(CFML) � � � � Commonly called CFML Scripting Language for Web Development Runs on common engines Open source implementations of CFML engines Adobe Cold. Fusion Blue. Dragon Many More

Cold. Fusion Markup Language(CFML) Cont. Rundown: � Supplements normal HTML files � database commands � conditional operators � formatting functions � CFCs, “CFML objects”

Cold. Fusion Markup Language(CFML) Cont. Does not just generate HTML � CSS � XML � Java. Script � Much More

Cold. Fusion Markup Language(CFML) Cont. � � � Not a markup language Not SGML CFML engine: handles. cfm or. cfc files processes CFML tags and functions

Cold. Fusion Markup Language(CFML) Cont. CFML syntax � CFML tags similar to HTML tags � <cfset value = "Hello"> or � <cfset value = "Hello" /> <cfoutput> #value# Class!</cfoutput>

Cold. Fusion Markup Language(CFML) Cont. CFML Custom Tags � Line to call my. Own. Cust. Tag. cfm � <cf_my. Own. Cust. Tag>

Framework Designed for Web Apps � � � Reusable code Libraries for accessing databases Handling sessions

Framework Designed for Web Apps Cont. Web Application Framework Architecture: � Most follow: Model View Controller (MVC) � Examples: . NET � PHP � Python � Java. Script � much more �

Framework Designed for Web Apps Cont. � Coldbox � AJAX � MVC Framework � ORM � Testing Framework � Caching Utilities and Services � And much more

Model View Controller (MVC) Controller Client Model DB Application View

Model View Controller (MVC) � � 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

Model View Controller (MVC) Cont. Architecture Not Framework: � Can be implemented without object oriented programming or a class hierarchy.

Model View Controller (MVC) Cont. 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

Cold. Box Origin � � 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

Why Coldbox? � 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

Coldbox Features � Documentation � 250+ pages of documentation � 30 Step by Step Guides �Coldbox Dictionary �The reason why we document: makes life easier for the developer.

Coldbox Features cont. � 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

Coldbox Features cont. � Custom Convention �Coldbox knows where to find code �Coldbox knows what to execute �Customizable Create own layouts, handlers, configuration files

Coldbox Features cont. � Debugging tools Gives a lot of information for what is happening Times events & code Built in timer plugin Visual feedback Debugging monitors

Coldbox Features cont. � 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

Controller Request Collection Plugins Event Handlers View Layouts Interceptors Views Model Plugins Model Business Layer

Request Collection � Imitates a User Request � Set values into, Get values from � Request Scope � Framework access

Event Handler Ins and Outs: � CFC � Coldfuison Events are Public or Remote Methods � Execution Points � Event = handler. method

Plugins CFC � Extends functionality of Coldbox Framework � Visual � Smart Caching � How to call a plugin � Messagebox plugin: <cfset get. Plugin("messagebox"). set. Message(“Error Content", "Error grabbing data")> �

Interceptors � � Framework executes interceptors at execution points pre. Event, after. Configuration. Load, etc. Custom Interceptor points Broadcasted through Application Programming Interface

Views and Layouts Views Define a main default layout Define in Configuration File: Views to be rendered instead of layouts



Files in the Handler Directory

Code inside the Main handler

Layout Directory

Sidebar to a web application generated by Coldbox Framework

Snippet from Add Customer of Sidebar

Overview � � � Web applications are not just websites Convention Framework More than MVC framework

For more information Visit Coldbox online at http: //www. coldbox. org/

Questions Thank you
- Slides: 41