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