<?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>In Flagrante Delicto! &#187; Flex</title>
	<atom:link href="http://inflagrantedelicto.memoryspiral.com/category/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://inflagrantedelicto.memoryspiral.com</link>
	<description>Joseph Labrecque: Senior Interactive Software Engineer - Artist - Author - Speaker - Adobe Education Leader - Adobe Community Professional</description>
	<lastBuildDate>Mon, 06 Feb 2012 15:10:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Discussing Apache Flex + Logo Contest!</title>
		<link>http://inflagrantedelicto.memoryspiral.com/2012/01/discussing-apache-flex-logo-contest/</link>
		<comments>http://inflagrantedelicto.memoryspiral.com/2012/01/discussing-apache-flex-logo-contest/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 22:00:19 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://inflagrantedelicto.memoryspiral.com/?p=4120</guid>
		<description><![CDATA[Discussing Apache Flex Last week, I took part in a recording of The Flex Show that centered around Apache Flex and the state of Flash in 2012. I thought it was a pretty interesting discussion &#8211; a lot of good &#8230; <a href="http://inflagrantedelicto.memoryspiral.com/2012/01/discussing-apache-flex-logo-contest/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>Discussing Apache Flex</h2>
<p>Last week, I took part in a <a href="http://www.theflexshow.com/blog/index.cfm/2012/1/11/Open-Discussion-w-Joseph-Labrecque-and-Mark-Ehlert-The-Flex-Show-Episode-159">recording</a> of <strong>The Flex Show</strong> that centered around <a href="http://incubator.apache.org/flex/">Apache Flex</a> and the state of Flash in 2012. I thought it was a pretty interesting discussion &#8211; a lot of good points were brought up and you can listen to the entire recording from the show website:<br />
<strong><a href="http://www.theflexshow.com/blog/index.cfm/2012/1/11/Open-Discussion-w-Joseph-Labrecque-and-Mark-Ehlert-The-Flex-Show-Episode-159">Flexing into 2012 w/ Joseph Labrecque and Mark Ehlert: The Flex Show Episode 159</a></strong></p>
<h2>Apache Flex Re-branding Initiative</h2>
<p>Submit your design to the Apache Flex <a href="http://incubator.apache.org/flex/logo-contest.html">Logo Contest!</a></p>
<blockquote><p><a href="http://incubator.apache.org/flex/logo-contest.html"><img class="alignleft  wp-image-4121" title="ApacheFlexTwittericon" src="http://inflagrantedelicto.memoryspiral.com/wp-content/uploads/2012/01/ApacheFlexTwittericon.jpg" alt="" width="154" height="154" /></a>On the 31th of December, 2011, the Apache Software Foundation has accepted the Flex SDK into incubation. Apache Flex is now a community project managed by Apache (ASF). The migration from Adobe to Apache involves a re-branding and you can contribute by proposing the new Apache Flex logo.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://inflagrantedelicto.memoryspiral.com/2012/01/discussing-apache-flex-logo-contest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Questioning the Viability of Flex</title>
		<link>http://inflagrantedelicto.memoryspiral.com/2012/01/questioning-the-viability-of-flex/</link>
		<comments>http://inflagrantedelicto.memoryspiral.com/2012/01/questioning-the-viability-of-flex/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 14:00:40 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://inflagrantedelicto.memoryspiral.com/?p=4070</guid>
		<description><![CDATA[I often get private messages through the contact form on this blog. These are normally requests for advice, resources, or project inquiries. From time to time, a question comes in that I see as useful to a wider audience. Such &#8230; <a href="http://inflagrantedelicto.memoryspiral.com/2012/01/questioning-the-viability-of-flex/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I often get private messages through the <a href="http://inflagrantedelicto.memoryspiral.com/contact/">contact form</a> on this blog. These are normally requests for advice, resources, or project inquiries. From time to time, a question comes in that I see as useful to a wider audience. </p>
<p>Such is the case with the email reproduced below regarding Flex. I&#8217;ve asked permission from the individual author but have blanked out his name for reasons of privacy.</p>
<blockquote><p>Greetings Joseph.<br />
I have several decades of programming experience on desktops and (in the old old days) mainframes, using a variety of languages and technologies.  </p>
<p>I am interested in application development for mobile platforms, both Android and the Apple platforms.  However I am unable to find anyone who can give an unbiased and straightforward answer to this question:  Is the Adobe Flex platform (1) a good choice to devote my limited time resources to for learning mobile development  (2) is it or is it not true that the Adobe Flex platform is dying / going away / not really a good choice etc. etc. etc.</p>
<p>Would you be kind enough to give me some guidance regarding this?  I don&#8217;t have enough time available to learn every technology so I must focus and get the biggest bang for my buck.</p>
<p>What do you recommend?</p>
<p>Thank you so much for your guidance with this.</p>
<p>-Xxxxx</p></blockquote>
<p>My response [though slightly modified for this public post] follows.</p>
<blockquote><p>Hi Xxxxx.</p>
<p>I don&#8217;t think anyone has 100% fool-proof, solid-as-stone answers around this just yet&#8230; but I&#8217;ll answer you the best I can.</p>
<p>1) I believe that AIR/Flex is still quite valuable for mobile apps. Buried amid the 11/9 announcements is a repeated statement that Adobe is &#8220;doubling-down&#8221; on AIR for mobile. One of the reasons cited for dropping mobile Flash Player in the browser was to divert resources to mobile AIR. Furthermore, Adobe&#8217;s new line of Touch Apps for Android are (almost) all built upon AIR for Android (though my understanding is that Flex was not used).</p>
<p>2) Flex is now an <a href="http://incubator.apache.org/projects/flex.html">Apache incubator podling</a>. Assuming that the Apache Flex team is able to organize everything enough to put out a release or two (normally achievable over 4-6 months), the project is expected to graduate to full Apache project status &#8211; putting it on the same level as ANT, Tomcat, HTTPD, and other well-known, popular projects used worldwide. Note that <a href="http://incubator.apache.org/projects/callback.html">PhoneGap</a> was also contributed to Apache by Adobe directly after the Nitobi acquisition &#8211; so this is by no means a death sentence or dismissal of the framework.</p>
<p>With Flex in the hands of the wider community, there are actually more resources available in light of the number of individual contributors. Even if not an Apache contributor yourself, if you have a patch for Flex that would be useful for others &#8211; <a href="http://incubator.apache.org/flex/team.html">get in touch with a contributor</a> to see whether they might see value in the patch and perform the contribution in your stead. Don&#8217;t forget that a number of contributors are Adobe engineers and that they the company has stated that even though the runtimes are still under their care &#8211; they will align releases in light of what is going on at Apache.</p>
<p>I am confident that we will see some great things come out of the Apache Flex effort from members of the <a href="http://www.spoon.as/">Spoon project</a> and the greater community.</p>
<p>I hope this is helpful.</p>
<p>-Joseph</p></blockquote>
<p> I hope this is useful for others out there. If you want to gather information on-the-ground, be sure to check out the <a href="http://www.360flex.com/">360|Flex</a> conference in April!</p>
]]></content:encoded>
			<wfw:commentRss>http://inflagrantedelicto.memoryspiral.com/2012/01/questioning-the-viability-of-flex/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Future of Flash Panel &#8211; Recording</title>
		<link>http://inflagrantedelicto.memoryspiral.com/2011/12/future-of-flash-panel-recording/</link>
		<comments>http://inflagrantedelicto.memoryspiral.com/2011/12/future-of-flash-panel-recording/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 16:55:56 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Presentation]]></category>
		<category><![CDATA[Adobe]]></category>

		<guid isPermaLink="false">http://inflagrantedelicto.memoryspiral.com/?p=3969</guid>
		<description><![CDATA[On the 6th of December, I participated in the &#8220;Future of Flash&#8221; panel along with Kevin Hoyt, Jun Heider, and Ryan Bell with John Wilker moderating. The event was put on by the Rocky Mountain Adobe User Group (RMAUG) and &#8230; <a href="http://inflagrantedelicto.memoryspiral.com/2011/12/future-of-flash-panel-recording/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On the 6th of December, I participated in the &#8220;Future of Flash&#8221; panel along with <a href="http://twitter.com/#!/krhoyt">Kevin Hoyt</a>, <a href="http://twitter.com/#!/coderjun">Jun Heider</a>, and Ryan Bell with <a href="http://twitter.com/#!/jwilker">John Wilker</a> moderating. The event was put on by the Rocky Mountain Adobe User Group (<a href="http://twitter.com/#!/rmaug">RMAUG</a>) and <a href="http://twitter.com/#!/360Flex">360|Flex</a> and was hosted by <a href="http://twitter.com/#!/uncubed">Uncubed</a> in Denver, Colorado.</p>
<p>Unfortunately, the recording was problematic and we only have the first 20 minutes &#8211; but it still contains some good information and discussions.</p>
<p>The recording&#8230;<br />
<object height="81" width="100%"><param name="movie" value="https://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F30529896"></param><param name="allowscriptaccess" value="always"></param> <embed allowscriptaccess="always" height="81" src="https://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F30529896" type="application/x-shockwave-flash" width="100%"></embed></object>  <span><a href="http://soundcloud.com/realeyes-media/rmaug_12-6-11">Rmaug_12/6/11</a> by <a href="http://soundcloud.com/realeyes-media">realeyes media</a></span> </p>
]]></content:encoded>
			<wfw:commentRss>http://inflagrantedelicto.memoryspiral.com/2011/12/future-of-flash-panel-recording/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Flex: REDUX!!!</title>
		<link>http://inflagrantedelicto.memoryspiral.com/2011/11/open-source-flex-redux/</link>
		<comments>http://inflagrantedelicto.memoryspiral.com/2011/11/open-source-flex-redux/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 01:30:12 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://inflagrantedelicto.memoryspiral.com/?p=3847</guid>
		<description><![CDATA[&#8220;Adobe annouced today that Flex is going open source!&#8221; [this is a post from 2007 in light of Adobe's announcement on 11/11/11] Heh&#8230; really&#8230; Contribute to SPOON and see what happens!]]></description>
			<content:encoded><![CDATA[<p>&#8220;<a href="http://inflagrantedelicto.memoryspiral.com/2007/04/adobe-to-open-source-flex/">Adobe annouced today that Flex is going open source!</a>&#8221; </p>
<p>[this is a post from 2007 in light of Adobe's <a href="http://blogs.adobe.com/flex/2011/11/your-questions-about-flex.html">announcement</a> on 11/11/11]</p>
<p>Heh&#8230; really&#8230; </p>
<div id="attachment_3850" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.spoon.as/"><img src="http://inflagrantedelicto.memoryspiral.com/wp-content/uploads/2011/11/spoon.png" alt="" title="spoon" width="550" height="148" class="size-full wp-image-3850" /></a><p class="wp-caption-text">http://www.spoon.as/</p></div>
<p>Contribute to <a href="http://www.spoon.as/">SPOON</a> and see what happens!</p>
]]></content:encoded>
			<wfw:commentRss>http://inflagrantedelicto.memoryspiral.com/2011/11/open-source-flex-redux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preserving Flex s&#124;Button Icon Colors</title>
		<link>http://inflagrantedelicto.memoryspiral.com/2011/06/preserving-flex-sbutton-icon-colors/</link>
		<comments>http://inflagrantedelicto.memoryspiral.com/2011/06/preserving-flex-sbutton-icon-colors/#comments</comments>
		<pubDate>Sun, 26 Jun 2011 20:42:27 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Icon]]></category>
		<category><![CDATA[Spark]]></category>

		<guid isPermaLink="false">http://inflagrantedelicto.memoryspiral.com/?p=3527</guid>
		<description><![CDATA[I&#8217;ve noticed this behavior before, but in previous projects it wasn&#8217;t a really big deal&#8230; Scenario: Using Flex 4.5 and the default Spark theme, you provide a button with both a &#8220;chromeColor&#8221; setting and assign it an Icon. The Icon &#8230; <a href="http://inflagrantedelicto.memoryspiral.com/2011/06/preserving-flex-sbutton-icon-colors/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve noticed this behavior before, but in previous projects it wasn&#8217;t a really big deal&#8230;</p>
<blockquote><p><strong>Scenario: </strong>Using Flex 4.5 and the default Spark theme, you provide a button with both a &#8220;chromeColor&#8221; setting and assign it an Icon. The Icon is rendered almost transparent and looks nothing like what you&#8217;ve exported from Photoshop, Fireworks, or whatever. The image below demonstrates both how the icon should appear (top) and how it appears by default (bottom).</p></blockquote>
<div id="attachment_3529" class="wp-caption aligncenter" style="width: 147px"><a href="http://inflagrantedelicto.memoryspiral.com/wp-content/uploads/2011/06/ColorizeButton.jpg"><img class="size-full wp-image-3529" title="ColorizeButton" src="http://inflagrantedelicto.memoryspiral.com/wp-content/uploads/2011/06/ColorizeButton.jpg" alt="" width="137" height="91" /></a><p class="wp-caption-text">Good Icon / Bad Icon</p></div>
<p>I&#8217;ve mentioned that I&#8217;ve encountered this before. Well&#8230; for the current project, it really is a big deal. I needed to find a solution to this and the answer is not at all readily available. Since the ability to include an icon was not included in the initial Spark release, performing a search on Google will mostly pull up workarounds for this. Now that icons are officially supported in Spark Button components, this is not a big deal&#8230; yet we still have the problem of the icon showing up all funky.</p>
<p>I reached out on Twitter, thinking there must be someone out there that had encountered this. <a href="http://twitter.com/polyGeek/">Dan Florio</a> pointed out that it was likely the <em>chromeColor</em> style setting that was causing the problem. After giving this a good look, I did verify that the icon seemed to be inheriting styles off of the <em>chomeColor </em>even though the Label element within the Button was not. Weird&#8230; but it definitely gave me something to work on.</p>
<p>Anyhow. Here is what I found that does fix this problem.</p>
<ol>
<li>Create a new Flex application with the default Spark theme.</li>
<li>Add a Button with an icon defined, as well as the <em>chromeColor</em> attribute:
<pre style="white-space:normal;">&lt;s:Button label="BOOKMARK" chromeColor="#000000"  icon="@Embed('mini_bookmark.png')"/&gt;</pre>
<p> This will render the icon barely visible.</li>
<li>Now you must create a new Skin class based off of <em>spark.skins.spark.ButtonSkin</em> and assign this to the <em>skinClass</em> attribute of the Button</li>
<li>Within this class (around line 43) is the following declaration:
<pre style="white-space:normal;">static private const exclusions:Array = ["labelDisplay"];</pre>
</li>
<li>The icon in a Spark Button has the ID of <em>iconDisplay</em>. We will add this to the <em>exclusions </em>Array:
<pre style="white-space:normal;">static private const exclusions:Array = ["labelDisplay", "iconDisplay"];</pre>
</li>
<li><strong>Presto!</strong> Everything looks classy!</li>
</ol>
<p>Hopefully those reading this did not need to spend over an hour wading through the default Spark component and skin declarations to locate this :)</p>
]]></content:encoded>
			<wfw:commentRss>http://inflagrantedelicto.memoryspiral.com/2011/06/preserving-flex-sbutton-icon-colors/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Flex Show: Episode 132</title>
		<link>http://inflagrantedelicto.memoryspiral.com/2011/01/the-flex-show-episode-132/</link>
		<comments>http://inflagrantedelicto.memoryspiral.com/2011/01/the-flex-show-episode-132/#comments</comments>
		<pubDate>Sat, 29 Jan 2011 20:19:22 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Education]]></category>

		<guid isPermaLink="false">http://inflagrantedelicto.memoryspiral.com/?p=3062</guid>
		<description><![CDATA[An interview I did with The Flex Show, back in December 2010, is now available! On the show, we talk about the use of Flex in higher education &#8211; specifically focused on projects I&#8217;ve been involved in at the University &#8230; <a href="http://inflagrantedelicto.memoryspiral.com/2011/01/the-flex-show-episode-132/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_2837" class="wp-caption alignleft" style="width: 160px"><img src="http://inflagrantedelicto.memoryspiral.com/wp-content/uploads/2010/12/the_flex_show-150x150.jpg" alt="" title="The Flex Show" width="150" height="150" class="size-thumbnail wp-image-2837" /><p class="wp-caption-text">The Flex Show</p></div>
<p>An interview I did with <strong>The Flex Show</strong>, back in December 2010, is <a href="http://www.theflexshow.com/blog/index.cfm/2011/1/27/Joseph-Labrecque-Flex-in-Higher-Education--The-Flex-Show-Episode-132">now available</a>! </p>
<p>On the show, we talk about the use of Flex in higher education &#8211; specifically focused on <a href="http://www.adobe.com/cfusion/showcase/index.cfm?event=casestudydetail&amp;casestudyid=1133917&amp;loc=en_us">projects I&#8217;ve been involved in</a> at the <a href="http://www.du.edu/">University of Denver</a>. We also go over the <a href="http://www.adobe.com/education/hed/community/leaders/">Adobe Education Leader</a> program and chat about the wider Flex-in-education community. There is even some talk on mobile application development, the implications of tablet computing in education, and even some AIR for TV!</p>
<p>Toward the close of the episode; I talk about my <a href="http://inflagrantedelicto.memoryspiral.com/2010/12/something-new-im-writing-a-book/">upcoming book</a> and give mentions to <a href="http://codebass.net/">CodeBass</a>, <a href="http://fracturedvisionmedia.com/FVM005/">Emergent Collective One</a>, <a href="http://fracturedvisionmedia.com/FVM006/">6Threads</a>, and other projects.</p>
<p>Listen here: <a href="http://www.theflexshow.com/blog/index.cfm/2011/1/27/Joseph-Labrecque-Flex-in-Higher-Education--The-Flex-Show-Episode-132"><strong>Flex in Higher Education: The Flex Show Episode 132</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://inflagrantedelicto.memoryspiral.com/2011/01/the-flex-show-episode-132/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Get Up and Running with BlazeDS AMF in Spring MVC</title>
		<link>http://inflagrantedelicto.memoryspiral.com/2011/01/get-up-and-running-with-blazeds-amf-in-spring-mvc/</link>
		<comments>http://inflagrantedelicto.memoryspiral.com/2011/01/get-up-and-running-with-blazeds-amf-in-spring-mvc/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 15:07:59 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Remoting]]></category>
		<category><![CDATA[AMF]]></category>
		<category><![CDATA[BlazeDS]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://inflagrantedelicto.memoryspiral.com/?p=2998</guid>
		<description><![CDATA[There is a dismal lack of clear instruction for configuring BlazeDS AMF services with Spring. Many of the resources that do exist refer to older versions of the software or strict scenarios that do not apply to everyone using Spring &#8230; <a href="http://inflagrantedelicto.memoryspiral.com/2011/01/get-up-and-running-with-blazeds-amf-in-spring-mvc/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>There is a dismal lack of clear instruction for configuring BlazeDS AMF services with Spring. Many of the resources that do exist refer to older versions of the software or strict scenarios that do not apply to everyone using Spring for their projects. This document will outline the steps necessary to configure BlazeDS with Spring when using both <strong>Spring MVC</strong>, specifically, and Flex.</p>
<div id="attachment_3008" class="wp-caption aligncenter" style="width: 486px"><a href="http://inflagrantedelicto.memoryspiral.com/wp-content/uploads/2011/01/BlazeDS.png"><img src="http://inflagrantedelicto.memoryspiral.com/wp-content/uploads/2011/01/BlazeDS.png" alt="" title="BlazeDS" width="476" height="237" class="size-full wp-image-3008" /></a><p class="wp-caption-text">BlazeDS can work with Spring MVC</p></div>
<p><em>You can grab the latest build of Spring from:</em><br />
<a href="http://www.springsource.org/">http://www.springsource.org/</a></p>
<p><em>You can grab the latest build of BlazeDS from:</em><br />
<a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS">http://opensource.adobe.com/wiki/display/blazeds/BlazeDS</a></p>
<hr />First, you will want to be sure that Spring is configured in the following way:</p>
<ol>
<li>You will already have a dispatcher servlet entry in your <strong>web.xml</strong> for Spring MVC similar to the following:
<pre class="brush:xml">&lt;servlet&gt;
&lt;servlet-name&gt;spring&lt;/servlet-name&gt;
	&lt;servlet-class&gt;org.springframework.web.servlet.DispatcherServlet&lt;/servlet-class&gt;
		&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
&lt;/servlet&gt;
&lt;servlet-mapping&gt;
		&lt;servlet-name&gt;spring&lt;/servlet-name&gt;
		&lt;url-pattern&gt;*.do&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;</pre>
</li>
<li>Be sure to include the following JAR packages in the<strong> /WEB-INF/lib</strong> directory of your project:
<ul>
<li>asm.jar</li>
<li>blazeds-common-3.0.jar</li>
<li>blazeds-core-3.0.jar</li>
<li>cglib-2.2.jar</li>
<li>com.springsource.edu.emory.mathcs.backport-3.0.0.jar</li>
<li>com.springsource.flex.messaging.services.remoting-3.2.0.3978.jar</li>
<li>org.springframework.flex-1.0.3.RELEASE.jar</li>
<li>commons-codec-1.3.jar</li>
<li>commons-httpclient-3.0.1.jar</li>
<li>flex-messaging-common.jar</li>
<li>flex-messaging-core.jar</li>
<li>flex-messaging-opt.jar</li>
<li>flex-messaging-proxy.jar</li>
<li>flex-messaging-remoting.jar</li>
<li>flex-rds-server.jar</li>
<li>xalan.jar</li>
<li>commons-logging.jar</li>
<li>cfgatewayadapter.jar</li>
<li>spring-flex-1.0.1.RELEASE.jar</li>
</ul>
</li>
</ol>
<p>To get BlazeDS integrated with Spring, complete the following steps:</p>
<ol>
<li>Add the following lines to <strong>web.xml</strong>:
<pre class="brush:xml">&lt;servlet-mapping&gt;
	&lt;servlet-name&gt;spring&lt;/servlet-name&gt;
	&lt;url-pattern&gt;/messagebroker/amf&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;</pre>
</li>
<li>Add the following lines to your servlet XML file:
<pre class="brush:xml">&lt;bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/&gt;
&lt;bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/&gt;
&lt;flex:message-broker&gt;
	&lt;flex:mapping pattern="/messagebroker/amf" /&gt;
&lt;/flex:message-broker&gt;</pre>
</li>
<li>Create a file called “<strong>services-config.xml</strong>” and add this to <strong>/web-inf/flex</strong>:
<pre class="brush:xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;services-config&gt;
	&lt;services&gt;
		&lt;default-channels&gt;
			&lt;channel ref="my-amf" /&gt;
		&lt;/default-channels&gt;
	&lt;/services&gt;
	&lt;channels&gt;
		&lt;channel-definition id="my-amf"
			class="mx.messaging.channels.AMFChannel"&gt;
			&lt;endpointurl=http://{server.name}:{server.port}/{context.root}/messagebroker/amf class="flex.messaging.endpoints.AMFEndpoint" /&gt;
			&lt;properties&gt;
				&lt;polling-enabled&gt;false&lt;/polling-enabled&gt;
			&lt;/properties&gt;
		&lt;/channel-definition&gt;
	&lt;/channels&gt;
	&lt;logging&gt;
		&lt;target class="flex.messaging.log.ConsoleTarget" level="info"&gt;
			&lt;properties&gt;
				&lt;prefix&gt;[BlazeDS]&lt;/prefix&gt;
				&lt;includeDate&gt;false&lt;/includeDate&gt;
				&lt;includeTime&gt;false&lt;/includeTime&gt;
				&lt;includeLevel&gt;true&lt;/includeLevel&gt;
				&lt;includeCategory&gt;false&lt;/includeCategory&gt;
			&lt;/properties&gt;
			&lt;filters&gt;
				&lt;pattern&gt;Endpoint.*&lt;/pattern&gt;
				&lt;pattern&gt;Service.*&lt;/pattern&gt;
				&lt;pattern&gt;Configuration&lt;/pattern&gt;
			&lt;/filters&gt;
		&lt;/target&gt;
	&lt;/logging&gt;
&lt;/services-config&gt;</pre>
</li>
<li>Import the <strong>RemotingDestination</strong> class and add the following annotations to any Java classes that will be used by Flash:
<pre class="brush:java">import org.springframework.flex.remoting.RemotingDestination;
@Service("flexService")
@RemotingDestination(value="flexService",channels={"my-amf"})</pre>
</li>
<li>If you are using Spring security, add the following line to whichever xml you are using to define security parameters  so we can access message broker:
<pre class="brush:xml">&lt;security:intercept-url pattern="/messagebroker/**" access="IS_AUTHENTICATED_ANONYMOUSLY" /&gt;</pre>
</li>
</ol>
<p>Now, to get Flex talking to Java through BlazeDS, we must configure our application as such:</p>
<ol>
<li>Import the remoting event packages so that we can send data over AMF:
<pre class="brush:as3">import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;</pre>
</li>
<li>Now, in your declarations tag, set up a <strong>RemoteObject</strong> structure similar to this:
<pre class="brush:xml">&lt;fx:Declarations&gt;
		&lt;s:RemoteObject id="ro" endpoint="http://website.root/messagebroker/amf" destination="flexService" result="resultAMF(event)" fault="faultAMF(event)"&gt;
			&lt;s:method name="methodNameFromJavaClass"&gt;
				&lt;s:arguments&gt;
					&lt;arg1&gt;{arg1}&lt;/arg1&gt;
					&lt;arg2&gt;{arg2}&lt;/arg2&gt;
					&lt;arg3&gt;{arg3}&lt;/arg3&gt;
				&lt;/s:arguments&gt;
			&lt;/s:method&gt;
		&lt;/s:RemoteObject&gt;
&lt;/fx:Declarations&gt;</pre>
<p>If you are not passing any arguments, you can simplify the setup as such:</p>
<pre class="brush:xml">&lt;fx:Declarations&gt;
	&lt;s:RemoteObject id="ro" endpoint=" http://website.root/messagebroker/amf" destination="flexService" result="resultAMF(event)" fault="faultAMF(event)"/&gt;
&lt;/fx:Declarations&gt;</pre>
</li>
<li>Create methods to handle the result and fault events reported through our remote service:
<pre class="brush:as3">private function resultAMF(e:ResultEvent):void {}
private function faultAMF(e:FaultEvent):void {}</pre>
</li>
<li>To invoke a remoting call through BlazeDS AMF, simply invoke the specific method off of our remote object instance:
<pre class="brush:as3">ro.methodNameFromJavaClass.send();</pre>
</li>
</ol>
<p>That should be all there is to it.</p>
<p>If you want to test this quickly, here is some quick MXML to do so:</p>
<pre class="brush:xml">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   xmlns:mx="library://ns.adobe.com/flex/mx"
			   width="600" height="400"&gt;

	&lt;fx:Script&gt;
		&lt;![CDATA[
			import mx.controls.Alert;
			import mx.rpc.events.FaultEvent;
			import mx.rpc.events.ResultEvent;

			protected function testAMF(e:MouseEvent):void {
				ro.helloWorld.send();
			}
			private function resultAMF(e:ResultEvent):void {
				Alert.show("BlazeDS Worked...", "Hot Shit!");
			}
			private function faultAMF(e:FaultEvent):void {
				Alert.show(e.fault.faultString, "Duck and Cover!!!");
			}
		]]&gt;
	&lt;/fx:Script&gt;

	&lt;fx:Declarations&gt;
		&lt;s:RemoteObject id="ro" endpoint="http://website.root/messagebroker/amf" destination="flexService" result="resultAMF(event)" fault="faultAMF(event)"/&gt;
	&lt;/fx:Declarations&gt;

	&lt;s:Button width="375" height="120" label="Test BlazeDS" click="testAMF(event)" fontSize="36" fontWeight="bold" horizontalCenter="0" verticalCenter="0"/&gt;

&lt;/s:Application&gt;</pre>
<hr />Special thanks to Carrie Lorenz for figuring out all the Spring MVC bits and assisting with this documentation.</p>
<p><em>Note that this document was compiled from our internal experiences integrating BlazeDS and Spring MVC. This is what worked for us… we do not claim to be experts in this area – if you have any feedback, please let us know!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://inflagrantedelicto.memoryspiral.com/2011/01/get-up-and-running-with-blazeds-amf-in-spring-mvc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Interview with The Flex Show</title>
		<link>http://inflagrantedelicto.memoryspiral.com/2010/12/interview-with-the-flex-show/</link>
		<comments>http://inflagrantedelicto.memoryspiral.com/2010/12/interview-with-the-flex-show/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 15:14:26 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Interview]]></category>

		<guid isPermaLink="false">http://inflagrantedelicto.memoryspiral.com/?p=2832</guid>
		<description><![CDATA[Last evening, I was interviewed by Jeffry Houser and John Wilker of The Flex Show with a focus on Flex Development in Higher Education. We chatted about a general overview of Flex and education, some Flex projects I&#8217;m involved with &#8230; <a href="http://inflagrantedelicto.memoryspiral.com/2010/12/interview-with-the-flex-show/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_2837" class="wp-caption alignleft" style="width: 160px"><a href="http://theflexshow.com/"><img class="size-thumbnail wp-image-2837" title="The Flex Show" src="http://inflagrantedelicto.memoryspiral.com/wp-content/uploads/2010/12/the_flex_show-150x150.jpg" alt="" width="150" height="150" /></a><p class="wp-caption-text">The Flex Show</p></div>
<p>Last evening, I was interviewed by Jeffry Houser and John Wilker of <strong><a href="http://www.theflexshow.com/">The Flex Show</a></strong> with a focus on <em>Flex Development in Higher Education</em>. We chatted about a general overview of Flex and education, some Flex projects I&#8217;m involved with at the University of Denver, a bit about the <a href="http://www.adobe.com/education/hed/community/leaders/">Adobe Education Leader</a> program, and emerging areas like tablet computing and AIR on TV. At the closing of the interview I was able to plug a bunch of projects from this year including <a href="http://fracturedvisionmedia.com/FVM006/">6Threads</a> and <a href="http://fracturedvisionmedia.com/FVM005/">Emergent Collective One</a>, and also talk up my upcoming <a href="http://inflagrantedelicto.memoryspiral.com/2010/12/something-new-im-writing-a-book/">book</a>!</p>
<p>This episode <del datetime="2011-01-29T18:12:46+00:00">should be available either at the end of this year or the beginning of 2011</del><ins datetime="2011-01-29T18:12:46+00:00">is now available!</ins>:<br />
<strong><a href="http://www.theflexshow.com/blog/index.cfm/2011/1/27/Joseph-Labrecque-Flex-in-Higher-Education--The-Flex-Show-Episode-132">Joseph Labrecque Flex in Higher Education : The Flex Show Episode 132</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://inflagrantedelicto.memoryspiral.com/2010/12/interview-with-the-flex-show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IIS7 URL Rewrite QuickTip: Allow Flash Gateway</title>
		<link>http://inflagrantedelicto.memoryspiral.com/2010/09/iis7-url-rewrite-quicktip-allow-flash-gateway/</link>
		<comments>http://inflagrantedelicto.memoryspiral.com/2010/09/iis7-url-rewrite-quicktip-allow-flash-gateway/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 16:55:18 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[AMF]]></category>
		<category><![CDATA[Coldfusion]]></category>
		<category><![CDATA[Gateway]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Remoting]]></category>

		<guid isPermaLink="false">http://inflagrantedelicto.memoryspiral.com/?p=2390</guid>
		<description><![CDATA[We all know that ColdFusion allows Flash Remoting (AMF) communication to occur via two separate URL strings: http://my.site.com/flex2gateway http://my.site.com/flashservices/gateway I recently came across the problem where the URL Rewrite rules in IIS7 were blocking both of these URLs from being &#8230; <a href="http://inflagrantedelicto.memoryspiral.com/2010/09/iis7-url-rewrite-quicktip-allow-flash-gateway/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We all know that ColdFusion allows Flash Remoting (<a href="http://en.wikipedia.org/wiki/Action_Message_Format">AMF</a>) communication to occur via two separate URL strings:</p>
<ul>
<li>http://my.site.com/flex2gateway</li>
<li>http://my.site.com/flashservices/gateway</li>
</ul>
<p>I recently came across the problem where the URL Rewrite rules in IIS7 were blocking both of these URLs from being passed on and correctly processed by ColdFusion. The solution is to add the following two rules to your site definition and move them both to the top of the stack, above any other rules you may have. This will effectively allow both of these URLs to process normally and stop and subsequent rules from executing if the pattern matches.</p>
<p><a href="http://inflagrantedelicto.memoryspiral.com/wp-content/uploads/2010/09/iis7urlrw.png"><img class="alignnone" title="iis7urlrw" src="http://inflagrantedelicto.memoryspiral.com/wp-content/uploads/2010/09/iis7urlrw.png" alt="" width="600" /></a></p>
<p>You can also edit your site definition web.config file to add the rules there:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rule</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;flashservices/gateway&quot;</span> <span style="color: #000066;">stopProcessing</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;match</span> <span style="color: #000066;">url</span>=<span style="color: #ff0000;">&quot;flashservices/gateway&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;conditions</span> <span style="color: #000066;">logicalGrouping</span>=<span style="color: #ff0000;">&quot;MatchAll&quot;</span> <span style="color: #000066;">trackAllCaptures</span>=<span style="color: #ff0000;">&quot;false&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;action</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;None&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/rule<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rule</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;flex2gateway&quot;</span> <span style="color: #000066;">patternSyntax</span>=<span style="color: #ff0000;">&quot;ExactMatch&quot;</span> <span style="color: #000066;">stopProcessing</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;match</span> <span style="color: #000066;">url</span>=<span style="color: #ff0000;">&quot;flex2gateway&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;conditions</span> <span style="color: #000066;">logicalGrouping</span>=<span style="color: #ff0000;">&quot;MatchAll&quot;</span> <span style="color: #000066;">trackAllCaptures</span>=<span style="color: #ff0000;">&quot;false&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;action</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;None&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/rule<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Again, be sure they appear before any other rules and you should be good to go! Flash on!</p>
]]></content:encoded>
			<wfw:commentRss>http://inflagrantedelicto.memoryspiral.com/2010/09/iis7-url-rewrite-quicktip-allow-flash-gateway/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memory Leak in Flex SDK 4.1 Spark VideoDisplay</title>
		<link>http://inflagrantedelicto.memoryspiral.com/2010/09/memory-leak-in-flex-sdk-4-1-spark-videodisplay/</link>
		<comments>http://inflagrantedelicto.memoryspiral.com/2010/09/memory-leak-in-flex-sdk-4-1-spark-videodisplay/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 15:48:24 +0000</pubDate>
		<dc:creator>Joseph Labrecque</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[OSMF]]></category>

		<guid isPermaLink="false">http://inflagrantedelicto.memoryspiral.com/?p=2282</guid>
		<description><![CDATA[In working on a small utility application (Adobe AIR) this week, I came across a pretty major memory leak in the beta Open Source Media Framework based Spark components in Flex 4.1 final. The utility I am building grabs over &#8230; <a href="http://inflagrantedelicto.memoryspiral.com/2010/09/memory-leak-in-flex-sdk-4-1-spark-videodisplay/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In working on a small utility application (Adobe AIR) this week, I came across a pretty major memory leak in the beta <strong>Open Source Media Framework</strong> based Spark components in Flex 4.1 final.</p>
<p>The utility I am building grabs over 10,000 video clip records from our media repository and then systematically goes through and renders a still image of each clip. There&#8217;s actually a lot more to it than that and I&#8217;ll probably either write about or present on some of the neat tricks I am doing with this app soon, but for the sake of this article this is all you need to know. </p>
<p>I&#8217;m using <strong>s:VideoDisplay</strong> to grab data from an RTMP stream and also use the events present to manage the system method calls. Should be no big deal- but once the application hit 500-1000 out of the 10,000+ records, it would simply crash out. No good.</p>
<p><img src="http://inflagrantedelicto.memoryspiral.com/wp-content/uploads/2010/09/TaskManager.png" alt="" title="TaskManager" width="604" height="134" class="alignnone size-full wp-image-2284" /></p>
<p>Using the Windows Task Manager, I could watch the memory usage in ADL skyrocket as each video was processed into a still image. Obviously something was up. Using the profiler in Flash Builder 4 I was able to isolate the problem to the <strong>org.osmf.*</strong> classes being used by the Spark VideoDisplay component.</p>
<p>It&#8217;s important to note here that while Flex 4.1 is certainly release quality, it (along with Flex 4.0) was released with components based on beta OSMF code. Flex 4.5, while not final by any means, does include the final OSMF 1.0 classes. I was able to download and compile the same project with Flex 4.5 and can happily say I have had no more memory leaks whatsoever.  The application is running like a champ and processing thousands of videos without issue. Windows Task Manager shows that the memory used by ADL is being properly released and all is well.</p>
<p><img src="http://inflagrantedelicto.memoryspiral.com/wp-content/uploads/2010/09/csg.png" alt="" title="csg" width="498" height="116" class="alignnone size-full wp-image-2288" /></p>
<p>As a side note, I could have written my own video display based on <strong>flash.media.Video</strong> or even used <strong>mx:VideoDisplay</strong>&#8230; but I wanted to get to the bottom of this :)</p>
]]></content:encoded>
			<wfw:commentRss>http://inflagrantedelicto.memoryspiral.com/2010/09/memory-leak-in-flex-sdk-4-1-spark-videodisplay/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

