<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Fusebox XML Flowchart Generator</title>
	<atom:link href="http://www.barneyb.com/barneyblog/2009/11/17/fusebox-xml-flowchart-generator/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.barneyb.com/barneyblog/2009/11/17/fusebox-xml-flowchart-generator/</link>
	<description>Thoughts, rants, and even some code from the mind of Barney Boisvert.</description>
	<lastBuildDate>Thu, 11 Sep 2014 09:58:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: barneyb</title>
		<link>https://www.barneyb.com/barneyblog/2009/11/17/fusebox-xml-flowchart-generator/comment-page-1/#comment-199578</link>
		<dc:creator>barneyb</dc:creator>
		<pubDate>Wed, 16 Dec 2009 15:47:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1136#comment-199578</guid>
		<description>Panos,

I&#039;m not sure what the issue is, but you can avoid the error by replacing &#039;verb.verbs&#039; with 

iif(structKeyExists(verb, &quot;verbs&quot;), &quot;verb.verbs&quot;, arrayNew(1))

which will just synthesize an empty verb list.  It&#039;s entirely possible that I&#039;ve missed some edge case with the XML format and that&#039;s the root issue; this was just an ad hoc project I threw together so I didn&#039;t do any sort of edge analysis.  If you wrap line 13 with a cftry..cfcatch and just dump the &#039;verb&#039; struct if an error is raised, that&#039;ll probably give you some insight as to what the problem might be.</description>
		<content:encoded><![CDATA[<p>Panos,</p>
<p>I'm not sure what the issue is, but you can avoid the error by replacing 'verb.verbs' with </p>
<p>iif(structKeyExists(verb, "verbs"), "verb.verbs", arrayNew(1))</p>
<p>which will just synthesize an empty verb list.  It's entirely possible that I've missed some edge case with the XML format and that's the root issue; this was just an ad hoc project I threw together so I didn't do any sort of edge analysis.  If you wrap line 13 with a cftry..cfcatch and just dump the 'verb' struct if an error is raised, that'll probably give you some insight as to what the problem might be.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Panos</title>
		<link>https://www.barneyb.com/barneyblog/2009/11/17/fusebox-xml-flowchart-generator/comment-page-1/#comment-199559</link>
		<dc:creator>Panos</dc:creator>
		<pubDate>Wed, 16 Dec 2009 11:50:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1136#comment-199559</guid>
		<description>Thank you very much!
Really good work and I really appreciate it! Helped me a lot with my new projects in order to understand the flow

I have one issue though..
If i give the fusebox.xml and I check Pre/Post Fuseactions  i get the following error
&lt;code&gt; Element VERBS is undefined in VERB.
 
The error occurred in /flowgen/inline.cfc: line 13&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>Thank you very much!<br />
Really good work and I really appreciate it! Helped me a lot with my new projects in order to understand the flow</p>
<p>I have one issue though..<br />
If i give the fusebox.xml and I check Pre/Post Fuseactions  i get the following error<br />
<code> Element VERBS is undefined in VERB.</p>
<p>The error occurred in /flowgen/inline.cfc: line 13</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan O'Keefe</title>
		<link>https://www.barneyb.com/barneyblog/2009/11/17/fusebox-xml-flowchart-generator/comment-page-1/#comment-198260</link>
		<dc:creator>Dan O'Keefe</dc:creator>
		<pubDate>Thu, 03 Dec 2009 21:45:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1136#comment-198260</guid>
		<description>This is amazing. I removed the &quot; + getTextHeight()&quot; but in place of that I added &quot; -15&quot; which lifts it up even higher and makes it more readable.
Thanks much!</description>
		<content:encoded><![CDATA[<p>This is amazing. I removed the " + getTextHeight()" but in place of that I added " -15&#8243; which lifts it up even higher and makes it more readable.<br />
Thanks much!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: barneyb</title>
		<link>https://www.barneyb.com/barneyblog/2009/11/17/fusebox-xml-flowchart-generator/comment-page-1/#comment-198250</link>
		<dc:creator>barneyb</dc:creator>
		<pubDate>Thu, 03 Dec 2009 19:35:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1136#comment-198250</guid>
		<description>removed the &quot; + getTextHeight()&quot; from line 50 of fork.cfc and it should be above the lines.</description>
		<content:encoded><![CDATA[<p>removed the " + getTextHeight()" from line 50 of fork.cfc and it should be above the lines.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan O'Keefe</title>
		<link>https://www.barneyb.com/barneyblog/2009/11/17/fusebox-xml-flowchart-generator/comment-page-1/#comment-198249</link>
		<dc:creator>Dan O'Keefe</dc:creator>
		<pubDate>Thu, 03 Dec 2009 19:33:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1136#comment-198249</guid>
		<description>I see what you mean. Yeah, that sounds pretty hairy to make all of those changes to try and accommodate the condition. Actually, if there was a way to bump it up 1 space, the text outputted would be above the horizontal lines coming off of the decision symbol.</description>
		<content:encoded><![CDATA[<p>I see what you mean. Yeah, that sounds pretty hairy to make all of those changes to try and accommodate the condition. Actually, if there was a way to bump it up 1 space, the text outputted would be above the horizontal lines coming off of the decision symbol.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: barneyb</title>
		<link>https://www.barneyb.com/barneyblog/2009/11/17/fusebox-xml-flowchart-generator/comment-page-1/#comment-198248</link>
		<dc:creator>barneyb</dc:creator>
		<pubDate>Thu, 03 Dec 2009 19:27:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1136#comment-198248</guid>
		<description>Dan,

On line 26 of fork.cfc the variable &#039;txt&#039; is set to the text that should be displayed in the rhombus.  Currently the value is #my.verb.type#, which will always be &quot;if&quot;.  If you were to change that to #my.verb.attributes.condition# instead, you&#039;d get the condition displayed instead.  Note that that&#039;s not going to resize the rhombus based on the length of the condition, it&#039;ll just draw different text, quite possibly overflowing.  If you want to change the rhombus&#039;s size, you&#039;ll need to dig into the guts of the draw() and measureInternal() methods to not only resize the rhombus, but also make all the arrows, spacing, and positions of the nested verbs correspond to the new rhombus size.

Loops would benefit from similar display, though it&#039;s significantly more complicated, because you need to label the break/continue arrows, and the way they are controlled is varied amongst the different types of loops.</description>
		<content:encoded><![CDATA[<p>Dan,</p>
<p>On line 26 of fork.cfc the variable 'txt' is set to the text that should be displayed in the rhombus.  Currently the value is #my.verb.type#, which will always be "if".  If you were to change that to #my.verb.attributes.condition# instead, you'd get the condition displayed instead.  Note that that's not going to resize the rhombus based on the length of the condition, it'll just draw different text, quite possibly overflowing.  If you want to change the rhombus's size, you'll need to dig into the guts of the draw() and measureInternal() methods to not only resize the rhombus, but also make all the arrows, spacing, and positions of the nested verbs correspond to the new rhombus size.</p>
<p>Loops would benefit from similar display, though it's significantly more complicated, because you need to label the break/continue arrows, and the way they are controlled is varied amongst the different types of loops.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan O'Keefe</title>
		<link>https://www.barneyb.com/barneyblog/2009/11/17/fusebox-xml-flowchart-generator/comment-page-1/#comment-198247</link>
		<dc:creator>Dan O'Keefe</dc:creator>
		<pubDate>Thu, 03 Dec 2009 19:17:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1136#comment-198247</guid>
		<description>Barney,

Very cool tool, especially when you start working with an app you are not familiar with. Whats your thoughts on possibly displaying the condition for the  ?

Dan</description>
		<content:encoded><![CDATA[<p>Barney,</p>
<p>Very cool tool, especially when you start working with an app you are not familiar with. Whats your thoughts on possibly displaying the condition for the  ?</p>
<p>Dan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: imageTranslateDrawingAxis is Your Friend at BarneyBlog</title>
		<link>https://www.barneyb.com/barneyblog/2009/11/17/fusebox-xml-flowchart-generator/comment-page-1/#comment-196645</link>
		<dc:creator>imageTranslateDrawingAxis is Your Friend at BarneyBlog</dc:creator>
		<pubDate>Thu, 19 Nov 2009 08:49:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1136#comment-196645</guid>
		<description>[...] Contact             &#171; Fusebox XML Flowchart Generator [...]</description>
		<content:encoded><![CDATA[<p>[...] Contact             &laquo; Fusebox XML Flowchart Generator [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Allen</title>
		<link>https://www.barneyb.com/barneyblog/2009/11/17/fusebox-xml-flowchart-generator/comment-page-1/#comment-196578</link>
		<dc:creator>John Allen</dc:creator>
		<pubDate>Wed, 18 Nov 2009 14:13:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1136#comment-196578</guid>
		<description>That is pretty darn sharp.</description>
		<content:encoded><![CDATA[<p>That is pretty darn sharp.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: barneyb</title>
		<link>https://www.barneyb.com/barneyblog/2009/11/17/fusebox-xml-flowchart-generator/comment-page-1/#comment-196554</link>
		<dc:creator>barneyb</dc:creator>
		<pubDate>Wed, 18 Nov 2009 04:19:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1136#comment-196554</guid>
		<description>It depends on what you mean by &quot;controller&quot;.  Like in Model-Glue or Mach-II, the circuit.xml file in Fusebox represents a &quot;flow&quot; descriptor.  You can embed logic in the XML, of course, but generally it&#039;s packaged into either fuses or CFC methods.  You end up with XML that looks rather like MG or M-II XML, except that it&#039;s explicit invocation instead of implicit invocation.  The typical verbs are INCLUDE (include a CFM, usually a view), SET (set a variable or invoke a CFC method), XFA (define an self-referential exit link), and DO (invoke another fuseaction).  So your controllers usually end up as either CFMs or CFCs, your views as CFMs, and the XML is used to acquire the data you need to render the view and little else.  To sum all that up, if you have a &quot;real&quot; Fusebox app with circuit.xml that looks like that example, you&#039;re probably doing it wrong.  ;)

And it&#039;s worth mentioning that XML is totally optional; you can do everything with convention and/or CFCs anymore.

Regarding Groovy, it&#039;s been a while since I&#039;ve done much raw painting with Java, but from what I recall, it&#039;s pretty much identical to what CF provides.  The CF functions are relatively thin wrappers, though they smoothed the input/output stuff.  So I don&#039;t know that it&#039;d be much different, though I do know with Groovy I&#039;d be able to go from my BufferedImage to the output stream without having to use the filesystem like I have to do on CF.

imageDrawLine(img, 0, 0, 10, 10);

  versus

g.drawLine(0, 0, 10, 10);


Pretty much a wash, though I like the OO style better.</description>
		<content:encoded><![CDATA[<p>It depends on what you mean by "controller".  Like in Model-Glue or Mach-II, the circuit.xml file in Fusebox represents a "flow" descriptor.  You can embed logic in the XML, of course, but generally it's packaged into either fuses or CFC methods.  You end up with XML that looks rather like MG or M-II XML, except that it's explicit invocation instead of implicit invocation.  The typical verbs are INCLUDE (include a CFM, usually a view), SET (set a variable or invoke a CFC method), XFA (define an self-referential exit link), and DO (invoke another fuseaction).  So your controllers usually end up as either CFMs or CFCs, your views as CFMs, and the XML is used to acquire the data you need to render the view and little else.  To sum all that up, if you have a "real" Fusebox app with circuit.xml that looks like that example, you're probably doing it wrong.  ;)</p>
<p>And it's worth mentioning that XML is totally optional; you can do everything with convention and/or CFCs anymore.</p>
<p>Regarding Groovy, it's been a while since I've done much raw painting with Java, but from what I recall, it's pretty much identical to what CF provides.  The CF functions are relatively thin wrappers, though they smoothed the input/output stuff.  So I don't know that it'd be much different, though I do know with Groovy I'd be able to go from my BufferedImage to the output stream without having to use the filesystem like I have to do on CF.</p>
<p>imageDrawLine(img, 0, 0, 10, 10);</p>
<p>  versus</p>
<p>g.drawLine(0, 0, 10, 10);</p>
<p>Pretty much a wash, though I like the OO style better.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
