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