Transcript Document
Web Applications Development Using
Coldbox Platform
Eddie Johnston
Model View Controller eventdriven Coldfusion Framework.
Tool Set & Software foundation
Object Oriented Principles
Established on Code Controllers
Application features: bug reporting,
logging, caching, debug tools, and much
more.
Unit Test the entire application.
Coldbox provides these defaults
Allows for files, classes, or methods to be
put in the correct location
Faster production
Provides for the development of:
Dynamic websites
Web applications
Web services
Commonly called CFML
Scripting Language for Web Development
Runs on common engines
Open source implementations of CFML
engines
Adobe ColdFusion
BlueDragon
Many More
Rundown:
Supplements normal HTML files
database commands
conditional operators
formatting functions
CFCs, “CFML objects”
Does not just generate HTML
CSS
XML
JavaScript
Much More
Not a markup language
Not SGML
CFML engine:
handles .cfm or .cfc files
processes CFML tags and functions
CFML syntax
CFML tags similar to HTML tags
<cfset value = "Hello"> or
<cfset value = "Hello" />
<cfoutput> #value# Class!</cfoutput>
CFML Custom Tags
Line to call myOwnCustTag.cfm
<cf_myOwnCustTag>
Reusable code
Libraries for accessing databases
Handling sessions
Web Application Framework Architecture:
Most follow: Model View Controller (MVC)
Examples: .NET
PHP
Python
Java
JavaScript
much more
Coldbox
AJAX
MVC Framework
ORM
Testing Framework
Caching Utilities and Services
And much more
Controller
Client
Model
DB
Application
View
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
Controller
Request Collection
Plugins
Event Handlers
View
Layouts
Interceptor
s
Views
Model
Plugins
Model Business
Layer
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:
<cfset
getPlugin("messagebox").setMessage(“Error
Content","Error grabbing data")>
Framework executes interceptors at
execution points
preEvent, afterConfigurationLoad, etc.
Custom Interceptor points
Broadcasted through Application
Programming Interface
Layouts
View
s
View
s
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
Web applications are not just websites
Convention Framework
More than MVC framework
Visit Coldbox online at
http://www.coldbox.org/
Thank you