web applications development using coldbox platform eddie johnston
TRANSCRIPT
![Page 1: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/1.jpg)
COLDBOX PLATFORMWeb Applications Development
Using Coldbox Platform
Eddie Johnston
![Page 2: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/2.jpg)
What is Coldbox?
Model View Controller event-driven Coldfusion Framework.
Tool Set & Software foundation Object Oriented Principles Established on Code
Controllers
![Page 3: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/3.jpg)
What is Coldbox? Cont.
Application features: bug reporting, logging, caching, debug tools, and much more.
Unit Test the entire application.
![Page 4: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/4.jpg)
Convention Over Configuration
Coldbox provides these defaults Allows for files, classes, or methods
to be put in the correct location Faster production
![Page 5: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/5.jpg)
Framework Designed for Web Apps
Provides for the development of: Dynamic websites Web applications Web services
![Page 6: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/6.jpg)
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
![Page 7: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/7.jpg)
ColdFusion Markup Language(CFML) Cont.
Rundown: Supplements normal HTML files database commands conditional operators formatting functions CFCs, “CFML objects”
![Page 8: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/8.jpg)
ColdFusion Markup Language(CFML) Cont.
Does not just generate HTML CSS XML JavaScript Much More
![Page 9: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/9.jpg)
ColdFusion Markup Language(CFML) Cont.
Not a markup language Not SGML
CFML engine: handles .cfm or .cfc files processes CFML tags and
functions
![Page 10: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/10.jpg)
ColdFusion Markup Language(CFML) Cont.
CFML syntax CFML tags similar to HTML tags <cfset value = "Hello"> or <cfset value = "Hello" />
<cfoutput> #value# Class!</cfoutput>
![Page 11: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/11.jpg)
ColdFusion Markup Language(CFML) Cont.
CFML Custom Tags Line to call myOwnCustTag.cfm <cf_myOwnCustTag>
![Page 12: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/12.jpg)
Framework Designed for Web Apps
Reusable code Libraries for accessing databases Handling sessions
![Page 13: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/13.jpg)
Framework Designed for Web Apps Cont.
Web Application Framework Architecture: Most follow: Model View Controller
(MVC) Examples: .NET PHP Python Java JavaScript much more
![Page 14: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/14.jpg)
Coldbox AJAX MVC Framework ORM Testing Framework Caching Utilities and Services And much more
Framework Designed for Web Apps Cont.
![Page 15: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/15.jpg)
Model View Controller (MVC)
Application
Client
ViewModel
Controller
DB
![Page 16: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/16.jpg)
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
![Page 17: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/17.jpg)
Model View Controller (MVC) Cont.
Architecture Not Framework:
Can be implemented without object oriented programming or a class hierarchy.
![Page 18: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/18.jpg)
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
![Page 19: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/19.jpg)
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
![Page 20: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/20.jpg)
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
![Page 21: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/21.jpg)
Coldbox Features
Documentation250+ pages of documentation30 Step by Step GuidesColdbox DictionaryThe reason why we document:
makes life easier for the developer.
![Page 22: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/22.jpg)
Coldbox Features cont.
Code ControllersNo XML Dialect to describe your
applicationBased on CFC’s and conventionsMultiple applications with concise
and common configuration filesSmart Caching
![Page 23: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/23.jpg)
Coldbox Features cont.
Custom ConventionColdbox knows where to find codeColdbox knows what to executeCustomizable
Create own layouts, handlers, configuration files
![Page 24: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/24.jpg)
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
![Page 25: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/25.jpg)
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
![Page 26: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/26.jpg)
Request Collection
Layouts
Views
View
Controller
Model
Plugins
Event Handlers
Interceptors
Model Business Layer
Plugins
![Page 27: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/27.jpg)
Request Collection
Imitates a User Request
Set values into, Get values from
Request Scope
Framework access
![Page 28: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/28.jpg)
Event Handler
Ins and Outs: CFC
Coldfuison Events are Public or Remote Methods
Execution Points
Event = handler.method
![Page 29: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/29.jpg)
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")>
![Page 30: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/30.jpg)
Interceptors
Framework executes interceptors at execution points
preEvent, afterConfigurationLoad, etc.
Custom Interceptor points Broadcasted through Application
Programming Interface
![Page 31: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/31.jpg)
Views and Layouts
Define a main default layout
Define in Configuration File: Views to be rendered instead of layouts
Layouts
Views
Views
![Page 32: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/32.jpg)
![Page 33: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/33.jpg)
![Page 34: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/34.jpg)
Files in the Handler Directory
![Page 35: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/35.jpg)
Code inside the Main handler
![Page 36: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/36.jpg)
Layout Directory
![Page 37: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/37.jpg)
Sidebar to a web application generated by Coldbox Framework
![Page 38: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/38.jpg)
Snippet from Add Customer of Sidebar
![Page 39: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/39.jpg)
Overview
Web applications are not just websites
Convention Framework More than MVC framework
![Page 41: Web Applications Development Using Coldbox Platform Eddie Johnston](https://reader036.vdocuments.mx/reader036/viewer/2022081519/56649ce55503460f949b26e9/html5/thumbnails/41.jpg)
Questions
Thank you