1 / 41

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.

belva
Download Presentation

Coldbox Platform

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Coldbox Platform Web Applications Development Using Coldbox Platform Eddie Johnston

  2. What is Coldbox? • Model View Controller event-driven Coldfusion Framework. • Tool Set & Software foundation • Object Oriented Principles • Established on Code Controllers

  3. What is Coldbox? Cont. • Application features: bug reporting, logging, caching, debug tools, and much more. • Unit Test the entire application.

  4. Convention Over Configuration • Coldbox provides these defaults • Allows for files, classes, or methods to be put in the correct location • Faster production

  5. Framework Designed for Web Apps • Provides for the development of: • Dynamic websites • Web applications • Web services

  6. 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

  7. ColdFusion Markup Language(CFML)Cont. Rundown: • Supplements normal HTML files • database commands • conditional operators • formatting functions • CFCs, “CFML objects”

  8. ColdFusion Markup Language(CFML)Cont. Does not just generate HTML • CSS • XML • JavaScript • Much More

  9. ColdFusion Markup Language(CFML)Cont. • Not a markup language • Not SGML • CFML engine: • handles .cfm or .cfc files • processes CFML tags and functions

  10. ColdFusion Markup Language(CFML)Cont. CFML syntax • CFML tags similar to HTML tags • <cfset value = "Hello"> or • <cfset value = "Hello" /> <cfoutput> #value# Class!</cfoutput>

  11. ColdFusion Markup Language(CFML)Cont. CFML Custom Tags • Line to call myOwnCustTag.cfm • <cf_myOwnCustTag>

  12. Framework Designed for Web Apps • Reusable code • Libraries for accessing databases • Handling sessions

  13. Framework Designed for Web Apps Cont. Web Application Framework Architecture: • Most follow: Model View Controller (MVC) • Examples: .NET • PHP • Python • Java • JavaScript • much more

  14. Framework Designed for Web Apps Cont. • Coldbox • AJAX • MVC Framework • ORM • Testing Framework • Caching Utilities and Services • And much more

  15. Model View Controller (MVC) Controller Client View Model DB Application

  16. 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

  17. Model View Controller (MVC) Cont. Architecture Not Framework: • Can be implemented without object oriented programming or a class hierarchy.

  18. 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

  19. ColdBox 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

  20. 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

  21. 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.

  22. 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

  23. Coldbox Features cont. • Custom Convention • Coldbox knows where to find code • Coldbox knows what to execute • Customizable • Create own layouts, handlers, configuration files

  24. 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

  25. 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

  26. Controller Plugins Request Collection Event Handlers View Interceptors Layouts Views Model Model Business Layer Plugins

  27. Request Collection • Imitates a User Request • Set values into, Get values from • Request Scope • Framework access

  28. Event Handler Ins and Outs: • CFC • Coldfuison Events are Public or Remote Methods • Execution Points • Event = handler.method

  29. Plugins • CFC • Extends functionality of Coldbox Framework • Visual • Smart Caching • How to call a plugin • Messagebox plugin: <cfsetgetPlugin("messagebox").setMessage(“Error Content","Errorgrabbing data")>

  30. Interceptors • Framework executes interceptors at execution points • preEvent, afterConfigurationLoad, etc. • Custom Interceptor points • Broadcasted through Application Programming Interface

  31. Views and Layouts Define a main default layout Define in Configuration File: Views to be rendered instead of layouts Layouts Views Views

  32. Files in the Handler Directory

  33. Code inside the Main handler

  34. Layout Directory

  35. Sidebar to a web application generated by Coldbox Framework

  36. Snippet from Add Customer of Sidebar

  37. Overview • Web applications are not just websites • Convention Framework • More than MVC framework

  38. For more information Visit Coldbox online at http://www.coldbox.org/

  39. Questions Thank you

More Related