Coldbox Platform

Preview:

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

COLDBOX PLATFORMWeb 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

ColdFusion Markup Language(CFML)

Commonly called CFML Scripting Language for Web

Development Runs on common engines Open source implementations of

CFML engines Adobe ColdFusion BlueDragon Many More

ColdFusion Markup Language(CFML) Cont.

Rundown: Supplements normal HTML files database commands conditional operators formatting functions CFCs, “CFML objects”

ColdFusion Markup Language(CFML) Cont.

Does not just generate HTML CSS XML JavaScript Much More

ColdFusion Markup Language(CFML) Cont.

Not a markup language Not SGML

CFML engine: handles .cfm or .cfc files processes CFML tags and

functions

ColdFusion Markup Language(CFML) Cont.

CFML syntax CFML tags similar to HTML tags <cfset value = "Hello"> or <cfset value = "Hello" />

<cfoutput> #value# Class!</cfoutput>

ColdFusion Markup Language(CFML) Cont.

CFML Custom Tags Line to call myOwnCustTag.cfm <cf_myOwnCustTag>

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 JavaScript much more

Coldbox AJAX MVC Framework ORM Testing Framework Caching Utilities and Services And much more

Framework Designed for Web Apps Cont.

Model View Controller (MVC)

Application

Client

ViewModel

Controller

DB

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

ColdBox Origin

Original Designed for multiple tier web application in 2005.

Became open source July 2006. Developed by Luis Majano of Ortus

SolutionsContinued 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

Documentation250+ pages of documentation30 Step by Step GuidesColdbox DictionaryThe reason why we document:

makes life easier for the developer.

Coldbox Features cont.

Code ControllersNo XML Dialect to describe your

applicationBased on CFC’s and conventionsMultiple applications with concise

and common configuration filesSmart Caching

Coldbox Features cont.

Custom ConventionColdbox knows where to find codeColdbox knows what to executeCustomizable

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 detectionCan 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

Interceptors

Model Business Layer

Plugins

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 getPlugin("messagebox").setMessage(“Error Content","Error grabbing data")>

Interceptors

Framework executes interceptors at execution points

preEvent, afterConfigurationLoad, etc.

Custom Interceptor points Broadcasted through Application

Programming Interface

Views and Layouts

Define a main default layout

Define in Configuration File: Views to be rendered instead of layouts

Layouts

Views

Views

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 athttp://www.coldbox.org/

Questions

Thank you

Recommended