<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Toby Tremayne &#187; Actionscript</title>
	<atom:link href="http://www.tobytremayne.com/category/actionscript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tobytremayne.com</link>
	<description>musings on software development, writing and life</description>
	<lastBuildDate>Mon, 22 Feb 2010 23:33:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flash &#8211; coming to an iPhone near you</title>
		<link>http://www.tobytremayne.com/actionscript/flash-coming-to-an-iphone-near-you/</link>
		<comments>http://www.tobytremayne.com/actionscript/flash-coming-to-an-iphone-near-you/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 13:49:22 +0000</pubDate>
		<dc:creator>Toby</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.tobytremayne.com/?p=275</guid>
		<description><![CDATA[Magnificent news today &#8211; Adobe and Apple are have actually confirmed they&#8217;re working together on getting flash onto the iPhone!  I don&#8217;t know if I&#8217;m behind the times or anything but it&#8217;s news to me so I just had to blog about it.  Of course we&#8217;ve known since last year that at least Adobe was 


Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/flash-search-engine-crawlable/' rel='bookmark' title='Permanent Link: Flash search engine crawlable'>Flash search engine crawlable</a></li>
<li><a href='http://www.tobytremayne.com/journal/toby-98/' rel='bookmark' title='Permanent Link: Christmas is coming'>Christmas is coming</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Magnificent news today &#8211; Adobe and Apple are have actually confirmed they&#8217;re working together on getting flash onto the iPhone!  I don&#8217;t know if I&#8217;m behind the times or anything but it&#8217;s news to me so I just had to blog about it.  Of course we&#8217;ve known since last year that at least Adobe was doing some work on it, but now it&#8217;s official that Apple is involved in the effort also.  This is very exciting for those of us who&#8217;ve been harping on about it for a while now.  I&#8217;ve been doing some work on Objective-C coding for the iPhone and will continue that, but it&#8217;s cool to think I might be able to leverage my AS3 skills on it at some point in the not too distant future.</p>
<p>Comments in the various news articles make clear that we&#8217;re not going to see a standard flash player release on the device, but more likely something new.  Steve Jobs is quoted as saying that the browser plugin doesn&#8217;t have enough functionality built into it, so I will be interested to see where they go with this.  Obviously getting any kind of flash onto the iphone can only be good for adobe &#8211; and I can&#8217;t but think it would be good for Apple too.  While the App store has been doing well, iphone development doesn&#8217;t really seem to be going very far very fast, and I think a lot of that is due to the app store itself and to the nature of coding for the iphone.  Opening up the platform to the much larger flash platform community could see some awesome things happening.</p>
<p>Of course this doesn&#8217;t mean the device will become open &#8211; maybe we&#8217;ll still need to deploy flash apps through the app store, who knows.  All I care about is that there&#8217;s finally some official word that something is at least being attempted!  Here&#8217;s hoping it is seen through to fruition and that we can all start hacking flash and flex on the iphone <img src='http://www.tobytremayne.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Source:</p>
<p>http://www.appleinsider.com/articles/09/01/31/adobe_apple_working_together_on_flash_for_iphone.html</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Flash+%E2%80%93+coming+to+an+iPhone+near+you+http://ena6b.th8.us" title="Post to Twitter"><img class="nothumb" src="http://www.tobytremayne.com/wp-content/plugins/tweet-this/icons/tt-twitter3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Flash+%E2%80%93+coming+to+an+iPhone+near+you+http://ena6b.th8.us" title="Post to Twitter">Tweet This Post</a></p>

<p>Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/flash-search-engine-crawlable/' rel='bookmark' title='Permanent Link: Flash search engine crawlable'>Flash search engine crawlable</a></li>
<li><a href='http://www.tobytremayne.com/journal/toby-98/' rel='bookmark' title='Permanent Link: Christmas is coming'>Christmas is coming</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tobytremayne.com/actionscript/flash-coming-to-an-iphone-near-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash search engine crawlable</title>
		<link>http://www.tobytremayne.com/actionscript/flash-search-engine-crawlable/</link>
		<comments>http://www.tobytremayne.com/actionscript/flash-search-engine-crawlable/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 00:00:00 +0000</pubDate>
		<dc:creator>Toby</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://tobytremayne.com/?p=262</guid>
		<description><![CDATA[Check it out here in the Adobe press release: Adobe makes Flash crawlab;e
This is a great step, and really encouraging to see.  Between this and the work being done with google analytics etc flash is becoming more and more viable for content delivery on the web.
One thing that irritates me though is the uninformed 


Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/flash-coming-to-an-iphone-near-you/' rel='bookmark' title='Permanent Link: Flash &#8211; coming to an iPhone near you'>Flash &#8211; coming to an iPhone near you</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Check it out here in the Adobe press release: <a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200806/070108AdobeRichMediaSearch.html">Adobe makes Flash crawlab;e</a></p>
<p>This is a great step, and really encouraging to see.  Between this and the work being done with google analytics etc flash is becoming more and more viable for content delivery on the web.</p>
<p>One thing that irritates me though is the uninformed attitude about flash.  I used to be in complete agreeance that flash should be removed from the web &#8211; when it was nothing more than annoying intros to websites when we were all on dialup.  With the work that&#8217;s happened in the last couple of years flash is an amazing platform that is now being tailored to do the things actionscript geniuses were finding hacks for years ago &#8211; and it&#8217;s a wonderful platform for application development.  Read the comments at slashdot on this story though and it gets a little frustrating.  Yes there are still muppets building useless things in flash and not using it well but how is that different from any other technology?  I&#8217;m of the belief that flash has made serious inroads in the developer&#8217;s mind, I&#8217;m just looking forward to when the public start seeing actual flash applications and judicious use of flash in websites as a good thing.</p>
<p>&#8230; beats the hell out of javascript.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Flash+search+engine+crawlable+http://p8dc4.th8.us" title="Post to Twitter"><img class="nothumb" src="http://www.tobytremayne.com/wp-content/plugins/tweet-this/icons/tt-twitter3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Flash+search+engine+crawlable+http://p8dc4.th8.us" title="Post to Twitter">Tweet This Post</a></p>

<p>Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/flash-coming-to-an-iphone-near-you/' rel='bookmark' title='Permanent Link: Flash &#8211; coming to an iPhone near you'>Flash &#8211; coming to an iPhone near you</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tobytremayne.com/actionscript/flash-search-engine-crawlable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Air is 1.0</title>
		<link>http://www.tobytremayne.com/actionscript/air-is-10/</link>
		<comments>http://www.tobytremayne.com/actionscript/air-is-10/#comments</comments>
		<pubDate>Tue, 26 Feb 2008 00:00:00 +0000</pubDate>
		<dc:creator>Toby</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://tobytremayne.com/?p=226</guid>
		<description><![CDATA[Back in my hotel room after the Air 1.0 launch.  Was a great event, this year is going to be a wonderful time to be a developer, especially in the Adobe space.  There was a good turnout but almost none of the cf  / flex people i usually see around &#8211; shame 


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Back in my hotel room after the Air 1.0 launch.  Was a great event, this year is going to be a wonderful time to be a developer, especially in the Adobe space.  There was a good turnout but almost none of the cf  / flex people i usually see around &#8211; shame on you all ;p</p>
<p>If anyone hasn&#8217;t gotten into air yet give it a shot &#8211; it&#8217;s well worth your time and I think in the next 6 months we&#8217;re going to see some massive changes in our industry.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Air+is+1.0+http://nbmon.th8.us" title="Post to Twitter"><img class="nothumb" src="http://www.tobytremayne.com/wp-content/plugins/tweet-this/icons/tt-twitter3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Air+is+1.0+http://nbmon.th8.us" title="Post to Twitter">Tweet This Post</a></p>

<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.tobytremayne.com/actionscript/air-is-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Helping Hands</title>
		<link>http://www.tobytremayne.com/actionscript/helping-hands/</link>
		<comments>http://www.tobytremayne.com/actionscript/helping-hands/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 00:00:00 +0000</pubDate>
		<dc:creator>Toby</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://tobytremayne.com/?p=269</guid>
		<description><![CDATA[i have made it a point over the years to keep in touch with developers I meet and offer help wherever I can.  I&#8217;m not great at posting to the mailing lists because I usually get so caught up in what I&#8217;m doing that I forget to read them  
Lots of people ping 


No related posts.]]></description>
			<content:encoded><![CDATA[<p>i have made it a point over the years to keep in touch with developers I meet and offer help wherever I can.  I&#8217;m not great at posting to the mailing lists because I usually get so caught up in what I&#8217;m doing that I forget to read them <img src='http://www.tobytremayne.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Lots of people ping me during the day (and sometimes night) for help with cf / flex/ javascript / css etc etc, and there are a bunch of people on my list who I have asked for help with the same when I&#8217;m having a brain fart or when I&#8217;m doing something i&#8217;ve never done before.  Some of the people on my list have spent an awful lot of time helping me on occasions, and I always try to return the favour.</p>
<p>The point I&#8217;m making is this &#8211; network with other developers, stay in touch and reach out when you need help.  But more importantly, be ready to help someone out if they ask you a question too &#8211; this doesn&#8217;t mean drop everything you&#8217;re doing and do their work for them, but if you&#8217;ve got 5 minutes then share it.  A lot of people, including experienced developers, don&#8217;t realize how powerful a tool your network of tech savvy friends can be.  I&#8217;ll be going into more detail about this in my talk at Scotch and (hopefully) WebDU, but I just wanted to throw a quick word out to any who might be listening.</p>
<p>Today I was doing battle with some really appalling actionscript 1 code.  I love actionscript 3&#8230;.<br />
a lovely fellow named <a href="http://www.blog.xsive.co.nz/" target="_blank">Campbell Anderson</a>, who has answered more than a few of my irritating as1 questions lately, has quite patiently helped me through some very weird issues and saved me a lot of time and frustration.  I&#8217;ll be making sure he knows he&#8217;s appreciated <img src='http://www.tobytremayne.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>This is one of the great strengths of the cf community, and i&#8217;m finding it more and more in flex and flash too.  Be generous with your time, and you&#8217;ll find that when that moment comes when you really are stuck in a hole for whatever reason, you have allies on hand to help you out.</p>
<p>After all, many minds make light work.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Helping+Hands+http://zabdy.th8.us" title="Post to Twitter"><img class="nothumb" src="http://www.tobytremayne.com/wp-content/plugins/tweet-this/icons/tt-twitter3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Helping+Hands+http://zabdy.th8.us" title="Post to Twitter">Tweet This Post</a></p>

<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.tobytremayne.com/actionscript/helping-hands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bender Revived</title>
		<link>http://www.tobytremayne.com/actionscript/bender-revived/</link>
		<comments>http://www.tobytremayne.com/actionscript/bender-revived/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 00:00:00 +0000</pubDate>
		<dc:creator>Toby</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://tobytremayne.com/?p=230</guid>
		<description><![CDATA[After a 6 month hiatus or so where I&#8217;ve been flat out working with another group and haven&#8217;t had time to look at Bender, I was speaking last night with Adam Lehman and a few others who have inspired me to dig out Bender and get back into it.  I want to get it 


Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/bender-explained/' rel='bookmark' title='Permanent Link: Bender Explained'>Bender Explained</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-expansion/' rel='bookmark' title='Permanent Link: Bender Expansion'>Bender Expansion</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-persistence/' rel='bookmark' title='Permanent Link: Bender persistence'>Bender persistence</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>After a 6 month hiatus or so where I&#8217;ve been flat out working with another group and haven&#8217;t had time to look at Bender, I was speaking last night with Adam Lehman and a few others who have inspired me to dig out Bender and get back into it.  I want to get it working as soon as possible so the code is releasable and allows the basic features of Transfer &#8211; Mark Mandel and I also chatted about potentially using the data services included with CF to do live syncing between Transfer and Bender although not yet sure whether that&#8217;s a good idea <img src='http://www.tobytremayne.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Anyways &#8211; Bender is back and I&#8217;ll be finishing it off and looking for testers.  If anyone has requests or suggestions fire away.</p>
<p>Toby</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Bender+Revived+http://znsq7.th8.us" title="Post to Twitter"><img class="nothumb" src="http://www.tobytremayne.com/wp-content/plugins/tweet-this/icons/tt-twitter3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Bender+Revived+http://znsq7.th8.us" title="Post to Twitter">Tweet This Post</a></p>

<p>Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/bender-explained/' rel='bookmark' title='Permanent Link: Bender Explained'>Bender Explained</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-expansion/' rel='bookmark' title='Permanent Link: Bender Expansion'>Bender Expansion</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-persistence/' rel='bookmark' title='Permanent Link: Bender persistence'>Bender persistence</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tobytremayne.com/actionscript/bender-revived/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I hate dates and locales</title>
		<link>http://www.tobytremayne.com/actionscript/i-hate-dates-and-locales/</link>
		<comments>http://www.tobytremayne.com/actionscript/i-hate-dates-and-locales/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 00:00:00 +0000</pubDate>
		<dc:creator>Toby</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://tobytremayne.com/?p=224</guid>
		<description><![CDATA[Yes Yes Bad Blogger, I know.  smack.  Anyways&#8230;.
I&#8217;m having a problem where i&#8217;m using a date selector in flex and selecting a date (client running on australian machines), but when its saved to the server it seems to be going in as a US date based on the current server time.  How 


Related posts:<ol><li><a href='http://www.tobytremayne.com/journal/toby-19/' rel='bookmark' title='Permanent Link: It&#8217;s a love / hate thing'>It&#8217;s a love / hate thing</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Yes Yes Bad Blogger, I know.  smack.  Anyways&#8230;.</p>
<p>I&#8217;m having a problem where i&#8217;m using a date selector in flex and selecting a date (client running on australian machines), but when its saved to the server it seems to be going in as a US date based on the current server time.  How do I fix this?  I&#8217;ve tried mucking about with the locale setting in the compiler arguments, I&#8217;ve tried just using CF_SQL_DATE instead of _TIMESTAMP but to no avail.  If there are any readers left on this blog I&#8217;d appreciate any ideas.</p>
<p>I hate working with dates and regions, it&#8217;s definitely on my top 5 least enjoyable things in programming.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=I+hate+dates+and+locales+http://ggt7n.th8.us" title="Post to Twitter"><img class="nothumb" src="http://www.tobytremayne.com/wp-content/plugins/tweet-this/icons/tt-twitter3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=I+hate+dates+and+locales+http://ggt7n.th8.us" title="Post to Twitter">Tweet This Post</a></p>

<p>Related posts:<ol><li><a href='http://www.tobytremayne.com/journal/toby-19/' rel='bookmark' title='Permanent Link: It&#8217;s a love / hate thing'>It&#8217;s a love / hate thing</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tobytremayne.com/actionscript/i-hate-dates-and-locales/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Mind-Bender</title>
		<link>http://www.tobytremayne.com/actionscript/mindbender/</link>
		<comments>http://www.tobytremayne.com/actionscript/mindbender/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 00:00:00 +0000</pubDate>
		<dc:creator>Toby</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://tobytremayne.com/?p=8</guid>
		<description><![CDATA[A quick update &#8211; the Bender alpha release *is* imminent, but I got held up on some recursive code that was being obstreperous and I&#8217;m having to rethink the way I was handling cfc mappings.
I wanted to set it up so you could instantiate Bender and pass it in all the cfc&#8217;s you want to 


Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/bender-explained/' rel='bookmark' title='Permanent Link: Bender Explained'>Bender Explained</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-expansion/' rel='bookmark' title='Permanent Link: Bender Expansion'>Bender Expansion</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-persistence/' rel='bookmark' title='Permanent Link: Bender persistence'>Bender persistence</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>A quick update &#8211; the Bender alpha release *is* imminent, but I got held up on some recursive code that was being obstreperous and I&#8217;m having to rethink the way I was handling cfc mappings.</p>
<p>I wanted to set it up so you could instantiate Bender and pass it in all the cfc&#8217;s you want to map to, or be able to setup a ColdSpring definition with the relevant auto-wiring, but I realised that the flex component is talking directly to the bender component so this wouldn&#8217;t work.</p>
<p>What I&#8217;m doing now is creating BenderService.cfc &#8211; a facade that manages the instantiation of Bender.  You change the instance code at the top of this cfc to however you want to instantiate bender (EG a CS getBean() call) and the flex component talks to BenderService.cfc, which just passes traffic back and forth to Bender.cfc.</p>
<p>At the moment I&#8217;m wrestling with the best way to make it all happen, trying to pass in instantiated components and have them stored &#8211; it&#8217;s getting there but a few finicky details with unnamed arguments etc are causing me grief.  More as soon as it comes.</p>
<p>PS. btw any comments on this would be greatly appreciated &#8211; any suggestions on how best to set it up, especially from anyone who knows coldspring would be fantastic.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Mind-Bender+http://kzg4i.th8.us" title="Post to Twitter"><img class="nothumb" src="http://www.tobytremayne.com/wp-content/plugins/tweet-this/icons/tt-twitter3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Mind-Bender+http://kzg4i.th8.us" title="Post to Twitter">Tweet This Post</a></p>

<p>Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/bender-explained/' rel='bookmark' title='Permanent Link: Bender Explained'>Bender Explained</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-expansion/' rel='bookmark' title='Permanent Link: Bender Expansion'>Bender Expansion</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-persistence/' rel='bookmark' title='Permanent Link: Bender persistence'>Bender persistence</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tobytremayne.com/actionscript/mindbender/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bender Alpha Release</title>
		<link>http://www.tobytremayne.com/actionscript/bender-alpha-release/</link>
		<comments>http://www.tobytremayne.com/actionscript/bender-alpha-release/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 00:00:00 +0000</pubDate>
		<dc:creator>Toby</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://tobytremayne.com/?p=9</guid>
		<description><![CDATA[Finally!  Ok you can now download an alpha release of Bender:
Bender Alpha 01 (Bender_alpha01.zip)
Please bear in mind this is a first release, and while it works for me your mileage may vary wildly.  I would really appreciate hearing from anyone who had time to try this out, and has bugs, suggestions, corrections or 


Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/bender-explained/' rel='bookmark' title='Permanent Link: Bender Explained'>Bender Explained</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-expansion/' rel='bookmark' title='Permanent Link: Bender Expansion'>Bender Expansion</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-persistence/' rel='bookmark' title='Permanent Link: Bender persistence'>Bender persistence</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Finally!  Ok you can now download an alpha release of Bender:</p>
<p><a href="http://www.tobytremayne.com/Bender_alpha01.zip">Bender Alpha 01 (Bender_alpha01.zip)</a></p>
<p>Please bear in mind this is a first release, and while it works for me your mileage may vary wildly.  I would really appreciate hearing from anyone who had time to try this out, and has bugs, suggestions, corrections or criticisms.</p>
<p>Download the zip file, and expand it into your webroot, or somewhere that a cf mapping points to as &#8220;com&#8221;.  You shouldn&#8217;t  need to setup anything specific for flex, it will just use the default flash remoting adapters.</p>
<p>The following steps should get you up and running with Bender:</p>
<ol>
<li>Make sure Transfer release 0.6.3 or higher is installed and working</li>
<li>Make sure /com points to the com directory from the bender zip file</li>
<li>Browse to http://yourserver/com/ls/bender/tools/BenderClassGenerator.cfm</li>
<li>Change the paths to match your settings and submit the form &#8211; this will create an actionscript class file for each definition in your Transfer.xml</li>
<li>I haven&#8217;t made the auto compiled swc bit yet, so for the moment, make sure you drop these class files into your flex application, along with com/ls/bender/as/Bender.as and import them in your code</li>
<li>In your flex code you can now run operations like: bender.read(oUser, &#8220;User&#8221;, userPK);</li>
</ol>
<p>Operations:</p>
<p>bender.read(Class class, String TransferClassName, String primaryKey);</p>
<p>The first parameter for a read is an already instantiated object &#8211; one of the classes bender generated for you.  You pass this in, and when the read is complete the object will contain the relevant data.<br />
The second parameter is the name of the object definition &#8211; the &#8220;class&#8221; attribute in your Transfer.xml<br />
The third is the unique identifier you&#8217;d normally use to retrieve that object via transfer.</p>
<p>make whatever changes you like to the data in the As objects then use:</p>
<p>bender.save(Class class);</p>
<p>just pass in the actionscript instance and this will automatically save back to the db.</p>
<p>MAPPINGS<br />
You can map functions to a custom CFC if you choose.  For example, if you wanted a UserManager.cfc to do something with the user objects before they went to Transfer for saving, you could create a Bender.xml like so:</p>
<div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.tobytremayne.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Print code"><img border="0" style="border: 0 none" src="http://www.tobytremayne.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_about(1)" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.tobytremayne.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="xml" style="font-family:monospace;"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span>
<span class="sc3"><span class="re1">&lt;bender<span class="re2">&gt;</span></span></span>
	<span class="sc3"><span class="re1">&lt;mappings<span class="re2">&gt;</span></span></span>
		  <span class="sc3"><span class="re1">&lt;mapping</span> <span class="re0">action</span>=<span class="st0">&quot;save&quot;</span> <span class="re0">mapobject</span>=<span class="st0">&quot;UserManager&quot;</span> <span class="re0">mapmethod</span>=<span class="st0">&quot;save&quot;</span> <span class="re2">/&gt;</span></span>
	<span class="sc3"><span class="re1">&lt;/mappings<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/bender<span class="re2">&gt;</span></span></span></pre></div></div>
<p>This will mean that when you use bender.save(myObj) in flex, the data will go to Bender on the coldfusion side and get translated into an appropriate TransferObject which will then be passed on to UserManager.save(TO).  If you don&#8217;t create a mapping for a particular method and class, it defaults to sending straight to Transfer.</p>
<p>CAVEATS:<br />
I had some issues in actionscript using methods named get and delete, so in Bender you call bender.read() and bender.del() instead.  This may be something I did wrong and if so I&#8217;ll fix it &#8211; but for the moment that&#8217;s how it works.</p>
<p>Delete works the same way as save.</p>
<p>EVENTS<br />
When you have instantiated one of the bender-generated actionscript classes, you can set oMyObj.OLNDATA() and oMyObj.ONFAULT() to provide functions to which Bender will map upon data population or fault.  For example, if you want a message shown to the user when you save something, you could do this:</p>
<div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.tobytremayne.com/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Print code"><img border="0" style="border: 0 none" src="http://www.tobytremayne.com/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_about(2)" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.tobytremayne.com/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="actionscript3" style="font-family:monospace;"><span class="kw1">public</span> <span class="kw3">function</span> showResults<span class="br0">&#40;</span>obj <span class="sy0">:</span> <span class="sy0">*</span><span class="br0">&#41;</span> <span class="sy0">:</span> <span class="kw1">void</span> <span class="br0">&#123;</span>
result_text<span class="sy0">.</span><span class="kw7">text</span> = <span class="st0">&quot;Save Successful&quot;</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
<span class="kw1">public</span> <span class="kw3">function</span> showFailure<span class="br0">&#40;</span>obj <span class="sy0">:</span> <span class="sy0">*</span><span class="br0">&#41;</span> <span class="sy0">:</span> <span class="kw1">void</span> <span class="br0">&#123;</span>
result_text<span class="sy0">.</span><span class="kw7">text</span> = <span class="st0">&quot;Save Failed&quot;</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
oObj<span class="sy0">.</span>ONDATA<span class="br0">&#40;</span>showResults<span class="br0">&#41;</span><span class="sy0">;</span>
oObj<span class="sy0">.</span>ONFAULT<span class="br0">&#40;</span>showFailure<span class="br0">&#41;</span><span class="sy0">;</span>
bender<span class="sy0">.</span><span class="kw7">save</span><span class="br0">&#40;</span>oObj<span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>
<p>Please download the code and take a look &#8211; and I&#8217;d love to hear from anyone on ways to improve it.  Let me know what works and what doesn&#8217;t and contact me on this blog or on skype / icq  / email etc etc.</p>
<p>P.S.  I haven&#8217;t added the SWC generation yet, but am working on it now and hopefully that will make integration of auto-generated as classes and the bender code into your flex app much easier.  If anyone has any preferences or suggestions for this bit, please let me know.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Bender+Alpha+Release+http://7b965.th8.us" title="Post to Twitter"><img class="nothumb" src="http://www.tobytremayne.com/wp-content/plugins/tweet-this/icons/tt-twitter3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Bender+Alpha+Release+http://7b965.th8.us" title="Post to Twitter">Tweet This Post</a></p>

<p>Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/bender-explained/' rel='bookmark' title='Permanent Link: Bender Explained'>Bender Explained</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-expansion/' rel='bookmark' title='Permanent Link: Bender Expansion'>Bender Expansion</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-persistence/' rel='bookmark' title='Permanent Link: Bender persistence'>Bender persistence</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tobytremayne.com/actionscript/bender-alpha-release/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bender has deep composition</title>
		<link>http://www.tobytremayne.com/actionscript/bender-has-deep-composition/</link>
		<comments>http://www.tobytremayne.com/actionscript/bender-has-deep-composition/#comments</comments>
		<pubDate>Sat, 14 Apr 2007 00:00:00 +0000</pubDate>
		<dc:creator>Toby</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://tobytremayne.com/?p=265</guid>
		<description><![CDATA[Ok just a quick update for those who care &#8211; Bender now has working deep recursions on composite objects in both directions.  This means if you have for example a manytomany in your object definition, and within the objects that get put into that array you *also* have a manytomany definition (etc etc ad 


Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/bender-explained/' rel='bookmark' title='Permanent Link: Bender Explained'>Bender Explained</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-expansion/' rel='bookmark' title='Permanent Link: Bender Expansion'>Bender Expansion</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-persistence/' rel='bookmark' title='Permanent Link: Bender persistence'>Bender persistence</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Ok just a quick update for those who care &#8211; Bender now has working deep recursions on composite objects in both directions.  This means if you have for example a manytomany in your object definition, and within the objects that get put into that array you *also* have a manytomany definition (etc etc ad nauseum) all will be retrieved and translated back and forth between AS and coldfusion.</p>
<p>If this makes no sense, feel free to ignore &#8211; but composite objects work properly now <img src='http://www.tobytremayne.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  (both struct and array collections).</p>
<p>I&#8217;m now moving on to the mapping of custom CFCs &#8211;  more updates to come.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Bender+has+deep+composition+http://7a5sm.th8.us" title="Post to Twitter"><img class="nothumb" src="http://www.tobytremayne.com/wp-content/plugins/tweet-this/icons/tt-twitter3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Bender+has+deep+composition+http://7a5sm.th8.us" title="Post to Twitter">Tweet This Post</a></p>

<p>Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/bender-explained/' rel='bookmark' title='Permanent Link: Bender Explained'>Bender Explained</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-expansion/' rel='bookmark' title='Permanent Link: Bender Expansion'>Bender Expansion</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-persistence/' rel='bookmark' title='Permanent Link: Bender persistence'>Bender persistence</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tobytremayne.com/actionscript/bender-has-deep-composition/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bender Explained</title>
		<link>http://www.tobytremayne.com/actionscript/bender-explained/</link>
		<comments>http://www.tobytremayne.com/actionscript/bender-explained/#comments</comments>
		<pubDate>Wed, 11 Apr 2007 00:00:00 +0000</pubDate>
		<dc:creator>Toby</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://tobytremayne.com/?p=260</guid>
		<description><![CDATA[Ok Bender seems to be generating some interest and I&#8217;ve found that a lot of people aren&#8217;t really understanding my explanation of what it&#8217;s supposed to achieve, so here&#8217;s an attempt at a clearer definition.
If you&#8217;re writing a flex app with database connectivity, your workflow should look like this:

Install Transfer on server
Write Transfer.xml
Install Bender on 


Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/bender-expansion/' rel='bookmark' title='Permanent Link: Bender Expansion'>Bender Expansion</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-persistence/' rel='bookmark' title='Permanent Link: Bender persistence'>Bender persistence</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-revived/' rel='bookmark' title='Permanent Link: Bender Revived'>Bender Revived</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Ok Bender seems to be generating some interest and I&#8217;ve found that a lot of people aren&#8217;t really understanding my explanation of what it&#8217;s supposed to achieve, so here&#8217;s an attempt at a clearer definition.</p>
<p>If you&#8217;re writing a flex app with database connectivity, your workflow should look like this:</p>
<ol>
<li>Install Transfer on server</li>
<li>Write Transfer.xml</li>
<li>Install Bender on Server</li>
<li>Run Bender AutoGenerating Tool</li>
<li>Include the resulting SWC library in your Flex App</li>
<li>Instantiate the generated classes in your flex app, fill &#8216;em with data, and make calls to Bender as you would to Transfer &#8211; for example Bender.save(myProductClass)</li>
</ol>
<p>That&#8217;s it &#8211; nothing more complicated.  The primary idea is to give flex developers a seamless access to the benefits of database persistence via Transfer.  In theory, if you can setup Transfer, you can add db persistence to your flex app with Bender, without any CF knowledge.</p>
<p>Bender itself is comprised of 3 components &#8211; Bender.cfc, Bender.as and BenderAutoGenTool.cfm.  Bender.as gets compiled into a swc along with classes for all your objects defined in the Transfer.xml.  Bender.cfc sits on the server.<br />
Looks like this:</p>
<p><img src="http://www.tobytremayne.com/images/Bender_flow.png"></p>
<p>Here are a couple of examples of how something might happen:</p>
<p>Creating and Saving an object:<br />
<img src="http://www.tobytremayne.com/images/save_flow1.png"></p>
<p>The steps in this workflow are as follows (assuming Product.class is one of the autogenerated actionscript classes):</p>
<ol>
<li>Instantiate Product.class and use setters to fill with data</li>
<li>Call Bender.save(myProduct);</li>
<li>Bender makes a RemoteObject call to the Bender.cfc save() method, passing the actionscript class, which Flash Remoting will convert into arrays and structures</li>
<li>Bender.cfc looks at the received data, determines which TransferObject it needs and instantiates the relevent TransferObject</li>
<li>Bender loops through the data received, calling matching setters on the new TransferObject</li>
<li>We check to see if we have a specific hander (CFC and method name) for save() on Product objects</li>
<li>If we don&#8217;t have a specific handler registered then we pass directly to Transfer itself, using Transfer.save(ProductTransferObject) &#8211; END</li>
<li>If we DO have a specific handler registered, we pass the TransferObject to that cfc and method instead, for example ProductManager.save(ProductTransferObject)</li>
<li>ProductManager.cfc does it&#8217;s thing, making any required manipulations to the ProductTransferObject</li>
<li>ProductManager.cfc then passes to Transfer using Transfer.save(ProductTransferObject)</li>
</ol>
<p>Before anyone asks, in the above example I haven&#8217;t bothered setting out the steps for the case in which ProductManager.cfc does validation and has to pass it back with messages etc, but the ability would be there (I haven&#8217;t decided yet on any specific way to handle this, but that will come).</p>
<p>Here&#8217;s an example of retrieving an object from the flex app &#8211; imagine you have a form in your flex app allowing the user to enter the id number of a product, and you want the app to then retrieve that product.</p>
<p><img src="http://www.tobytremayne.com/images/get_flow1.png"></p>
<ol>
<li>User enters an ID and requests the product</li>
<li>Call Bender.get(&#8220;product&#8221;, productID);</li>
<li>Bender makes a RemoteObject call to the Bender.cfc get() method, passing the productID as a parameter, also passing the classname of Product and the action GET</li>
<li>Bender.cfc looks at the received data to determine the Transfer classname we&#8217;re looking for</li>
<li>Bender checks to see if there is a specific handler registered for this class and action</li>
<li>If we don&#8217;t have a specific handler registered then we pass directly to Transfer itself, using Transfer.get(classname, arguments.productID) &#8211; SKIP TO 10</li>
<li>If we DO have a specific handler registered, we pass the cfc and method to that handler instead, for example ProductManager.get(arguments.productID)</li>
<li>ProductManager.cfc does it&#8217;s thing, making any required manipulations to the ProductTransferObject</li>
<li>ProductManager.cfc then passes to Transfer using Transfer.get(classname, arguments.productID)</li>
<li>Transfer returns the requested TransferObject back to either Bender.cfc or ProductManager.cfc accordingly (10.5 &#8211; PageManager.cfc then passes the Product TransferObject back to Bender.cfc)</li>
<li>Bender.cfc pulls the data out of the TransferObject and puts it into structs and arrays</li>
<li>Bender.cfc passes the resulting struct back to Bender.as  as the result of the RemoteObject call</li>
<li>Bender.as takes the received data (which Flash Remoting has converted into a simpe AS Object) and instantiates the required AS Class (IE Product), using the setters on the the newly instatiated Product to pass in the received data then passes the ProductClass back to the Flex app</li>
<li>Whatever handlers are in the flex app for this event are fired and the flex app does it&#8217;s thing</li>
</ol>
<p>Hopefully this all makes a bit more sense.  Please bear in mind that it&#8217;s not 100% finished yet, and when it is, I&#8217;ll be asking for feedback and may change the way some of this works if somebody sees a better way to do it.  I hope that for now this will serve as a better explanation of what I&#8217;m trying to achieve.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Bender+Explained+http://p6wrc.th8.us" title="Post to Twitter"><img class="nothumb" src="http://www.tobytremayne.com/wp-content/plugins/tweet-this/icons/tt-twitter3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://twitter.com/home/?status=Bender+Explained+http://p6wrc.th8.us" title="Post to Twitter">Tweet This Post</a></p>

<p>Related posts:<ol><li><a href='http://www.tobytremayne.com/actionscript/bender-expansion/' rel='bookmark' title='Permanent Link: Bender Expansion'>Bender Expansion</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-persistence/' rel='bookmark' title='Permanent Link: Bender persistence'>Bender persistence</a></li>
<li><a href='http://www.tobytremayne.com/actionscript/bender-revived/' rel='bookmark' title='Permanent Link: Bender Revived'>Bender Revived</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.tobytremayne.com/actionscript/bender-explained/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
