More on Fusebox at www.halhelms.com Fusebox Development Methodology : www.fusebox.org More on Fusebox at www.halhelms.com Fusebox Development Methodology.

Slides:



Advertisements
Similar presentations
Introduction to ASP.NET MVC
Advertisements

M2 – Explain the tools and techniques used in the creation of an interactive website. By Arturas Vitkovskij.
Error Handling With Fusebox Presentation By Eron Cohen.
FuseBox 4 - From the Beginning… Kevin Penny, MMCP
© 2005 EMC Corporation. All rights reserved. Module 9 Workflows.
Fusebox Framework Florencio Almirol. Overview What is Fusebox? Concepts Request-Response Process Extending Fusebox.
CFUNITED – The premier ColdFusion conference Mindmaps For Better Programming Michael Smith TeraTech, Inc.
® IBM Software Group © 2006 IBM Corporation How to read/write XML using EGL This Learning Module shows how to utilize an EGL Library to read/write an XML.
Struts 2.0 an Overview ( )
Fusebox 3.0 The Framework, The Methodology, The Community Nat Papovich, Fusium.
March 12 & 13, 2007 Fusebox 5.5 Scaffolding Kevin Roche Objective Internet Ltd.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
1/48 Real World FLiP Fusebox Life-cycle Process Michael Smith, TeraTech, Inc
March 12 & 13, 2007 Using FLiP as a sole developer Christian Ready Christian Ready Web Services.
Creating a Basic Web Page
Page Layout and Navigation in ColdFusion Jon Brundage CF Developer / Accessibility and Section 508 Consultant MDCFUG April 2003.
WorkPlace Pro Utilities.
© 2010 MediaMind Technologies Inc. | All rights reserved MediaMind Creative Michael Conway | Head of creative APAC July 2012.
Prelude to Fusebox Prerequisite Understanding: / Variable scopes: session/client/application/request/attributes/caller Custom tags URLToken If you don’t.
Don’t Be Q-less Expanding Fusebox Functionality with FuseQ John Quarto-vonTivadar FutureNow, Inc.
Frameworks: Mach II or Fusebox 4? Sean A Corfield Director of Architecture Macromedia, Inc.
1/20 1 How to become a Guru Coder Michael Smith, TeraTech, Inc x110 Copyright.
More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology.
An Introduction to Fusebox 3.0 Fusebox 3.0. An Introduction to Fusebox 3.0 The Fusebox Philosophy There are two ways of constructing a software design:
COLD FUSION Deepak Sethi. What is it…. Cold fusion is a complete web application server mainly used for developing e-business applications. It allows.
University of Sunderland CDM105 Session 5 Web Authoring Tools The past and present A history of web authoring tools and an overview of Macromedia Dreamweaver.
Building Your First Fusebox 4 Application Jeff Peters
Welcome To CIS115 Introduction to Programming & Logic.
Nested Layouts in Fusebox 3 John Quarto-vonTivadar FutureNow, Inc.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
©2003 The Fusebox Corporation Fusebox MX Hal Helms.
©2003 TeraTech, Inc Fusebox 4 Michael Smith, TeraTech, Inc x110 Copyright TeraTech 2003.
1/36 1 Project Management What works, what doesn’t Michael Smith, TeraTech, Inc
Introduction to ColdFusion Yu Fu 2003 MEC Candidate.
Advance Map Automation With Python
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
An Introduction to XFB 1 XFB There's a fine line between genius and insanity. I have erased this line. Oscar Levant.
REAL TIME GPS TRACKING SYSTEM MSE PROJECT PHASE I PRESENTATION Bakor Kamal CIS 895.
More on Fusebox at Fusebox 3 Development Methodology : Fusebox 3.0 With thanks to David Laing, Hal.
BlackBox Methodology A means of creating efficient and flexible reusable ColdFusion code.
Application.cfm tips and Tricks Michael Smith President TeraTech, Inc ColdFusion, database & VB custom development and training.
CFUGs “Why I like CF” Michael Smith President TeraTech, Inc ColdFusion, Database & VB custom development
Layouts in Fusebox 4 Sandra Clark
Fusebox 5 vs Model-Glue JaxFusion September 2006.
Web Development 101 Presented by John Valance
DEV303 ASP.NET: Leveraging Visual Studio.NET For Web Projects Tony Goodhew Product Manager Microsoft Corp.
Building Fusebox Frameworks Jeff Peters
Converting to Fusebox: asking an old CF app to FLiP * Challenges Methods Results Mark Wimer USGS Patuxent Wildlife Research Center,
Fusebox Conference 2001 Out with the old in with the new An introduction to Fusebox 3.0 for current Fusebox developers By Erik Voldengen
An Introduction to FB4 An Introduction to Fusebox 4 If written directions alone would suffice, libraries wouldn't need to have the rest of the universities.
Advanced Fusebox: Securing a Fusebox Application By Steve Nelson SecretAgents.com.
Date : 3/04/2010 Web Technology Solutions Class: PHP Web Application Frameworks.
The Need for Speed! Steve Nelson. Internet Startup Failure 2000 More Internet startups failed this year than ever before Why did this happen? How can.
Building CF Applications with Fusebox Steve Nelson CTO, Zero-G Commerce, Inc. member, Team Allaire Chairman of Fusebox.org.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
1/20 1 How to become a Guru Coder Michael Smith, TeraTech, Inc x110 Copyright.
Fusebox Not Just For Breakfast Anymore! An Introduction to Fusebox Author: Fred T. Sanders, Instant Knowledge Some Content unscrupulously taken from Steve.
Modern Development Technologies in SharePoint SHAREPOINT SATURDAY OMAHA APRIL, 2016.
WEB DESIGN CONCEPTS Brayden Burr. UNDERSTANDING THE CONTENT.
FOS Fusebox Open Source. Standards GOOD Built to match needs of an environment Proven Solutions BAD Environments change Solutions change.
1 Using FLiP as a sole developer Christian Ready Christian Ready Web Services.
1/23 How to become a Guru Coder Michael Smith TeraTech, Inc x110 Copyright.
Web Technology Solutions
Getting Started with Dreamweaver
For Better Programming
Data Virtualization Tutorial: JSON_TABLE Queries
Design and Maintenance of Web Applications in J2EE
Brian Kotek INDUS Corporation
Getting Started with Dreamweaver
Jeff Peters Fusedoc Success Jeff Peters
Presentation transcript:

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Sicherungskasten 3.0 (Fusebox 3.0) Michael Smith, TeraTech Inc MDCFUG Sandra Clark, Shayna Productions LACFUG

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Intro Who am I? Michael Smith President of TeraTech, Inc Rockville MD USA – –ttWebReportServer, CFXGraphicserver MDCFUG, CFUNK2, Fusebox Conf Articles in CFDJ, Fusion Authority

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Overview General Concepts and Demo Benefits of Standardization What makes Fusebox 3, Fusebox 3? How Fusebox Works Pros and Cons of Fusebox 3 Transitioning from FB2 to FB3 Links of Interest

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : General Concepts There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. C.A.R. Hoare

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Overview Fusebox is a programming methodology (=way to organize code and projects) Not language specific - CF, ASP, PHP Fusebox is „Sicherungskasten“

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Demo - overview Mortgage app No DSN required Drag and drop a loan schedule component into the app 1.Show Mortgage site and calculators circuit 2.Show loan app component 3.Drag and drop loan app into calculator circuit

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Demo - Wiring in the component 1.Edit /fuses/fbx_circuits.cfm 2.Edit /calculators/fxb_switch.cfm add 3. Edit /calculators/fuses/dsp_calchome.cfm add HTML for new link

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Demo - summary That is it! Only two standard files had to be edited to wire in the component. No editing the internals of the code required. Can hand off the HTML to a design for “prettifying” Will explain how this works in the rest of presentation.

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : State of the Art: Failure 70% Failure Rate! Not completed Buggy Needs not met Maintenance headaches Cost overruns

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Point-to-Point Routing New York Tampa

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Hub-and-Spoke System Tampa New York Chicago Seattle Los Angeles

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Point-to-Point Programming Module A Module B Module D Module E Module F Module C

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Fusebox Programming Module AModule BModule D Module EModule FModule C Fusebox

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Benefits of Standardization Better team communication Cheaper maintenance Can pick up others code faster Fewer bugs due to different styles Can think about the fun stuff instead of code structure

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Fuses always make requests of the fusebox <input type=“hidden” name=“fuseaction” value=“Tampa”> Fusebox the fusebox a fuse

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : The fusebox

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Including a fuse The fusebox with a lot of fuseactions …. dsp_anotherFuse.cfm dsp_yetAnotherFuse.cfm act_aFuse.cfm “doSomething” The fuseaction The fuses

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : What makes Fusebox? Route Fuseaction via index.cfm Separate fuses in CFINCLUDEs by type –dsp, act, qry, url, fbx Well documented (Fusedoc) for reuse and easier maintenance Group code into circuits Tools and community

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : What makes Fusebox 3 Nested Circuits Nested Layouts Compound Fuseactions Exit Fuseactions (XFA’s) XML Fusedocs

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Fusebox Project Cycle Wireframe HTML Prototype Prototype + Devnotes Final Code + Devnotes Formal Sign off

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Assumptions Basic FB knowledge i.e. –Fuseaction – –Naming of FB files, act_, dsp_, qry_ –Fusebox separates out SQL, CF, HTML and flow control

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Bring on FB3 20 October 2001 at 2 nd Fusebox Conference, Orlando. Keynoted by Jeremy Allaire, Hal Helms Two day conference planned for next year, weekend preceeding DevCon 2002 Big change from FB2 Several revisions since launch to produce stable code (NO MAJOR CHANGES!)

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Nested Circuits One module is a circuit Parent-child - nested

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Nested Layouts

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Compound Fuseactions A request made of the server to perform some action is known as a fuseaction. Fuseactions are made up of the circuit name, a dot separator, and the actual request. –Cart.addItem –Users.login –Scheduler.requestMeeting

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Exit Fuseactions (XFAs) A hardcoded value for the next fuseaction... – …is replaced with a variable: –

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Setting XFAs XFAs represent exit points for a fuseaction. XFA values are set in FBX_Switch.cfm

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : XML Fusedocs Fusedocs are now in XML Makes typing them easier – CF Studio help Makes parsing them by programs easier – eg Jeff Peter’s fuse harness program, Bjorkman’s site inspector Makes reading them easier – color coding

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Fusedoc A standardized documentation/program definition language for use with Fusebox XML-based (DTD available) Fusedoc tools (in the works)

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : How Fusebox Works – A Fusebox Request A fuseaction request is sent to the web server’s default page: Register Now

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : A Fusebox Request The default page includes the core Fusebox file:

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : A Fusebox Request The fusebox file determines which circuit the request belongs to and includes that circuit’s FBX_Switch.cfm file. This switch file includes one or more fuses needed to fullfill the request:

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : A Fusebox Request The circuit is completed by the fuse making a new fuseaction request:...

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Transitioning from Fusebox to Fusebox3 A New Prefix – fbx “app_” denotes “application” “fbx_” denotes “fusebox” Our settings only apply to a fusebox, not the entire application, so we’re going with fbx_

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : THE FBX FILES fbx_fusebox_cfxx.cfm fbx_settings.cfm fbx_layouts.cfm fbx_switch.cfm fbx_circuits.cfm

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : What CHANGED IN index.cfm?

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Typical FB2 index.cfm

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Typical FB2 index.cfm… App_Locals.cfmfbx_settings.cfm (MyGlobals.cfm = fbx_settings.cfm)

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : fbx _ settings.cfm Takes the place of app_globals and app_locals. One fbx_settings file per circuit Let’s take a look…

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Typical FB2 index.cfm cf_bodycontent app_layout.cfm fbx_fusebox_cfxx.cfm fbx_layouts.cfm

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : fbx _ layouts.cfm Layout settings for the circuit Let’s take a look at a layout file…

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Typical FB2 index.cfm Fusebox code in the cfswitch fbx_switch.cfm

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Fbx _ switch.cfm Contains the code, nothing else.

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Typical FB2 index.cfm

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Typical FB2 index.cfm

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Typical FB2 index.cfm

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Typical FB2 index.cfm

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : So what’s in index.cfm? Index.cfm contains the core Fusebox file cfinclude the fbx_fusebox30_cfxx.cfm file -or- copy/paste the code from fbx_fusebox into index.cfm

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Fbx _ Fusebox30 _ CFXX.cfm Contains the “guts” of fusebox. Combines several FB2 tags (and then some) You never need to touch this file.

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : All Done! That was easy! Transitioning from FB2 to FB3 is not as intimidating as it may sound! If you (or your boss) have strong resistance to change, try doing it in phases…

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : FB TRANSITION Phases In the real world, not every organization will switch to FB3 instantly. If this is you, you can transition your methodology in phases: 1.XFAs 2.Fusedocs 3.Plunge in 100%

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Migrating Fb2 to Fb3 App_locals.cfm & app_globals > FBX_settings.cfm Application.cfm can go in FBX_Settings.cfm Index.cfm is not strictly the same thing as the ‘Fusebox’ anymore Include core file CFSWITCH into FBX_Switch.cfm Typicallayout.cfm

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : FB3 Component Files Core Fusebox files begin with FBX_ prefix –FBX_Settings.cfm –FBX_Circuits.cfm –FBX_Switch.cfm –FBX_Layouts.cfm –FBX_Savecontent.cfm –FBX_Fusebox3XX_CF50.cfm –FBX_Fusebox3XX_CF45.cfm –FBX_Fusebox3XX_CF40.cfm

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : FBX_Settings.cfm Optional – although need to modify suppresserrors=true, (best to have empty fbx_settings.cfm for future use) Sets variables needed by the application Each circuit may have its own FBX_Settings.cfm Called from top down, ie Child over rides Parent Replaces myGlobals.cfm, app_Globals.cfm and app_locals.cfm

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : FBX_Circuits.cfm REQUIRED in home circuit Maps circuit aliases to physical paths Circuit alias is a key within a structure called Circuits within reserved structure Fusebox Fusebox.Circuits.home=Grandparent; Fusebox.Circuits.parent=Grandparent/Parent; Fusebox.Circuits.child=Grandparent/Parent/Child; …

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : FBX_Switch.cfm Placed in every circuit that will handle fuseactions. statement with a for each fuseaction the circuit will handle

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : FBX_Layouts.cfm Required in any circuit that implements a separate layout file Sets variables, Fusebox.layoutDir and Fusebox.layoutFile Fusebox.layoutfile should output Fusebox.layout (minimum)

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : FBX_Savecontent.cfm Only used if CF version not 5 Is basically the tag Macromedia implemented in CF5

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : FBX_Fusebox3XX_CFXX.cfm Only one will be called Specific version for each CF version Optimised for app server version _nix versions added recently to overcome platform issues (CFRETHROW on nix) SHOULD NOT BE EDITED!

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Core Files? Performs all jobs FB2 custom tags did –CF_bodycontent –CF_formUrl2Attributes –CF_nesting –Etc… Exposes public API variables

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Public API variables Fusebox.isCustomTag Fusebox.isHomeCircuit Fusebox.isTargetCircuit Fusebox.fuseaction Fusebox.circuit Fusebox.homeCircuit Fusebox.targetCircuit Fusebox.thisCircuit

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Public API variables (cont…) Fusebox.thisLayoutFile Fusebox.thisLayoutDir Fusebox.CurrentPath Fusebox.RootPath Fusebox.layout Fusebox.SupressErrors

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Resources Fusebox core files are freely available from Various sites have free tutorials, white papers, sample code, etc. – – – – – –php version Hal Helms articles in CFDJ magazine

More on Fusebox at Fusebox Development Methodology : More on Fusebox at Fusebox Development Methodology : Questions? Fusebox book Fusebox classes – in Rockville and onsite