Home Contact

PD Versus-inspired Logophilduba.com

Adventures in Web Application Develompent by Phil Duba

Recent Entries

Popular Entries

Top Commenters

  • Nathan Mische (12)
  • CFFusionDev (6)
  • CFdevfusion (6)
  • Peter Bell (4)
  • Sean Corfield (3)
  • Rey Bango (3)
  • Terrence Ryan (3)
  • ah7866 (3)
  • Scott (2)
  • Jim Priest (2)

Slideshows

Dresser/Changing Table...
Images related to the lay...
Nursery renovations...
Pool Surprises...

Sponsored Links

Text Link Ads

CFUnited: ColdBox Framework 101

Posted On June 21, 2008 10:36 AM By Phil in CFUnited

Friday afternoon started off by me attending Luis Majano's Coldbox Framework 101 presentation. I must admit, I have never really looked at the framework before and wanted to see how it differs from the other frameworks. Luis gave a good overview of his framework and covered topics to be released in the next version (2.6 I believe). Anyways, here are my notes for this presentation:

by Luis Majano. covers 2.6 pending release.

Why was it created
- didn't start as an OS project
- designed back in 2005
- internal framework

What is ColdBox
- event-driven
- follows OO principles and best practices
- Conventions based framework
    - based on code controllers and not xml dialects
    - is a non-intrusive framework
- is a mvc framework but also has software tools
- a number of plug-ins to assist with integration with other technologies

Documentation
- mandatory
- increases adaptation rate
- over 38 step by step guides
- over 500 pages
- extremely important in the framework development

Custom Conventions
- use pre-determined set of folder names and locations
- ColdBox knows where to find the code it needs, no need of declaring logic or applicaiton flow in XML
- can create own application layouts
- can create per-application conventions

Code Controllers
- just CFCs
- new event = new function
- makes them more reusable and unit testable
- results in multiple applications running

Debugging Tools
- shows ColdBox under the hood
- gives feedback on some monitors - cache, cacheViewer, execution profile - across the whole request
- has logging facilities
- can use traces to see how data changes when events changes

Smart Caching
- more object caching, different timeouts
- Uses new JVM, multi-threading in CF8
- uses JDK 1.5>
- JVM memory aware

Software Toolkit
- logging facilities
- SES URLs
- Helper classes for storage
- security mechanism
- IoC

ColdBox Proxy
- interacts with RIA technologies
- can allow for creation of subscriber/publisher models
- does AJAX CFC data binding

Dashboard
- separate application & license (will be open source in its next release)
- built on ColdBox technology
- Documents ColdBox application API
- checks for updates

Request Collection
- takes form and urls and creates one data structure
- all parts of framework has access to it
- can set the layouts, views, etc.

Event Handler
- just a CFC
- events = public methods
- uses caching by cffunction metadata
- does all the piping to get your application to work

Layouts & Views
- it is a layout manager
- can declare implicit layouts beforehand or at runtime
- can use in folder which can really help in separating applications, part of the whole use a core
- can be rendered either as a view itself or as a content variable

Plugins
- are also CFCs

Interceptors
- wrap themselves around different execution points within an event
- this is how SES URLs are done in 2.6
- can be chained
- can be done a runtime (register/unregister), all using API
- a number of core ones, SES URLs, autowire, security, execution tracer

Demo
- Showed how to create an app using the dashboard
- it really isn't a black box, everything is shown
- syntax highlighting CFEclipse
- showed the sample application
- showed a Flex application

I think this framework, as well as Sean Corfield's Edmund, create a new way of thinking about how to build and organize applications in ColdFusion (CFML). Using convention over XML configurations, in theory, should allow for more natural migration between frameworks/application and/or usage of components outside of ColdFusion.

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)

Post Your Comments

Captcha

If you subscribe, any new posts to this thread will be sent to your email address.