Download
fw 1 framework one n.
Skip this Video
Loading SlideShow in 5 Seconds..
FW/1 - Framework One PowerPoint Presentation
Download Presentation
FW/1 - Framework One

FW/1 - Framework One

154 Views Download Presentation
Download Presentation

FW/1 - Framework One

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. FW/1 - Framework One An introduction to the ColdFusion framework created by Sean Corfield. Presented by Ben Ellefson

  2. About Me • ColdFusion developer for 9 years • Twin Cities CFUG Manager • Framework enthusiast • Experience with Fusebox, Model-Glue, Mach-ii, ColdBox, ColdSpring, Reactor and now FW/1 • Disclaimer: Mach-ii fan

  3. What is FW/1? • ColdFusion MVC Framework • Lightweight – single CFC file (1700 lines) • Convention based instead of configuration based • Flexible code organization

  4. Why Sean made FW/1 • Dissatisfied with current application frameworks • Too bloated • Too complex • Requires XML • Dependent on configuration • Too much overhead for simple apps

  5. Simple Application • org • Contains single framework file • views • Contains section folders • View cfm files within each folder • Application.cfc • Extends org.corfield.framework • Index.cfm • Blank

  6. Standard Application • controllers • Contains cfc for each section • layouts • Contains cfm for each layout • services • Contains cfc for each service

  7. FW/1 URLs • All links direct to /index.cfm • Pages access using ?action=section.item • Section = name of folder within views folder • Item = file within views/section folder • SES URLs available • /index.cfm/section/item/name/value

  8. Controllers • ?action=section.item looks for the method item() in /controllers/section.cfc • Passes the request collection “rc” as a single argument. Struct containing url and form variables, plus more. • Automatically calls before(), startItem(), Item(), endItem(), after() • Controllers are cached, cleared with ?reload=true

  9. Layouts • Multiple layouts are available • View Layout: /layouts/section/item.cfm • Section Layout: /layouts/section.cfm • Site Layout: /layouts/default.cfm • Layouts cascade from view to section to site • Cancel cascading by setting request.layout = false • #body# contains current rendered view

  10. Services • Services called from controller by fw.service(“cfc.function",“variable") • Results placed in requet collection “rc” with variable name stated in the call

  11. Views • Receive the request collection “rc” from the controller to display variables populated by the service. • View file called is automatically determined by the action (i.e. section.item) • View file can be changed by calling setView() or setLayout() to call a new action.

  12. Critique • Hard to find information • No framework website • Documentation only found through Corfield’s Blog • No community around FW/1 • Very little found via Google search • Framework not compatible with CF previous to 9.0.1 • Conventions assume small app and do not allow for deep nesting of folders.

  13. Critique • Sample and Skeleton apps are poor • Filled with bugs • Too simple to understand how a full app would be built with FW/1 • No comments in code • In 6 hours testing for this presentation, I was unable to build one page that had a query in the service passed to the view to display.

  14. More Information • Available for download at http://fw1.riaforge.org/ • Free for use under the Apache 2.0 License • Latest version requires ColdFusion 9.0.1 • Documentation at https://github.com/seancorfield/fw1/wiki