<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Flex Doc Team</title>
      <link>http://blogs.adobe.com/flexdoc/</link>
      <description>Updates, new content, and other helpful information from the Flex Documentation Team.</description>
      <language>en</language>
      <copyright>Copyright 2008</copyright>
      <lastBuildDate>Wed, 30 Apr 2008 16:50:54 -0500</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=3.2</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>Master-Detail Flex Application</title>
         <description><![CDATA[<p>I’m an Adobe writer assigned primarily to Flex Builder and the Flex SDK. I joined Adobe in October of 2007 and have spent the first few months learning and using Flex and Flex Builder.</p>

<p>I’ve recently completed my first Flex application, and am using this blog to write about my learning experience, and also to describe some of the concepts behind the application that make it work. Actually, these are two applications that work together, <strong>vRadio</strong> and <strong>RadioLoginDB</strong>.</p>

<p>These applications illustrate how to use Flex to create a master-detail application that accesses data from a PHP server, and also incorporates PHP sessions.</p>

<p>At the end of this posting is a list of documentation sources I used to learn how to create the applications. I also have links to the source files.</p>

<h2>vRadio and RadioLoginDB applications</h2>
I have always been a fan of Community Radio, and in the past I’ve Googled “Community Radio” to find new stations to listen to over the web. I created the <strong>vRadio</strong> application to provide a Flex alternative that lists Community and Talk radio stations, providing details about each station including station name and location, station graphic, and clickable links to open the station.  <strong>RadioLoginDB</strong> is a CRUD application to update the database of radio stations used by <strong>vRadio</strong>.

<p><strong>vRadio</strong> is a Master-Detail application, and corresponds to many type of applications that present stored data in a variety of presentation formats, and also provide forms for updating the data.</p>

<p>What is interesting about the <strong>the vRadio</strong> application is the way Flex handles XML data using the E4X format. By providing an XML feed into the vRadio application, the application displays the XML data in a tree view. When the user clicks a node in the tree, details are displayed.<br />
</p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/04/masterdetail_flex_application_1.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/04/masterdetail_flex_application_1.html</guid>
         <category>Flex Builder</category>
         <pubDate>Wed, 30 Apr 2008 16:50:54 -0500</pubDate>
      </item>
            <item>
         <title>Alternatives to using the Fade effect with text </title>
         <description><![CDATA[<p>Someone recently asked if there were any ways to fade text out in a Flex app without having to embed the font for that text. Currently, if you want to appkly the Fade effect to any controls that contain text in a Flex app, you have to embed the font so that Flash Player can do the fading properly. </p>

<p>This question led to an interesting thread that revealed a couple of alternatives to fading text without embedding the font. The result is that the SWF file size is smaller because it doesn't contain any font symbols.</p>

<p>First, here's code that embeds a font and defines a fadeIn and fadeOut effect:<br />
<pre><br />
[Embed("assets/MyriadWebPro.ttf", fontName="MyMyriad")]<br />
public var myriad_font:Class;<br />
...<br />
&lt;mx:Fade id="fadeOut" duration="1000" alphaFrom="1.0" alphaTo="0.0"/&gt;<br />
&lt;mx:Fade id="fadeIn" duration="1000" alphaFrom="0.0" alphaTo="1.0"/&gt;</p>

<p>&lt;mx:Label id="label1" text="Hello World"  <br />
            fontFamily="MyMyriad" fontSize="24"<br />
            hideEffect="{fadeOut}" showEffect="{fadeIn}"/&gt;<br />
</pre><br />
Here's the running example:</p>

<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="Fade_EmbeddedFont" width="300" height="175" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"><param name="movie" value="http://blogs.adobe.com/flexdoc/Fade_EmbeddedFont.swf" /><param name="quality" value="high" /><param name="allowScriptAccess" value="sameDomain" /><embed src="http://blogs.adobe.com/flexdoc/Fade_EmbeddedFont.swf" quality="high" width="300" height="175" name="Fade_EmbeddedFont" align="middle" play="true" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object></p>

<p>This app is 190K. It works very well because the Fade effect is applied directly to the control that uses an embedded font to render the text. </p>

<p>If you didn't embed the font, then the Fade effect would appear to fail: instead of a slow fade, you'd get a single instant where the text disappears. Non-embedded fonts don't include bitmap information for the Player to apply a Fade effect to. </p>

<p>Here's a running example that shows the failing fade on non-embedded text:</p>

<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="Fade_Failing" width="300" height="175" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"><param name="movie" value="http://blogs.adobe.com/flexdoc/Fade_Failing.swf" /><param name="quality" value="high" /><param name="allowScriptAccess" value="sameDomain" /><embed src="http://blogs.adobe.com/flexdoc/Fade_Failing.swf" quality="high" width="300" height="175" name="Fade_Failing" align="middle" play="true" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object></p>

<p>Now for the alternatives.</p>

<p>The first alternative is really clever: Apply the BlurFilter to the text before attempting to fade it in and out. When you apply a BlurFilter to text, Flash Player converts the text to a bitmap. Once the text is a bitmap, it can be faded in and out with the Fade effect. So instead of actually blurring the text with the BlurFilter, you just apply the BlurFilter with some dummy settings (0,0,0), and then you can fade the text with the Fade effect.</p>

<p>Here's the code that applies a BlurFilter to the text when the app initializes:<br />
<pre><br />
  private function addBlurFilter():void {<br />
  var bf:BlurFilter = new BlurFilter(0,0,0);<br />
  var myFilters:Array = new Array();<br />
  myFilters.push(bf);<br />
  label3.filters = myFilters;<br />
}<br />
</pre></p>

<p>When you toggle the checkbox, the Fade effect now appears to work seamlessly. Here's the running example:</p>

<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="Fade_BlurFilter" width="300" height="175" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"><param name="movie" value="http://blogs.adobe.com/flexdoc/Fade_BlurFilter.swf" /><param name="quality" value="high" /><param name="allowScriptAccess" value="sameDomain" /><embed src="http://blogs.adobe.com/flexdoc/Fade_BlurFilter.swf" quality="high" width="300" height="175" name="Fade_BlurFilter" align="middle" play="true" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object></p>

<p>The SWF file size is 165K. Adding the BlurFilter does not increase the SWF file size because you don't have to embed the font symbols. It might increase runtime memory usage because Flash Player now has to keep bitmap data in memory for that text, but it's still a damn clever trick, I think.</p>

<p>The second alternative is to use the Dissolve effect rather than the Fade effect. The Dissolve effect actually creates a rectangle over the target area, and applies a dissolve to the rectangle so that the underlying content appears to fade in and out. </p>

<p>Dissolve effects are set up and applied just like Fade effects:<br />
<pre><br />
&lt;mx:Dissolve id="dissolveOut" duration="1000" alphaFrom="1.0" alphaTo="0.0"/&gt;<br />
&lt;mx:Dissolve id="dissolveIn" duration="1000" alphaFrom="0.0" alphaTo="1.0"/&gt;</p>

<p>&lt;mx:Label id="label4" text="Hello World" fontSize="24" <br />
     hideEffect="{dissolveOut}" showEffect="{dissolveIn}"/&gt;<br />
</pre><br />
Here's a running example:</p>

<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="Fade_DissolveEffect" width="300" height="175" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"><param name="movie" value="http://blogs.adobe.com/flexdoc/Fade_DissolveEffect.swf" /><param name="quality" value="high" /><param name="allowScriptAccess" value="sameDomain" /><embed src="http://blogs.adobe.com/flexdoc/Fade_DissolveEffect.swf" quality="high" width="300" height="175" name="Fade_DissolveEffect" align="middle" play="true" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object></p>

<p>As with the Blur effect, using the Dissolve effect does not increase the SWF file size because you don't have to embed the font symbols. </p>

<p><a href="http://blogs.adobe.com/flexdoc/TextFade.zip">This ZIP file</a> (2KB) contains the complete source MXML files for the three working examples in this blog entry.<br />
</p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/04/alternatives_to_fade_effect_fo_1.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/04/alternatives_to_fade_effect_fo_1.html</guid>
         <category>Effects</category>
         <pubDate>Fri, 25 Apr 2008 13:38:58 -0500</pubDate>
      </item>
            <item>
         <title>New &quot;Community Help&quot; features for Flex</title>
         <description><![CDATA[<p>The Adobe web team is rolling out new functionality to help Flex coders find the help resources they need. </p>

<p>Currently, the "Ion" project consists of a customized search engine that is populated with the best of the Flex-related resources on the web. You can access this new search feature directly at <a href="http://community.adobe.com/ion/">http://community.adobe.com/ion/</a>. You can also search it by using the "Community-Powered Search" input on the <a href="http://www.adobe.com/devnet/flex/">Flex DevNet site</a>.</p>

<p>Also part of Ion is the back end for commenting on Livedocs and DevNet articles. Prior to this, there was no commenting on DevNet articles, and the Livedocs commenting engine was much more restrictive. </p>

<p>This is just the beginning of the Ion project.</p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/04/new_community_help_features_fo.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/04/new_community_help_features_fo.html</guid>
         <category>General</category>
         <pubDate>Fri, 25 Apr 2008 13:24:55 -0500</pubDate>
      </item>
            <item>
         <title>Extracting data visualization source code</title>
         <description><![CDATA[<p>All users have access to the Flex 3 SDK source code. You can view the ActionScript source files for classes like Button and DataGrid. The source code is in the frameworks\projects\framework\src directory of your Flex installation. The source code for the data visualization projects does not come pre-installed, however. If you have a Flex Builder Professional license key, you can extract the data visualization source code, which include the charting controls, the AdvancedDataGrid classes, the OLAP classes, and the automation classes. To view your Flex Builder license key, select Manage Flex Licenses from the Help menu.</p>

<p>To extract the data visualization source code, you use the DMV-source.jar file. This file is located in the SDK's lib directory. If you are using Flex Builder, the lib directory is located at {Flex Builder 3}\sdks\3.0.0\lib.</p>

<p>The syntax to extract the data visualization source code is as follows:</p>

<pre>
> java -jar DMV-source.jar {license-file-location} {output-location}
</pre>

<p>The first argument is the location of the license.properties file. This file must contain a valid Flex Builder 3 Professional license key. The second parameter is the location that you want the data visualization source code to be extracted to.</p>

<p>If you installed Flex Builder 3 Professional, then the license.properties file is located at the following locations, depending on your operating system:</p>

<ul>
 <li>Windows: <code>C:\Documents and Settings\All Users\Application Data\Adobe\Flex\</code></li>
 <li>Mac OS: <code>/Library/Application Support/Adobe/Flex/</code></li>
 <li>Linux: <code>~/.adobe/Flex/</code></li>
</ul>

<p>The following example extracts the data visualization source code to the c:\temp\dataviz_source directory on Windows:</p>

<pre>
java -jar c:\Flex Builder 3\sdks\3.0.0\lib\DMV-source.jar 
     "C:\Documents and Settings\All Users\Application Data\Adobe\Flex\" 
     c:\temp\dataviz_source
</pre>

<p>If you have a valid Flex Builder 3 Professional license key but did not install Flex Builder, then you can create a license.properties file anywhere, and point to it when you use the DMV-source.jar file. The syntax of the license.properties file is as follows:</p>

<pre>
flexbuilder3={license_key}
</pre>
]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/04/extracting_data_visualization.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/04/extracting_data_visualization.html</guid>
         <category>Charts</category>
         <pubDate>Mon, 21 Apr 2008 13:42:13 -0500</pubDate>
      </item>
            <item>
         <title>Using an HTML page as a data provider</title>
         <description><![CDATA[<p>Here's a new example in the charting doc. It shows how someone might use some or all of an HTML page they load via an HTTPService tag as a data provider for their charting component. It includes logic to extract just the data from the target page. </p>

<p>The benefit to this is that if you have a wiki or blog that you can edit via a browser, you can build and update a data page without having to hit a database. The code extracts specially-tagged data from the HTML page, so even if it's part of a larger block of HTML, you can still extract just the data.</p>

<p>One thing to note: The target domain in this example works because it has a crossdomain.xml file. If you want to load a page from your own target domain, you must be sure that your target domain has a crossdomain.xml file in place, and that that policy file lets the domain on which the Flex app is running request data from it. </p>

<p>Here's the running example:</p>

<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="HTMLDataProvider" width="300" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"><param name="movie" value="http://blogs.adobe.com/flexdoc/HTMLDataProvider.swf" /><param name="quality" value="high" /><param name="allowScriptAccess" value="sameDomain" /><param name="flashVars" value="dataPage=http://examples.adobe.com/flex3/exchangingdata/html/dataPage.html" /><embed src="http://blogs.adobe.com/flexdoc/HTMLDataProvider.swf" quality="high" width="300" height="300" name="HTMLDataProvider" align="middle" play="true" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashVars="dataPage=http://examples.adobe.com/flex3/exchangingdata/html/dataPage.html"></embed></object></p>

<p>Here's the data page that drives this chart:<br />
<a href="http://examples.adobe.com/flex3/exchangingdata/html/dataPage.html">http://examples.adobe.com/flex3/exchangingdata/html/dataPage.html</a></p>

<p>You can download the source MXML file here:<br />
<a href="http://blogs.adobe.com/flexdoc/HTMLDataProvider.zip">HTMLDataProvider.zip</a> (1KB)</p>

<p>The exact location of the data page is passed into the application as a flashVars property. To change the data page, you only have to edit the HTML wrapper for the SWF file. </p>

<p>In the HTML wrapper, we pass the target HTML page as a param in the &lt;object&gt; tag:<br />
<pre><br />
&lt;param name="flashVars" value="dataPage=http://examples.adobe.com/flex3/exchangingdata/html/dataPage.html" /&gt;<br />
</pre><br />
And again as an attribute of the &lt;embed&gt; tag:<br />
<pre>flashVars="dataPage=http://www.shallowpondestates.com/misc/dataPage.html"</pre><br />
Note that you can view the source of this blog entry page to see the complete object/embed tags.</p>

<p>In the Flex app, the data page is read from the Application's application.parameters property:<br />
<pre>dataPage = Application.application.parameters.dataPage;</pre><br />
To initially get the page's contents into the Flex app, we use an HTTPService object:<br />
<pre>&lt;mx:HTTPService id="serviceInput" <br />
        resultFormat="text" <br />
        url="{dataPage}"<br />
    /&gt;</pre><br />
To get the HTML in a single string we get the lastResult property of the HTTPService in the ResultEvent handler:<br />
<pre>var htmlBlob:String = serviceInput.lastResult.toString();</pre><br />
And to extract just the portion of the data page that we need (the part between the "data starts here" and "data ends here" comments), we use the slice() method:<br />
<pre>htmlBlob = htmlBlob.slice( htmlBlob.indexOf("&amp;lt;!-- data starts here --&amp;gt;", 0) + 25, htmlBlob.length );<br />
htmlBlob = htmlBlob.slice( 0, htmlBlob.indexOf("&amp;lt;!-- data ends here --&amp;gt;", 0) );</pre><br />
We then do a couple more passes on the remaining HTML string to replace HTML entities with angle brackets, so that we will end up with well-formed XML:<br />
<pre><br />
var tagPattern:RegExp = /<[^<>]*>/g;  <br />
htmlBlob = htmlBlob.replace(tagPattern, "");<br />
			<br />
var ltPattern:RegExp = /&amp;lt;/g;<br />
htmlBlob = htmlBlob.replace(ltPattern, "&lt;");<br />
			<br />
var gtPattern:RegExp = /&amp;gt;/g;<br />
htmlBlob = htmlBlob.replace(gtPattern, ">");<br />
</pre><br />
At this point, we just need to pass the XML to the XMLList constructor so that it can be used as a data provider in the chart:<br />
<pre><br />
chartData = new XMLList(htmlBlob);<br />
</pre><br />
That's it. If you compile and deploy this app, you can use the provided data page, or create your own. If your data page is on the same domain as the application, then you do not need a crossdomain.xml file.</p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/04/using_html_page_as_a_data_prov.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/04/using_html_page_as_a_data_prov.html</guid>
         <category>Charts</category>
         <pubDate>Thu, 17 Apr 2008 12:19:41 -0500</pubDate>
      </item>
            <item>
         <title>Building Adobe LiveCycle Data Services ES Beta 2 Applications</title>
         <description><![CDATA[<p>Adobe LiveCycle Data Services ES Beta 2 applications consist of two parts: client-side code and server-side code. Client-side code is a Flex application written in MXML and ActionScript and deployed as a SWF file. Server-side code is written in Java and deployed as Java class files or Java Archive (JAR) files. You can develop Adobe LiveCycle Data Services ES applications in Flex Builder, or in your own IDE.  This article describes how to set up your development environment to compile, debug, and deploy LiveCycle Data Services ES applications. </p>

<p>Download the PDF: <a href="http://blogs.adobe.com/flexdoc/pdf/build_apps.pdf">Building and Deploying LiveCycle Data Services ES Applications</a></p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/04/building_adobe_livecycle_data.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/04/building_adobe_livecycle_data.html</guid>
         <category></category>
         <pubDate>Wed, 16 Apr 2008 17:07:01 -0500</pubDate>
      </item>
            <item>
         <title>Heads-up: Server maintenance this weekend</title>
         <description><![CDATA[<p>I just wanted to let everyone know that on Saturday, April 12th, from noon to midnight PDT, our network team will be performing maintenance on the cluster that includes examples.adobe.com. Due to this work, applications running on the example cluster will experience 1-2 minute network outages throughout the service window.  </p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/04/headsup_server_maintenance_thi.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/04/headsup_server_maintenance_thi.html</guid>
         <category>General</category>
         <pubDate>Fri, 11 Apr 2008 20:48:34 -0500</pubDate>
      </item>
            <item>
         <title>ColdFusion and Flex LiveDocs are misbehaving</title>
         <description><![CDATA[<p>We're currently seeing a caching corruption problem with LiveDocs in which random files display instead of the correct pages. You'll see a variety of symptoms:<br />
* The wrong page displays<br />
* Infinite loops in the TOC (this happens when LD loads a .js file instead of an HTML file)<br />
* Bad formatting (when a CSS file doesn't load properly)</p>

<p>The good news is that our web team has identified the bug that causes this. The bad news is that they're still testing the fix and it won't get rolled out until April 17.</p>

<p>I've had fairly random results over the last few days. Sometimes changing browsers helps, sometimes it doesn't; sometimes clearing browser cache fixes it, sometimes it doesn't. One suggestion is to download the complete Flex doc zip file, which contains usage docs in PDF and the Language Reference in HTML and access the docs locally.<br />
This is available at http://livedocs.adobe.com/flex/3/flex3_documentation.zip. Individual PDFs are available from the Flex Help Resource Center page: http://www.adobe.com/support/documentation/en/flex/</p>

<p>I sincerely apologize for the inconvenience this is causing.<br />
Randy Nielsen<br />
Flex Documentation Manager</p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/04/coldfusion_and_flex_livedocs_a.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/04/coldfusion_and_flex_livedocs_a.html</guid>
         <category>General</category>
         <pubDate>Wed, 09 Apr 2008 17:53:59 -0500</pubDate>
      </item>
            <item>
         <title>Adding Java Development Tools to Flex Builder Standalone</title>
         <description><![CDATA[<p>Many Flex, Adobe AIR, Adobe BlazeDS, and Adobe LiveCycle ES developers choose to use the Eclipse plug-in configuration of Flex Builder so that they can develop Java code in the same IDE that they use to develop the MXML and ActionScript code. While the standalone version of Flex Builder does not contain tools to edit Java code by default, you can install them as Eclipse plugins. That lets you use the standalone version of Flex Builder to edit Java code. </p>

<p><strong>To install the Java development tools in the standalone version of Flex Builder:</strong></p>

<p>1. Use the Help > Software Updates > Find and Install menu command to open the Install/Update dialog box</p>

<p>2. Select Search for new features to install. </p>

<p>3. Click Next.</p>

<p>4. In the results, choose Europa Discovery Site.</p>

<p>5. Click Finish.</p>

<p>6. Select the Java Development package to install.</p>

<p>7. Click Next.</p>

<p>8. Accept the license.</p>

<p>9. Click Finish.</p>

<p><strong>Note: </strong>You might be prompted to install additional plugins required by the Java Development package. </p>

<p><strong>To change perspective:</strong></p>

<p>1. Use the Window > Perspective > Other to access all perspectives. </p>

<p>You can also click the Open Perspective button in the upper-right corner of the workbench window, then select a perspective from the pop-up menu.</p>

<p>2. Select Java from the list of perspectives.<br />
</p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/04/adding_java_development_tools_1.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/04/adding_java_development_tools_1.html</guid>
         <category></category>
         <pubDate>Thu, 03 Apr 2008 10:24:45 -0500</pubDate>
      </item>
            <item>
         <title>Updated ColdFusion Using Flash Remoting Update chapter</title>
         <description><![CDATA[<p>The Using Flash Remoting Update chapter of the ColdFusion Developers Guide documents how to integrate Flex and ColdFusion by using mx:RemoteObject tags to call ColdFusion Component (CFC) functions. It includes information on how to configure a Flex Builder project to compile an application that accesses ColdFusion, and describes how to specify and use CFCs in your Flex applications. Finally, it describes how to compile and run such applications.</p>

<p>The version of the chapter that was released with ColdFusion 8 was not updated correctly at that time, so it is not appropriate to use when integrating either Flex 2 or Flex 3 with ColdFusion 8. The updated chapter is (we believe) correct, and covers Flex Builder 2 and Flex Builder 3.</p>

<p><a href="http://blogs.adobe.com/flexdoc/UseFlashRemotingUpdate_Blog.pdf">Download UseFlashRemotingUpdate_Blog.pdf</a><br />
</p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/03/updated_coldfusion_using_flash_1.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/03/updated_coldfusion_using_flash_1.html</guid>
         <category>General</category>
         <pubDate>Wed, 05 Mar 2008 12:14:59 -0500</pubDate>
      </item>
            <item>
         <title>Creating ASDocs for Custom Adobe AIR Components</title>
         <description><![CDATA[<p>The Flex ASDoc tool parses one or more ActionScript class definitions to generate API reference documentation for all public and protected methods and properties, and for all [Bindable], [DefaultProperty], [Event], [Style], and [Effect] metadata tags. By default, the ASDoc tool links in all of the Flex SWC files required to compile custom Flex components. However, to use ASDoc to generate documentation for custom Adobe AIR components, you must link in the necessary AIR SWC files.</p>

<p>For example, you create a custom component named MyAirComboBox that extends the AIR mx.controls.FileSystemComboBox component. The directory location of your custom component file is: </p>

<p>C:\myApplication\myComponents\MyAirComboBox.as</p>

<p>Use the following ASDoc command to generate API reference documentation for MyAirComboBox:</p>

<p><code>..\bin\asdoc <strong>-doc-sources C:\myApplication\myComponents\MyAirComboBox.as -library-path+=..\frameworks\libs\air</strong> -main-title "My AIR API Documentation" -window-title "My AIR API Documentation" <strong>-output air-asdoc</strong></code></p>

<p>This command assumes the following:<br />
<ul><li>You run the command from the directory C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\asdoc in your Flex Builder installation directory structure. If you are using the Flex SDK, or have installed Flex Builder on another operating system, modify the paths in this command as necessary.</li></p>

<p><li>The AIR SWC files are installed in the directory C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\frameworks\libs\air. This is the default directory location for a Flex Builder installation. </p>

<p>This command uses the <code>library-path</code> option to the ASDoc tool to specify the directory location of the AIR SWC files. The"+=" operator to the <code>-library-path</code> option specifies to append the AIR SWC files to the Flex SWC files. </li></p>

<p><li>The ASDoc tool writes the output to the directory C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\asdoc\air-asdoc.<l/i><br />
</ul></p>

<p>If you have created multiple AIR components, you can use the following ASDoc command to generate documentation for an entire package:</p>

<p><code>..\bin\asdoc <strong>-doc-sources C:\myApplication\myComponents</strong> -library-path+=..\frameworks\libs\air -main-title "My AIR API Documentation" -window-title "My AIR API Documentation" -output air-asdoc</code></p>

<p>See the Flex 3 documentation for more information on the <a href="http://livedocs.stage.adobe.com/flex/3/html/asdoc_1.html">ASDoc</a> tool. </p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/03/creating_asdocs_for_custom_air.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/03/creating_asdocs_for_custom_air.html</guid>
         <category>AIR</category>
         <pubDate>Mon, 03 Mar 2008 17:10:18 -0500</pubDate>
      </item>
            <item>
         <title>Migrating applications from Flex 2 to Flex 3</title>
         <description><![CDATA[<p>Migrating from Flex 1.x to Flex 2 was -- how can I put it -- painful. We scrubbed the APIs to make them consistent; as a result, many  properties, methods, events, and even some constants changed, and sometimes changed again. We added and removed classes and interfaces. Heck, we even changed the capitalization of "Void" to "void". In addition, the underlying language went from ActionScript 2.0 to ActionScript 3.0. There was no shortage of tasks for updating apps from 1.x to 2. </p>

<p>This time around, however, the APIs have already been through the scrubbing and many of the issues have been ironed out. Most of the migration duties you'll encounter will be related to updated features, like:</p>

<p><strong>Localization</strong> -- The l10n system has changed alot (for the better!). It's now much simpler to implement, and it supports runtime locale-switching. You can use the same properties files, but you might have to rewrite the way they are accessed. Check out the <A HREF="http://livedocs.adobe.com/flex/3/html/l10n_1.html">localization doc</A>.</p>

<p><strong>Style properties</strong> -- A number of style properties have changed to support the new <A HREF="http://livedocs.adobe.com/flex/3/html/help.html?content=styles_04.html">subcomponent style feature</A>.</p>

<p><strong>Deep linking </strong>-- This is a new feature, but if you were using the HistoryManager class, you really should switch to using the <A HREF="http://livedocs.adobe.com/flex/3/langref/mx/managers/BrowserManager.html">BrowserManager class</A> to do all your browser/Flex app communication. </p>

<p><strong>Compiler and configuration args</strong> -- A few compiler arguments have changed. If you use config file or ant tasks to do your compilation, you might have to modify your files.</p>

<p>Here are some resources that should help with migration issues:</p>

<ul>
<li><A HREF="http://livedocs.adobe.com/flex/3/langref/deprecated.html">Deprecated elements in the Language Reference</A> -- A list of all the class elements that are now deprecated. The compiler will also warn you about these when you try to compile, but you can get a sense of what has changed from this list.</li>

<p><li><A HREF="http://livedocs.adobe.com/flex/3/html/versioning_4.html#251723">Backwards compatibility</A> -- This includes a list of differences between the configuration files for SDK 2.0.1 and SDK 3, as well as a list of the changes to the framework.</li><br />
<li>Understanding Flex 3 Migration Issues on Joan Lafferty's blog: <A HREF="http://butterfliesandbugs.wordpress.com/2008/03/04/understanding-flex-3-migration-issues-part-i/">Part 1</A> and <A HREF="http://butterfliesandbugs.wordpress.com/2008/03/06/understanding-flex-3-migration-issues-part-ii/">Part 2</A></li><br />
</ul><br />
It's also important to realize that with Flex Builder 3, you can compile your apps against the new compiler (version 3), or against any version of the compiler that you have installed. This way, if your code does not use any of the new features and you don't want to migrate yet, but you want to use Flex Builder 3, then you can without any issues. Of course, there's <A HREF="http://livedocs.adobe.com/flex/3/html/build_6.html#162812">doc on that</A>, too.</p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/02/migrating_from_flex_2_to_flex.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/02/migrating_from_flex_2_to_flex.html</guid>
         <category>Flex 3</category>
         <pubDate>Fri, 29 Feb 2008 12:00:36 -0500</pubDate>
      </item>
            <item>
         <title>Flex 3 (and Flex 3 Documentation) is Live!</title>
         <description><![CDATA[<p>We started shipping Flex 3 today. Wow! This has been quite a release and, although you're probably reading this on all the Adobe blogs, we think it's pretty special. I know that we've made a number of improvements to the docs, and am going to ask the writers to create their own posts to enumerate their personal favorites. For my part, I'll call out two:</p>
<ul>
<li> 
<b>The <a href="http://learn.adobe.com/wiki/display/Flex/Getting+Started">Flex 3 Getting Started Experience</a></b> - With Flex 2 and 2.0.1, we had a lot of negative feedback from Flex newbies.My manager, in her infinite wisdom, gave us a lot of support in hiring <a href="http://www.inquirium.net/">Inquirium</a> (an instructional design firm) to interview Flex developers, figure out their common patterns/problems, and create a new getting started roadmap. Some hurdles we knew about (understanding that Flex access data indirectly through a server), but others were a surprise (a lot of people got caught up with asynchronous events). We then hired <a href="http://www.trilemetry.com/">Trilemetry</a> (big thanks to Emily, Annette, and Bob) to "realize" the Getting Started Experience. This turned out to be bigger than we thought, but I think it works really well, and the Beta feedback has been extremely positive.
</li>
<li>
<b><a href="http://livedocs.adobe.com/flex/3/html/Part1_languages_1.html">Revised table of contents (TOC) architecture for Flex Builder online Help and LiveDocs</a></b> - In our work with Inquirium, it became clear that viewers weren't thinking about "books" in the online doc experience. The revised TOC feels more navigable and I think it makes it easier to find stuff. Please check it out and let me know what you think. Note that we only did this for the core Flex books, so Flex Builder, Data Visualization, AIR, and ActionScript are still presented as books. Also note that material is still available as books through the <a href="http://www.adobe.com/support/documentation/en/flex/">Flex Help Resource Center</a>.
</li>
</ul>
<p>OK. I lied. Two more things:
<ul>
<li>
Obviously, I'm focusing on Flex, but AIR went live today, too, and this is a significant milestone for Adobe. For Flex developers, it's pretty simple: Any app you write for the browser should just run in the AIR runtime (and the Flex 3 LiveDocs include <a href="http://livedocs.adobe.com/flex/3/html/Part5_AIR_1.html"><i>Developing AIR Applications with Flex</i></a>). You can also take advantage of the extended functionality inherent in a desktop application and I recommend scanning the discussions of windows, menus, taskbars, files, data, HTML content and Rich media content. In particular, I think the drag & drop and local SQL database discussions are cool.
</li>
<li>Please use the <a href="http://bugs.adobe.com/flex/">public bugbase</a> to report problems with the Flex 3 documentation. You can also search the bugbase to see if anyone else has already reported an issue.
</ul>
<p>
Thanks everybody for your feedback during the Flex 3 Beta cycle. You made a difference.
</p>
<p>
On to Flex 4!
</p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/02/flex_3_and_flex_3_documentatio_1.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/02/flex_3_and_flex_3_documentatio_1.html</guid>
         <category>Flex 3</category>
         <pubDate>Sun, 24 Feb 2008 22:55:54 -0500</pubDate>
      </item>
            <item>
         <title>Measuring Message Processing Performance in BlazeDS</title>
         <description><![CDATA[<p>One place to examine application performance is in the message processing part of the application. To help you gather this performance information in BlazeDS, you can enable the gathering of message timing and sizing data. </p>

<p>When enabled, information regarding message size, server processing time, and network travel time is available to the client that pushed a message to the server, to a client that received a pushed message from the server, or to a client that received an acknowledge message from the server in response a pushed message. A subset of this information is also available for access on the server. </p>

<p>Download the new chapter's PDF: <a href="http://blogs.adobe.com/flexdoc/pdf/mpi.pdf">Measuring Message Processing Performance</a></p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/02/measuring_message_processing_p_1.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/02/measuring_message_processing_p_1.html</guid>
         <category>BlazeDS</category>
         <pubDate>Fri, 15 Feb 2008 12:58:56 -0500</pubDate>
      </item>
            <item>
         <title>Java-based Compiler API</title>
         <description><![CDATA[<p>Flex 3 includes a Java-based compiler API that lets you compile SWF and SWC files from Java applications. The API supports all the same options as the mxmlc and compc command-line tools. The API includes classes like Application, Logger, and Project.</p>

<p><strong>Downloads</strong></p>

<p>The API's JavaDocs are here: <A HREF="http://blogs.adobe.com/flexdoc/oem/flex_compiler_api.zip">flex_compiler_api.zip</A> (245K)</p>

<p>There is a PDF which describes usage here: <A HREF="http://blogs.adobe.com/flexdoc/oem/oem_guide.pdf">Compiler API Guide</A> (194K)<br />
</p>]]></description>
         <link>http://blogs.adobe.com/flexdoc/2008/01/compiler_api.html</link>
         <guid>http://blogs.adobe.com/flexdoc/2008/01/compiler_api.html</guid>
         <category>Flex 3</category>
         <pubDate>Wed, 16 Jan 2008 11:07:13 -0500</pubDate>
      </item>
      
   </channel>
</rss>
