Ah, the time is at hand, Grasshopper. ;)
Writing Fusedocs is an important part of the Fusebox Lifecycle
Process. It is the point at which the architect creates the
specification for each fuse file, telling the coder what the fuse is
supposed to do.
A Fusedoc contains "all the information the coder needs to write the
fuse, and nothing more". This can be difficult to do at first, but
your skills will improve as you go down the road.
Fusedoc 2.0 is an XML vocabulary devised by Hal Helms. You can get
the DTD at halhelms.com. A Fusedoc has 3 major sections:
Responsibilities, Properties, and IO. Rather than discussing them at
great length, here are a couple of examples. You should be able to
get the picture pretty quickly from them.
Here's a Fusedoc for a query fuse:
<!-- qryGetDeptEmployees.cfm -->
<!---
<fusedoc fuse="qryGetDeptEmployees.cfm" language="ColdFusion"
version="2.0">
<responsibilities>
I return a recordset of all employees for the specified
department.
<responsibilities>
<properties>
<history author="[EMAIL PROTECTED]" date="2005-02-17"
type="create" />
<note>This is a teaching fuse for Andy McShane</note>
</properties>
<io>
<in>
<number name="deptID" precision="integer" scope="attributes" />
</in>
<out>
<recordset name="qryGetDeptEmployees">
<number name="deptID" precision="integer" />
<number name="empID" precision="integer" />
<string name="employeeName" />
</recordset>
</out>
</io>
</fusedoc>
--->
And here's one for a display fuse that displays a form:
<!-- dspLoginForm.cfm -->
<!---
<fusedoc fuse="dspLoginForm.cfm" language="ColdFusion" version="2.0">
<responsibilities>
I display a form to allow the user to log in.
<responsibilities>
<properties>
<history author="[EMAIL PROTECTED]" date="2005-02-17"
type="create" />
<note>This is a teaching fuse for Andy McShane</note>
</properties>
<io>
<in>
<string name="xfa.loginButton" />
</in>
<out>
<string name="userID" scope="form" />
<string name="password" scope="form" />
</out>
</io>
</fusedoc>
--->
As for creating Fusedocs, you should drop by www.shayna.com and pick
up Sandy Clark's VTMs for HomeSite and/or her Dreamweaver extension,
depending on which tool you use. They provide tag completion, etc.,
for Fusedocs.
Fusedoc creation is not something you should shortcut, since it is
the part of the process that allows you to double-check the decisions
you've made as an architect, and make sure that everything lines up.
For example, the values that are required by one fuse are
appropriately created by another fuse. Well-written Fusedocs mean
that, when it's time to code, all the coder has to do is sit down and
write code that satisfies the Fusedoc. No decisions, no
externalities, just write the code. It's a wonderful experience.
- Jeff
On 17 Feb 2005 at 16:28, Andy Mcshane wrote:
> Ok guy's, I like the sound of the harness tool and it seems to be just
> the thing I could use but before I get too excited, I spotted the word
> 'Fusedoc'. Now, I noticed whilst I was doing my reasearch the odd
> mention of Fusedocs but did not pay too much attention at the time, so
> you guess what's coming now can't you? What exactly are Fusedocs, why
> have them, how do you create them and how do you use them? I can't
> remember exactly I saw these mentioned but I do not recall seeing any
> tutorials. ________________________________
http://www.GrokFusebox.com
"Fusebox 4 & FLiP: Master-Class ColdFusion Applications"
Now available at ProtonArts.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Find out how CFTicket can increase your company's customer support
efficiency by 100%
http://www.houseoffusion.com/banners/view.cfm?bannerid=49
Message: http://www.houseoffusion.com/lists.cfm/link=i:12:6637
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/12
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:12
Unsubscribe:
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.12
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54