<?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>Axelology &#187; VideoBlog</title>
	<atom:link href="http://www.axelscript.com/category/videoblog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.axelscript.com</link>
	<description>Axel Jensen on Flex, Coldfusion and... other stuff</description>
	<lastBuildDate>Mon, 14 Jun 2010 17:30:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Cairngen with Cairngorm with UM Extensions</title>
		<link>http://www.axelscript.com/2008/10/13/cairngen-with-cairngorm-with-um-extensions/</link>
		<comments>http://www.axelscript.com/2008/10/13/cairngen-with-cairngorm-with-um-extensions/#comments</comments>
		<pubDate>Mon, 13 Oct 2008 18:32:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ANT]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[VideoBlog]]></category>

		<guid isPermaLink="false">http://www.axelscript.com/?p=226</guid>
		<description><![CDATA[This post is a video on Cairngorm with UM Extensions and cairngenum. It explains some of the subtle differences between cairngorm, and cairngormUM, and what the extensions allow you to do that cairngorm doesnt allow very easily.  The Video is listed at the bottom of the post.]]></description>
			<content:encoded><![CDATA[<p>This post is a video on Cairngorm with UM Extensions and cairngenum. It explains some of the subtle differences between cairngorm, and cairngormUM, and what the extensions allow you to do that cairngorm doesnt allow very easily.  The Video is listed at the bottom of the post</p>
<p>Â<br />
This post is a video on Cairngorm with UM Extensions and cairngenum. It explains some of the subtle differences between cairngorm, and cairngormUM, and what the extensions allow you to do that cairngorm doesnt allow very easily.  The Video is listed at the bottom of the post</p>
<ul>
<li>CairngormUM
<ul>
<li>Prerequisites:
<ul>
<li>Cairngorm</li>
<li>Cairngen</li>
<li>know what &#8220;ant&#8221; is</li>
<li>have &#8220;ant&#8221; up and running on your computer</li>
<li>link to brief setup of ANT <a href="http://www.axelscript.com/2008/10/07/publishing-air-apps-with-ant-and-ftp/"></a>
<ul>
<li><a href="http://www.axelscript.com/2008/10/07/publishing-air-apps-with-ant-and-ftp/">http://www.axelscript.com/2008/10/07/publishing-air-apps-with-ant-and-ftp/</a></li>
</ul>
</li>
</ul>
</li>
<li>Files and links:
<ul>
<li><a href="http://www.axelscript.com/2008/10/13/cairngen-with-cairngorm-with-um-extensions/">http://www.axelscript.com/2008/10/13/cairngen-with-cairngorm-with-um-extensions/</a></li>
</ul>
<ul>
<li><a href="http://www.axelscript.com/wp-content/Examples/CairngenUM/cairngenum.zip">http://www.axelscript.com/wp-content/Examples/CairngenUM/cairngenum.zip</a></li>
<li><a id="p6eg" title="http://www.returnundefined.com" href="http://www.returnundefined.com/">http://www.returnundefined.com</a></li>
<li><a href="http://code.google.com/p/flexcairngorm/">http://code.google.com/p/flexcairngorm/</a></li>
<li><a href="http://code.google.com/p/cairngen/">http://code.google.com/p/cairngen/</a></li>
</ul>
</li>
<li>Main differences:
<ul>
<li>the ability to add CallBacks()</li>
</ul>
</li>
<li>Project
<ul>
<li>create a blank project
<ul>
<li>paste cairngenum into root project folder</li>
<li>change project.properties to match current project</li>
<li>open cairngenum/Build.xml in ant editor (should open by default in ant editor)</li>
<li>in &#8220;outline&#8221; view right click &#8220;main&#8221; &gt; run as &gt; ant build</li>
<li>in your console you&#8217;ll see if build is successful or if it failed, and why it failed</li>
</ul>
</li>
<li>create a mock up xml file that we are going to use to hold some dummy xml to act as our information we retrieve from the service
<ul>
<li>create the file under your src directory &#8220;/src/assets/data/users.xml&#8221; and format it like the following:</li>
<p><code>&lt;root&gt;<br />
	&lt;users&gt;<br />
		&lt;user name="Axel"/&gt;<br />
		&lt;user name="Ben"/&gt;<br />
		&lt;user name="Ryan"/&gt;<br />
		&lt;user name="Tom"/&gt;<br />
		&lt;user name="David"/&gt;<br />
	&lt;/users&gt;<br />
&lt;/root&gt;</code></p>
<ul>
<li>we will now create the sequence that retrieves this information from the file and return it back into our code for us to manipulate.</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li>create a sequence
<ul>
<li>a sequence is an event, command, and adding the command to the controller, and Optionally could be creating the delegate as well, in cairngenum the delegate must be created with the create-delegate target in the build.xml file.</li>
<li>with build.xml open in outline view right click &#8220;create-sequence&#8221; &gt; run as &gt; ant build
<ul>
<li>when you do this you will be prompted for an event stub name
<ul>
<li>type &#8220;UserRead&#8221; click OK</li>
</ul>
</li>
<li>now you will be prompted for the event constant name
<ul>
<li>type &#8220;USER_READ_EVENT&#8221; click OK</li>
</ul>
</li>
<li>now you will be prompted for the event type constant
<ul>
<li>type &#8220;UserReadEvent&#8221; click OK</li>
</ul>
</li>
<li>now you will be prompted for the delegate name
<ul>
<li>type &#8220;UsersDelegate&#8221; click OK</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><span id="more-226"></span><br />
the message in the console should look something like this<br />
<code><br />
Buildfile: E:\fb3Workspace\TestUMCG\cairngenum\build.xml<br />
log:<br />
create-sequence:<br />
     [echo] @Invoking Cairngenum on [TestUMCG] --&amp;gt; Generating file(s): UserReadCommand.as and UserReadEvent.as, using UsersDelegate.as<br />
internal-create-custom-event-class:<br />
     [copy] Copying 1 file to E:\fb3Workspace\TestUMCG\src\com\axelscript\tempCairngenUM\events<br />
create-command:<br />
     [copy] Copying 1 file to E:\fb3Workspace\TestUMCG\src\com\axelscript\tempCairngenUM\commands<br />
     [copy] Copying 1 file to E:\fb3Workspace\TestUMCG\test\com\axelscript\tempCairngenUM\commands<br />
internal-register-sequence:<br />
BUILD SUCCESSFUL<br />
Total time: 3 minutes 34 seconds</code></p>
<ul>
<li>now you need to create the delegate class that talks to the service that will retrieve the data or execute the function you need to do.
<ul>
<li>with build.xml open, in outline view right click &#8220;create-delegate&#8221;
<ul>
<li>now you will be prompted for the stub name of the delegate
<ul>
<li>type &#8220;Users&#8221; click OK</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>the message in the console should look something like this<br />
<code>Buildfile: E:\fb3Workspace\TestUMCG\cairngenum\build.xml<br />
create-delegate:<br />
     [echo] @Invoking Cairngenum on [TestUMCG] --&amp;gt; Generating file(s): UsersDelegate.as<br />
     [copy] Copying 1 file to E:\fb3Workspace\TestUMCG\src\com\axelscript\tempCairngenUM\business<br />
BUILD SUCCESSFUL<br />
Total time: 39 seconds</code></p>
<ul>
<li>Now open business/Services.xml and add the following code</li>
<p><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />
&lt;service:ServiceLocator xmlns:mx="http://www.adobe.com/2006/mxml"<br />
	xmlns:service="com.universalmind.cairngorm.business.*"&gt;</p>
<p>	&lt;mx:Script&gt;<br />
		&lt;![CDATA[<br />
			public static var USERS_SERVICE:String = 'usersService';<br />
		]]&gt;<br />
	&lt;/mx:Script&gt;</p>
<p>	&lt;mx:HTTPService<br />
		id="usersService"<br />
		resultFormat="e4x"<br />
		url="assets/data/users.xml"<br />
		/&gt;<br />
&lt;/service:ServiceLocator&gt;</code></p>
<li>This is where there are some slight differences in Cairngorm vs. CairngormUM because the UM version lets its base class handle the service and the responder, where as you used to have to rewrite the two variables every time.</li>
<li>You now need to adjust the Constructor Function in the the UsersDelegate so it looks like this
<ul>
<li>super( handlers,  Services.USER_SERVICE );</li>
</ul>
</li>
<li>You need to add a function to your delegate class that actually connects to the service, and returns the data back to the command.<br />
<code>public function readUsers():void<br />
{<br />
	var token:AsyncToken = service.send();<br />
	token.addResponder( this.responder );<br />
}</code>
</li>
<li>now you need to adjust your UserReadCommand to call the delegates function &#8220;readUsers()&#8221;<br />
<code>override public function execute( event:CairngormEvent ):void<br />
		{<br />
			super.execute( event );</p>
<p>			var evt:UsersReadEvent = event as UsersReadEvent;<br />
			var delegate:UsersDelegate = new UsersDelegate( new Callbacks( handleDelegateResult, handleDelegateFault ) );</p>
<p>			delegate.readUsers();<br />
			// insert delegate method call here<br />
		}</code>
</li>
<li>Finally you need to dispatch the event in this case we&#8217;ll do it on the initialize event of the main application file
<ul>
<li>TestUMCG.mxml</li>
<p><code>	&lt;mx:Script&gt;<br />
		&lt;![CDATA[<br />
			import mx.rpc.events.FaultEvent;<br />
			import mx.rpc.events.ResultEvent;<br />
			import com.universalmind.cairngorm.events.Callbacks;<br />
			import com.domain.project.events.UsersReadEvent;<br />
			private function handleInitialize():void<br />
			{<br />
				new UsersReadEvent( new Callbacks(usersReadResult,usersReadFault) ).dispatch();<br />
			}</p>
<p>			private function usersReadResult( event:ResultEvent ):void<br />
			{<br />
				trace(event);<br />
			}</p>
<p>			private function usersReadFault( event:FaultEvent ):void<br />
			{<br />
				trace(event);<br />
			}</p>
<p>		]]&gt;<br />
	&lt;/mx:Script&gt;</code>
</ul>
</li>
</ul>
<h4>The Video</h4>
<p>(it takes a minute to load)<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="498" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="name" value="csSWF" /><param name="bgcolor" value="#1a1a1a" /><param name="flashvars" value="autostart=false" /><param name="src" value="http://www.axelscript.com/wp-content/Examples/CairngenUM/usingCairngenUM.swf" /><embed type="application/x-shockwave-flash" width="640" height="498" src="http://www.axelscript.com/wp-content/Examples/CairngenUM/usingCairngenUM.swf" flashvars="autostart=false" bgcolor="#1a1a1a" name="csSWF"></embed></object></p>
<img src="http://www.axelscript.com/?ak_action=api_record_view&id=226&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.axelscript.com/2008/10/13/cairngen-with-cairngorm-with-um-extensions/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Publishing your app by Email with ANT</title>
		<link>http://www.axelscript.com/2008/10/08/publishing-by-email-with-ant/</link>
		<comments>http://www.axelscript.com/2008/10/08/publishing-by-email-with-ant/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 20:15:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ANT]]></category>
		<category><![CDATA[Air]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[VideoBlog]]></category>

		<guid isPermaLink="false">http://www.axelscript.com/?p=213</guid>
		<description><![CDATA[This post has a video that explains how to you use ANT to email your source code and or swf (or .air) file to the client (if you need to). It even involves how to zip the project up using ANT as well. To use email with ant you need the following 3 jar files [...]]]></description>
			<content:encoded><![CDATA[<p>This post has a video that explains how to you use <a href="http://ant.apache.org/">ANT</a> to email your source code and or swf (or .air) file to the client (if you need to).  It even involves how to zip the project up using ANT as well.</p>
<p>To use email with ant you need the following 3 jar files installed.</p>
<ul>
<li><a href="http://www.java2s.com/Code/Jar/glassfish/Downloadantjavamailjar.htm" target="_blank">ant-javamail.jar</a></li>
<li><a href="http://www.java2s.com/Code/Jar/glassfish/Downloadactivationjar.htm" target="_blank">activation.jar</a></li>
<li><a href="http://www.java2s.com/Code/Jar/glassfish/Downloadmailjar.htm" target="_blank">mail.jar</a></li>
</ul>
<p>After you download the files you need to put them into your ant directory under your eclipse install &#8220;/plugins/org.apache.ant_******/ folder.  If you watch the video, I explain how to find the ant folder if you don&#8217;t know where it is.  For me it is &#8220;C:\Program Files\Adobe\Flex Builder 3\plugins\org.apache.ant_1.7.0.v200706080842\lib&#8221;.  That is where all the ant jar files are held.  You need to put the jar&#8217;s you downloaded into that folder, and then in eclipse you need to do the following.</p>
<ol>
<li>Window > Preferences > (on left tree) Ant > Runtime</li>
<li>Once you&#8217;ve clicked on &#8220;Runtime&#8221; you&#8217;ll see a tree in the right side and the first entry should say &#8220;Ant Home Entries(Default) you need to click that, and then all of the buttons on the right will become enabled to click on</li>
<li>click on &#8220;Add External JARs</li>
<li>browse to your ant directory where all the jars are (for me its C:\Program Files\Adobe\Flex Builder 3\plugins\org.apache.ant_1.7.0.v200706080842\lib)</li>
<li>highlight your jar files that you downloaded and click ok (ant-javamail.jar,activation.jar,mail.jar)</li>
<li>click apply</li>
<li>restart flex builder or eclipse (whichever you are using)</li>
</ol>
<p>Now we are finally ready to get into the ANT part&#8230;<br />
<span id="more-213"></span></p>
<p>Start by going into whatever flex project you want (or creating one) and then create two files under the root.</p>
<p><b>project.properties</b><br />
<code>##### EMAIL PROPERTIES #####<br />
email.server	= smtp.gmail.com<br />
email.ssl	 	= true<br />
email.user	 	= someemail@gmail.com<br />
email.from	 	= someemail@gmail.com<br />
email.password	= myReallyStrongPassword<br />
email.to	 	= someemail@gmail.com<br />
email.port	 	= 465</p>
<p>##### ZIP PROPERTIES #####<br />
zip.destinationFile		= E:/fb3Workspace/TempPublish/${zip.filename}.zip<br />
zip.filename			= src-code<br />
zip.dir					= E:/fb3Workspace/TempPublish/src<br />
</code></p>
<p><b>Build.xml</b><br />
<code>&lt;project name="Publishing your project via Email with ANT"&gt;</p>
<p>	<!--<br />
	User specific configuration properties. Typically this is the only file you need to modify<br />
	--><br />
	&lt;property file="project.properties" /&gt;</p>
<p>	&lt;target name="mail-project-to-client" depends="zip-project, send-email" /&gt;</p>
<p>	&lt;target name="send-email"&gt;<br />
		&lt;mail<br />
			tolist			=	"${email.to}"<br />
			from			=	"${email.from}"<br />
			subject			=	"New Version of file"<br />
			mailhost		=	"${email.server}"<br />
			mailport		=	"${email.port}"<br />
			ssl				=	"${email.ssl}"<br />
			user			=	"${email.user}"<br />
			password		=	"${email.password}"<br />
			messagemimetype	=	"text/html"<br />
			&gt;<br />
			&lt;message&gt;&lt;![CDATA[<br />
			&lt;p&gt;<br />
				this is my html message you have a new zip file attached<br />
			&lt;/p&gt;<br />
			]]&gt;<br />
			&lt;/message&gt;<br />
			&lt;fileset file="${zip.destinationFile}"&gt;<br />
				&lt;exclude name="**/*.svn"/&gt;<br />
			&lt;/fileset&gt;<br />
		&lt;/mail&gt;<br />
	&lt;/target&gt;</p>
<p>	&lt;target name="zip-project"&gt;<br />
		&lt;zip destfile="${zip.destinationFile}" duplicate="preserve"&gt;<br />
			&lt;zipfileset dir="${zip.dir}" /&gt;<br />
		&lt;/zip&gt;<br />
	&lt;/target&gt;<br />
&lt;/project&gt;</code></p>
<p>Please see the video for more detail.</p>
<h4>Pushing your project via Email with ANT (takes a little bit to load)</h4>
<p><object id="csSWF" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="498" codebase="http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,28,0"><param name="src" value="http://www.axelscript.com/wp-content/Examples/UsingAntToPublishProjectViaEmail/usingANTtoPublishProjectViaEmail.swf"/><param name="bgcolor" value="#1a1a1a"/><param name="quality" value="best"/><param name="allowScriptAccess" value="always"/><param name="allowFullScreen" value="true"/><param name="scale" value="showall"/><param name="flashVars" value="autostart=false"/><embed name="csSWF" src="http://www.axelscript.com/wp-content/Examples/UsingAntToPublishProjectViaEmail/usingANTtoPublishProjectViaEmail.swf" width="640" height="498" bgcolor="#1a1a1a" quality="best" allowScriptAccess="always" allowFullScreen="true" scale="showall" flashVars="autostart=false" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></object></p>
<p>NOTE:Please note that the zip format allows multiple files of the same fully-qualified name to exist within a single archive. This has been documented as causing various problems for unsuspecting users. If you wish to avoid this behavior you must set the duplicate attribute to a value other than its default, &#8220;add&#8221;. (<a href="http://ant.apache.org/manual/CoreTasks/zip.html">zip tag documentation</a>)</p>
<p>Links:</p>
<ul>
<li><a href="http://ant.apache.org/manual/CoreTasks/zip.html">zip tag documentation</a></li>
</ul>
<img src="http://www.axelscript.com/?ak_action=api_record_view&id=213&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.axelscript.com/2008/10/08/publishing-by-email-with-ant/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Publishing Air Apps with ANT and FTP</title>
		<link>http://www.axelscript.com/2008/10/07/publishing-air-apps-with-ant-and-ftp/</link>
		<comments>http://www.axelscript.com/2008/10/07/publishing-air-apps-with-ant-and-ftp/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 20:11:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ANT]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Air]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[VideoBlog]]></category>

		<guid isPermaLink="false">http://www.axelscript.com/?p=193</guid>
		<description><![CDATA[This post discusses and includes a video of how to publish your .air files to your server with an ANT script via FTP. ANT is a xml scripting language that can be used for many things, but in our case it&#8217;s going to be application deployment. The Problem When you create an air app and [...]]]></description>
			<content:encoded><![CDATA[<p>This post discusses and includes a video of how to publish your .air files to your server with an <a href="http://ant.apache.org/" taget="_blank">ANT</a> script via FTP. ANT is a xml scripting language that can be used for many things, but in our case it&#8217;s going to be application deployment.</p>
<h4>The Problem</h4>
<p>When you create an air app and host it on a server somewhere, you often times have updates, and you need to publish a new .air file to the server so people that continue to download your app, get the newest, healthiest version.  The problem with that is that after bug fix (which may take all of 2 minutes), you need to connect to your ftp site, or ssh, or email the new file to yourself, remote desktop into the server, and check your email and put the new file into it&#8217;s correct path on the server.</p>
<h4>The Solution</h4>
<p>Create an ANT Script that logs into you ftp site, and uploads the new files, and it goes from a some what menacing task, to being a delightful 2 or 3 click deployment.  There are some things you have to do to eclipse to get the ftp tag to work right in ANT&#8230; They are listed below in the steps to take to get ANT up and going in eclipse or flexbuilder.</p>
<p><code>ftp.username        = username<br />
ftp.password        = password<br />
ftp.dir		= dirToUploadFilesTo<br />
ftp.server          = myDomain.com<br />
ftp.localDir        = E:/ClickStats_Basketball_1_0/update</p>
<p>&lt;target name="ftp-push-to-server"&gt;<br />
		&lt;echo&gt;Pushing files to ftp site: ${ftp.server}&lt;/echo&gt;<br />
		&lt;ftp<br />
			server		=	"${ftp.server}"<br />
			userid		=	"${ftp.username}"<br />
			password	=	"${ftp.password}"<br />
			action		=	"put"<br />
			remotedir	=	"${ftp.dir}"<br />
			verbose		=	"true"<br />
			&gt;<br />
			&lt;fileset id="ftp.upload.fileset" dir="${ftp.localDir}" /&gt;<br />
		&lt;/ftp&gt;<br />
	&lt;/target&gt;</code></p>
<h4>The Video</h4>
<p><span id="more-193"></span><br />
Prerequisite: <a href="http://www.axelscript.com/2008/10/06/using-the-air-update-framework/">/using-the-air-update-framework</a></p>
<p><object id="csSWF" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="498" codebase="http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,28,0"><param name="src" value="http://www.axelscript.com/wp-content/Examples/UsingFTPtoPushYourApp/usingFTPtoPushYourApp.swf"/><param name="bgcolor" value="#1a1a1a"/><param name="quality" value="best"/><param name="allowScriptAccess" value="always"/><param name="allowFullScreen" value="true"/><param name="scale" value="showall"/><param name="flashVars" value="autostart=false"/><embed name="csSWF" src="http://www.axelscript.com/wp-content/Examples/UsingFTPtoPushYourApp/usingFTPtoPushYourApp.swf" width="640" height="498" bgcolor="#1a1a1a" quality="best" allowScriptAccess="always" allowFullScreen="true" scale="showall" flashVars="autostart=false" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></object></p>
<p>Your going to need to do a few things to make sure ant is working:</p>
<ol>
<li><a href="http://blogs.adobe.com/flexdoc/2008/04/adding_java_development_tools_1.html" target="_blank">follow the steps on adobe&#8217;s site</a></li>
<li>once ant is installed (how to is in the previous link) you then need to make sure you have at least java 6 installed</li>
<li>now in eclipse or flexbuilder open your prefrences > (in tree on left go to) Java > Installed JREs > click &#8220;Add&#8221; > Browse for &#8220;JRE home directory&#8221; > &#8220;C:\Program Files\Java\1.6.x&#8221; (or something like that) > it should find a bunch of system libs > then click &#8220;OK&#8221;</li>
<li>WHILE STILL IN THE PREFERENCES WINDOW > verify new JRE is checked Preferences > Java > Installed JREs (should have jre1.6.xxx checked, INSTEAD OF Flex builder 3</li>
<li>Preferences > Java > Compiler > (in first drop down) Compiler compliance level: select &#8220;6.0&#8243; instead of &#8220;5&#8243;</li>
<li>
NET Commons Jar file: <a href="http://commons.apache.org/downloads/download_net.cgi" target="_blank">commons-net-1.4.1.jar</a>
</li>
<li>
Getting FTP to work with Eclipse: <a href="http://devnulled.com/content/2004/11/getting-ftp-to-work-with-ant-in-eclipse/" target="_blank">getting-ftp-to-work-with-ant-in-eclipse</a>
</li>
<li>
ANT Commons Jar file: <a href="http://www.java2s.com/Code/Jar/ANT/Downloadantcommonsnetjar.htm" target="_blank">ant-commons-net.jar</a>
</li>
<li>That should be all you have to do to get ANT up and running.</li>
</ol>
<p>Links:</p>
<ul>
<li>
Some Noteworthy negatives about deployment using ant: <a href="http://debuggable.com/posts/ant-sucks-for-ftp-deployment-what-alternatives-do-we-have:480f4dd6-72fc-42d0-aa9c-44c5cbdd56cb" target="_blank">ant-sucks-for-ftp-deployment</a>
</li>
<li>
Book: <a href="http://www.amazon.com/Ant-Action-Manning-Steve-Loughran/dp/193239480X/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1223317472&#038;sr=1-1" target="_blank">Ant In Action By Steve Loughran</a>
</li>
<li>
Adobe: <a href="http://labs.adobe.com/wiki/index.php/Adobe_AIR_Update_Framework" target="_blank">AIR Update Framework</a>
</li>
</ul>
<img src="http://www.axelscript.com/?ak_action=api_record_view&id=193&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.axelscript.com/2008/10/07/publishing-air-apps-with-ant-and-ftp/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Using the Air Update Framework</title>
		<link>http://www.axelscript.com/2008/10/06/using-the-air-update-framework/</link>
		<comments>http://www.axelscript.com/2008/10/06/using-the-air-update-framework/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 19:51:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Air]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[VideoBlog]]></category>

		<guid isPermaLink="false">http://www.axelscript.com/?p=197</guid>
		<description><![CDATA[This post is a simple video on using the air update framework. It explains how to upload your .air file to your server, and a simple way to organize the directories. Here are some links that you may need to follow along with the video. Download Air Update Framework you will need the update framework [...]]]></description>
			<content:encoded><![CDATA[<p>This post is a simple video on using the air update framework. It explains how to upload your .air file to your server, and a simple way to organize the directories.  </p>
<p>Here are some links that you may need to follow along with the video.</p>
<ul>
<li><a href="http://labs.adobe.com/wiki/index.php/Adobe_AIR_Update_Framework#Download">Download Air Update Framework
<ul>
<li> <a href="http://download.macromedia.com/pub/labs/air/appupdater/air_appupdater_062408.zip">you will need the update framework</a></li>
<li> <a href="http://download.macromedia.com/pub/labs/air/appupdater/air_appupdater_samples_062408.zip">as well as the sample files</a> </li>
</ul>
</li>
</ul>
<p>Here is the video.<br />
<span id="more-197"></span></p>
<h4>Video on using the air update framework</h4>
<p><object id="csSWF" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="498" codebase="http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,28,0"><param name="src" value="http://www.axelscript.com/wp-content/Examples/AirUpdaterExample/airUpdaterExample.swf"/><param name="bgcolor" value="#1a1a1a"/><param name="quality" value="best"/><param name="allowScriptAccess" value="always"/><param name="allowFullScreen" value="true"/><param name="scale" value="showall"/><param name="flashVars" value="autostart=false"/><embed name="csSWF" src="http://www.axelscript.com/wp-content/Examples/AirUpdaterExample/airUpdaterExample.swf" width="640" height="498" bgcolor="#1a1a1a" quality="best" allowScriptAccess="always" allowFullScreen="true" scale="showall" flashVars="autostart=false" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></object></p>
<img src="http://www.axelscript.com/?ak_action=api_record_view&id=197&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.axelscript.com/2008/10/06/using-the-air-update-framework/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Improving compile times with runtime css</title>
		<link>http://www.axelscript.com/2008/10/03/improving-compile-times-with-runtime-css/</link>
		<comments>http://www.axelscript.com/2008/10/03/improving-compile-times-with-runtime-css/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 19:36:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Air]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Builder Tips]]></category>
		<category><![CDATA[VideoBlog]]></category>

		<guid isPermaLink="false">http://www.axelscript.com/?p=170</guid>
		<description><![CDATA[This post is a video showing how embedding fonts and images can have a drastic effect on compile times.Â  It goes on in the video to show a possible way to improve those compile times with runtime css. Here is the zip of the Project &#8211; SOURCE The Problem When you embed a lot of [...]]]></description>
			<content:encoded><![CDATA[<p>This post is a video showing how embedding fonts and images can have a drastic effect on compile times.Â  It goes on in the video to show a possible way to improve those compile times with runtime css.</p>
<p>Here is the zip of the Project &#8211; <a href="http://axelscript.com/wp-content/Examples/RuntimeCSS/RuntimeCSS.zip" target="_blank">SOURCE</a></p>
<h4>The Problem</h4>
<p>When you embed a lot of fonts you immediately hurt your compile times.  In the video I go about showing you how just embedding a few fonts can&#8217;t hurt your compile times, I have about 8 fonts embedded and 2 of them with bold font embeddings as well.  This slowed down my compile time to 8 seconds, with barely any mxml, it&#8217;s all css and embedding fonts that caused the issue.  This post goes to show you how to create a separate project to hold your css and how to include it as runtime css in your original project.</p>
<p><span id="more-170"></span></p>
<h4>A (possible) Solution</h4>
<p>The solution is to create a separate project to hold you css and embedded assets, the reason for this is most the time in your development cycle once you are done setting up the style it just sets there&#8230; and then you work on the logic of the application&#8230;</p>
<p>So what you do is create a separate project put your css and the embedded assets in the seperate project, and set its output folder to be the actual project&#8217;s html-template folder, then you right-click the css file and make sure &#8220;Compile CSS to SWF&#8221; is checked.  This tells flexbuilder to compile a swf just for the css file&#8230; NOTE: you may have to make a change to the css file to get it to output the swf.</p>
<p>Once the file is a swf, and the output folder is your destination project you simply use StyleManager.loadStyleDeclarations(&#8216;somecss.swf&#8217;); to load your css on the &#8220;initialize&#8221; event of the main application mxml file.</p>
<p>To also help improve compile times you can try using unicode ranges for you font as well, and only embedding what you need <a href="http://www.axelscript.com/2008/08/20/using-unicode-ranges-for-fonts-because-of-compile-times/" target="_blank">Using unicode ranges for fonts</a></p>
<p>Please see the video for more details</p>
<p>Â Here is the zip of the Project -Â <a href="http://axelscript.com/wp-content/Examples/RuntimeCSS/RuntimeCSS.zip" target="_blank">SOURCE</a></p>
<h4>THE VIDEO </h4>
<p>(be patient, it takes a minute to load)<br />
            <object id="csSWF" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="498" codebase="http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,28,0"><param name="src" value="http://www.axelscript.com/wp-content/Examples/RuntimeCSS/runtimeCSS.swf"/><param name="bgcolor" value="#1a1a1a"/><param name="quality" value="best"/><param name="allowScriptAccess" value="always"/><param name="allowFullScreen" value="true"/><param name="scale" value="showall"/><param name="flashVars" value="autostart=false"/><embed name="csSWF" src="http://www.axelscript.com/wp-content/Examples/RuntimeCSS/runtimeCSS.swf" width="640" height="498" bgcolor="#1a1a1a" quality="best" allowScriptAccess="always" allowFullScreen="true" scale="showall" flashVars="autostart=false" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></object></p>
<img src="http://www.axelscript.com/?ak_action=api_record_view&id=170&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.axelscript.com/2008/10/03/improving-compile-times-with-runtime-css/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
