Fusebox 5 vs Model-Glue
JaxFusion September 2006
About the Presenter
David Fekke Developing Fusebox since 1.0 New to Model-Glue Early adopter of CFCs Lead for Vurv HR-XML API
What is covered in this Presentation
How to build web apps in Fusebox and Model-Glue
Basic XML syntax Basic MVC
What is not covered in this Presentation
Unity, i.e. Reactor or ColdSpring Fusedocs
Why use a Framework
80% percent of development is maintenance
Encourages the use of MVC design pattern
Reduces the need spaghetti code Makes your code more reusable
MySpace
Fusebox History
Just a methodology Custom Tags Version 3 added framework Version 4 uses XML config Version 5 rewritten with CFCs
Fusebox Basics
Fusebox is based on a simple switch mechanism, hence the name “Fusebox”
Code files are referred to as “Fuses” Most “fuse” files have very little code Documentation called Fusedocs
Fusebox components
Fusebox.xml Circuit.xml Core files in fusebox5 folder All requests through Index.cfm App divided into circuit folder Plugin directory
Fusebox.xml syntax
<cicuits> <classes> <parameters> <globalfuseactions> Appinit, preprocess, postprocess
Fusebox.xml plugin syntax
<Plugins> <phase name=“preProcess”> <phase name=“preFuseaction”> <phase name=“postFuseaction”> <phase name=“fuseactionException”> <phase name=“postProcess”> <phase name=“processError”>
Circuit.xml syntax
<fuseaction name=“fuseactionname”> <xfa name=“save” value=“app.save” /> <include template=“file.cfm” /> <do action=“m.saveCat”/> <set name=“id” value=“1” /> <if condition=“”> <instantiate/> <invoke />
Lexicons
Add your own verbs Lexicon folders
Code Examples
Model-Glue Framework
Developed by Joe Rinehart of BAH Also uses XML config file Meant for more OO styled programming MG-Unity is adding support Reactor, and
ColdSpring
Model-Glue structure
All requests through Index.cfm Config directory Model-Glue.xml Controller CFCs ModelGlue folder in web root
Model-Glue config syntax
Controller, message-listener event-handler Broadcasts, message Views, include Results
Code Examples
Other Frameworks
Mach-II OnTap: based on Tapestry CF on Wheels Ruby on Rails Django for Python Cairngorm Flex Struts, JSF and many others…
Links
www.model-glue.com www.fusebox.org corfield.org www.techspedition.com www.halhelms.com www.briankotek.com/blog/ clearsoftware.net
Top Related