<?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>Turtlebite&#039;s Blog &#187; flash framework</title>
	<atom:link href="http://blog.turtlebite.com/tag/flash-framework/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.turtlebite.com</link>
	<description>Flash CMS Framework, Fleb Framework, Global Navigation and other ActionScript Stuff</description>
	<lastBuildDate>Wed, 04 Aug 2010 09:45:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Fleb Framework version 1.1: Improved Express Install Procedure and more</title>
		<link>http://blog.turtlebite.com/fleb-framework-version-1-1-improved-express-install-procedure/</link>
		<comments>http://blog.turtlebite.com/fleb-framework-version-1-1-improved-express-install-procedure/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 13:40:03 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Flash SEO]]></category>
		<category><![CDATA[Fleb Framework]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[expressinstall]]></category>
		<category><![CDATA[flash framework]]></category>
		<category><![CDATA[robots.txt]]></category>
		<category><![CDATA[swfaddress]]></category>
		<category><![CDATA[swfobject]]></category>

		<guid isPermaLink="false">http://blog.flashcmsframework.com/fleb-framework-version-1-1-improved-express-install-procedure/</guid>
		<description><![CDATA[A special thank to Niklas Hallgren who brought this issue up. I must admit I have not covered the case when a user actually has the flash plugin installed, but it is outdated and the express install is started. If he clicks &#8220;Yes&#8221;, the flash plugin will be installed and everything is fine: the user [...]]]></description>
			<content:encoded><![CDATA[<p>A special thank to <a href="http://www.widecircle.se">Niklas Hallgren</a> who brought this issue up. I must admit I have not covered the case when a user actually has the flash plugin installed, but it is outdated and the express install is started. If he clicks &#8220;Yes&#8221;, the flash plugin will be installed and everything is fine: the user will see the flash version of the website after installation is complete. This is where I stopped thinking about it any further. <strong>But what if the user aborts the express install by clicking &#8220;No&#8221;? </strong>For example, if the user is not allowed to upgrade and has to stick to the installed flash player version on his computer.</p>
<p>Unfortunatly when the users aborts the express install he will end up with a blank screen. Even if the user was shown the no javascript alternative content we would run into problems because of SWFAddress, which would again start the express install at the time of the next click in the navigation menu. For Fleb, this needed some rethinking.</p>
<p><strong>SWFObject 2.1 together with SWFAddress 2.3</strong><br />
At first I wanted to upgrade to the newest SWFObject 2.2, but I ran into 2 problems. First, when I have SWFObject 2.2 installed, when I test in Firefox (3.0.13 and 3.5.2) on the PC I get a blank screen and an error in firebug: &#8220;<em>Error calling method on NPObject</em>&#8220;. So I switched back to SWFObject 2.1, which I have not encountered any problems on the tested browsers. And there is even another issue: The combination of SFWObject 2.2 and SWFAddress 2.3 causes FlashVars to be NULL. <a href="http://code.google.com/p/swfobject/issues/detail?id=338#c0">Read this for more info about this issue.</a> Conclusion for the time being: I will stick to SWFObject 2.1 and SWFAddress 2.3.</p>
<p><strong>expressInstall.swf changed to flebExpressInstall.swf</strong><br />
Here is what I did: In expressInstall.as I changed the function <em>installStatus</em> like this:</p>
<pre class="brush: php;">

function installStatus(statusValue) {
switch (statusValue) {
case &quot;Download.Complete&quot;:
// Installation is complete.
break;
case &quot;Download.Cancelled&quot;:
getURL(baseURL+&quot;/noflash.php&quot;);
break;
case &quot;Download.Failed&quot;:
getURL(baseURL+&quot;/noflash.php&quot;);
break;
}
}
</pre>
<p>If the user hits &#8220;No&#8221;, he will be rerouted to &#8220;noflash.php&#8221;, which is in fact the same page as index.php, but without SWFAddress. See the graphic below.</p>
<p><img class="alignnone size-full wp-image-649" title="cancelling_flash_player_expressinstall" src="http://blog.flashcmsframework.com/wp-content/uploads/2009/08/cancelling_flash_player_expressinstall.jpg" alt="cancelling_flash_player_expressinstall" width="595" height="500" /></p>
<p>This page is not linked to from anywhere and has the metatags &#8220;noindex, nofollow&#8221;, so the search engines should not index it. This page is only for the user to have at least something if he cannot upgrade to the needed flash player. At the same time this is a great way to show your clients the NO FLASH version of their new flash website, without having them deactivate javascript (which they normally don&#8217;t have a clue how to do it&#8230; <img src='http://blog.turtlebite.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> )</p>
<p><strong>robots.txt</strong><br />
In this release version 1.1 of Fleb I also have added a robots.txt file, to prevent the search engines from indexing certain files. For example SWFs. <a href="http://www.asual.com/blog/swfaddress/2008/11/25/swfaddress-and-robots-txt.html">Read this post for more info about SWFAddress and robots.txt</a>.<br />
Here is what it looks like:</p>
<pre class="brush: php;">
User-agent: *
Disallow: /base.swf
Disallow: /main.swf
Disallow: /noflash.php
Disallow: /structure.xml
Disallow: /structure.php
Disallow: /content_source/
Disallow: /content_swf/
</pre>
<p><strong>More improvements</strong><br />
Because there are now two php files that use the same info texts (<em>index.php</em> and <em>noflash.php</em>) I didn&#8217;t want to have redundant data, so I have created a new file named &#8220;<em>noflash_text.php</em>&#8221; with those pieces of text. Just have a look at it to see what I mean.</p>
<p><strong>Making things variable</strong><br />
I took everything out of <em>index.php</em> that you had to set (e.g. flash version, background color) and placed it in structure.xml. Now you don&#8217;t have to touch the index.php file anymore, it&#8217;s all variable and defined in <em>structure.xml</em>. In the download files I have also added a<em> structure.xml</em> file that contains only one language, for you to compare.</p>
<p><strong>Removed code from Main.as</strong><br />
I have placed all code for language handling in the navigationManager2 class, now Main.as is much clearer. The code that is left there has to be there. I mean, I could take even more code out and place it in seperate classes, but that would probably get in the way of your coding style. I want the Fleb Framework to remain as clear as possible. I have put a lot of comments in Main.as to explain every step. Please let me know if you have problems or suggestions.</p>
<p><a href="http://www.flashcmsframework.com/docs/doku.php?id=fleb-framework-download">You can download the Fleb Framework here.</a></p>
<p>Cheers,<br />
Christian</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://blog.turtlebite.com/fleb-framework-version-1-1-improved-express-install-procedure/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://blog.turtlebite.com/fleb-framework-version-1-1-improved-express-install-procedure/&amp;title=Fleb+Framework+version+1.1%3A+Improved+Express+Install+Procedure+and+more" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.turtlebite.com/fleb-framework-version-1-1-improved-express-install-procedure/&amp;title=Fleb+Framework+version+1.1%3A+Improved+Express+Install+Procedure+and+more" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-diigo">
			<a href="http://www.diigo.com/post?url=http://blog.turtlebite.com/fleb-framework-version-1-1-improved-express-install-procedure/&amp;title=Fleb+Framework+version+1.1%3A+Improved+Express+Install+Procedure+and+more&amp;desc=A%20special%20thank%20to%20Niklas%20Hallgren%20who%20brought%20this%20issue%20up.%20I%20must%20admit%20I%20have%20not%20covered%20the%20case%20when%20a%20user%20actually%20has%20the%20flash%20plugin%20installed%2C%20but%20it%20is%20outdated%20and%20the%20express%20install%20is%20started.%20If%20he%20clicks%20%22Yes%22%2C%20the%20flash%20plugin%20will%20be%20installed%20and%20everything%20is%20fine%3A%20the%20user%20w" rel="nofollow" class="external" title="Post this on Diigo">Post this on Diigo</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.turtlebite.com/fleb-framework-version-1-1-improved-express-install-procedure/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://blog.turtlebite.com/fleb-framework-version-1-1-improved-express-install-procedure/&amp;bm_description=Fleb+Framework+version+1.1%3A+Improved+Express+Install+Procedure+and+more&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
		<li class="shr-mixx">
			<a href="http://www.mixx.com/submit?page_url=http://blog.turtlebite.com/fleb-framework-version-1-1-improved-express-install-procedure/&amp;title=Fleb+Framework+version+1.1%3A+Improved+Express+Install+Procedure+and+more" rel="nofollow" class="external" title="Share this on Mixx">Share this on Mixx</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://blog.turtlebite.com/fleb-framework-version-1-1-improved-express-install-procedure/&amp;title=Fleb+Framework+version+1.1%3A+Improved+Express+Install+Procedure+and+more" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.turtlebite.com/fleb-framework-version-1-1-improved-express-install-procedure/&amp;title=Fleb+Framework+version+1.1%3A+Improved+Express+Install+Procedure+and+more" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://blog.turtlebite.com/fleb-framework-version-1-1-improved-express-install-procedure/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Fleb+Framework+version+1.1%3A+Improved+Express+Install+Procedure+and+more+-+http://b2l.me/aft79f&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.turtlebite.com/fleb-framework-version-1-1-improved-express-install-procedure/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Fleb Framework 1.0 released!</title>
		<link>http://blog.turtlebite.com/fleb-framework-1-0-released/</link>
		<comments>http://blog.turtlebite.com/fleb-framework-1-0-released/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 14:25:42 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Flash SEO]]></category>
		<category><![CDATA[Fleb Framework]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash framework]]></category>
		<category><![CDATA[flash navigation]]></category>
		<category><![CDATA[Global Navigation]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[swfaddress]]></category>

		<guid isPermaLink="false">http://blog.flashcmsframework.com/?p=610</guid>
		<description><![CDATA[Ok, it&#8217;s ready for release. You can download the framework here. What is the Fleb Framework and who needs it? It&#8217;s an open source front-end framework for AS3 to help you build pure flash websites with full SEO support. It is based on the Global Navigation for Flash and the SWFAddress SEO Solution. You define [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, it&#8217;s ready for release. <img src='http://blog.turtlebite.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  You can <a href="http://www.flashcmsframework.com/docs/doku.php?id=fleb-framework-download">download the framework here</a>.</p>
<p><strong>What is the Fleb Framework and who needs it?</strong><br />
It&#8217;s an open source front-end framework for AS3 to help you build pure flash websites with full SEO support. It is based on the <a href="http://blog.flashcmsframework.com/global-navigation-showcase/">Global Navigation for Flash</a> and the <a href="http://www.asual.com/swfaddress/">SWFAddress SEO Solution</a>. You define the whole structure of the website (navigation, title, description, keywords, assets etc.) in an <a href="http://www.flashcmsframework.com/flebsitedemo/structure.xml">XML file</a> which is parsed by your SWF files for your flash site and PHP files for the no-javascript SEO version of your site.</p>
<p><strong>What does &#8220;Fleb&#8221; stand for?</strong><br />
Very simple: It is just a short form of &#8220;flash web&#8221; -&gt; &#8220;fleb&#8221;. I prefer to build flebsites now&#8230; <img src='http://blog.turtlebite.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><strong>Concentrate on Flash</strong><br />
All is done automatically: You don&#8217;t have to think about the layout of the no-javascript website any longer, just concentrate on the content, keywords and description in your <a href="http://www.flashcmsframework.com/flebsitedemo/structure.xml">structure.xml</a> file. By using the global navigation you can create almost any navigation setup you can think of. <a href="http://www.flashcmsframework.com/docs/doku.php?id=global-navigation2-examples">Check it out.</a></p>
<p><strong>Test it!</strong><br />
Let me demonstrate it. <a href="http://www.flashcmsframework.com/flebsitedemo/">Start the Fleb Demosite</a>. Navigate through the site and observe the address bar. Also use the browser back/forward buttons. At any point, reload the site to see how deeplinking is working. Speaking of deeplinking, try this: Add some additional parameters to the url, for example like so:</p>
<p>http://www.flashcmsframework.com/flebsitedemo/#/en/products/ultra-power/<strong>1/2/3/</p>
<p><img class="size-full wp-image-612 alignnone" title="fleb-flash-framework-deeplinks" src="http://blog.flashcmsframework.com/wp-content/uploads/2009/08/fleb-flash-framework-deeplinks.jpg" alt="fleb-flash-framework-deeplinks" width="595" height="135" /><br />
</strong><br />
As you can see the parameters are split into an array. Whenever there are parameters in the URL an event is dispatch which you can listen to from anywhere and react accordingly.</p>
<p><strong>SEO, please!</strong><br />
Now comes the interesting part: Turn off JavaScript to see what the search engines get.<br />
<img class="alignnone size-full wp-image-616" title="fleb-flash-framework-no-javascript" src="http://blog.flashcmsframework.com/wp-content/uploads/2009/08/fleb-flash-framework-no-javascript.jpg" alt="fleb-flash-framework-no-javascript" width="595" height="266" /><br />
The navigation is created automatically by parsing the <a href="http://www.flashcmsframework.com/flebsitedemo/structure.xml">same XML file that is used for your flebsite (structure.xml).</a> You can easily adjust the colors of the sidebar, header, content background etc. in a separate css file, if needed. But remember, this no javascript version will almost no one ever see! <img src='http://blog.turtlebite.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Please navigate around and watch the address bar. As you can see, the &#8220;#&#8221; has gone, you have clean URLs for the search engines. Also look at the source text of the website to see the content of the metatags &#8220;keywords&#8221; and &#8220;description&#8221;. Now turn javascript back on and reload. SWFAddress will automatically insert a &#8220;#&#8221; and you will be taken to the right location inside your flash website.<br />
<strong> </strong></p>
<p><img class="size-full wp-image-615 alignnone" title="fleb-overview-2" src="http://blog.flashcmsframework.com/wp-content/uploads/2009/08/fleb-overview-2.jpg" alt="fleb-overview-2" width="595" height="331" /></p>
<p>Since my <a href="http://blog.flashcmsframework.com/introducing-the-fleb-framework/">last post</a> about the fleb framework I have merged the 2 PHP files &#8220;seonavig.php&#8221; and &#8220;datasource.php&#8221; into one file, &#8220;structure.php&#8221; to make it easier. <a href="http://www.flashcmsframework.com/docs/doku.php?id=fleb-framework-overview">Please visit the docs for an in-depth explanation of each file</a>.<strong><br />
</strong></p>
<p><strong>Open and very flexible</strong><br />
Besides the use of the Global Navigation you are completely free how you create/code your site. The Fleb Demosite (included in the <a href="http://www.flashcmsframework.com/docs/doku.php?id=fleb-framework-download">download</a>) is just a suggestion and shows the way I use to create websites. The main part of your code will be in main.swf. This is the place where the navigation and SWFAddress are initialized and where the loading/unloading of content is organized. Anyway, there are some techniques and classes involved I like to explain. Remember, it&#8217;s up to you if you use these or any other solutions.</p>
<p><strong>Debugging</strong><br />
I use one of these 3 debugger solutions. Each one has its advantages.<br />
<a href="http://blog.hexagonstar.com/alcon/">Alcon</a><br />
<a href="http://arthropod.stopp.se/">Arthropod</a><br />
<a href="http://demonsterdebugger.com/">DeMonster</a></p>
<p><strong>Global event handling &amp; global variables</strong><br />
Some time ago I discovered <a href="http://www.reynaldocolumna.com/blog/archives/event-control-system">this post by Reyco1<strong> </strong></a> about a centralized event system. This is very useful for events that need to be used all over your project. For example, in Fleb there are 3 of those &#8220;global&#8221; events: onDeeplink, onLanguageChange, onStageResize. These event classes are included in Fleb. Based on this concept I have created a very simple class called VarCentral, which is a singleton that stores any variable you can globally access from anywhere in your project (an object, for example):</p>
<pre class="brush: php;"> VarCentral.getInstance().vars.hello = {a:1, b:2}</pre>
<p><strong>Loading assets</strong><br />
For simple cases, I use a slightly enhanced class  found in <a href="http://www.moock.org/">Colin Moock&#8217;s Book &#8220;Essential Actionscript 3&#8243;</a>, LoadChildAsset. That is okay for most of my needs. If you need a more sophisticated class, you have to check out the <a href="http://www.stimuli.com.br/trane/2007/nov/25/loading-reloaded/">BulkLoader from Arthur Debert</a>. It&#8217;s awesome!<br />
And this also looks very promising (though I have not used it yet): <a href="http://code.google.com/p/queueloader-as3/">Queueloader by Donovan Adams</a>.</p>
<p><strong>Browser window resizing</strong><br />
If I need a script that resizes my flash movie automatically if the browser window size changes, i use <a href="http://swffit.millermedeiros.com/">swffit</a>.</p>
<p><strong>Tweening</strong><br />
<a href="http://blog.greensock.com/tweenmaxas3/">TweenLite/Tweenmax</a><br />
<a href="http://goasap.org/">GO</a><br />
<a href="http://desuade.com/dmp">Desuade Motion Package</a> (not really tested yet, it&#8217;s quite new but looks very promising)</p>
<p>Cheers!<br />
Christian</p>
<p><strong><br />
</strong></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://blog.turtlebite.com/fleb-framework-1-0-released/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://blog.turtlebite.com/fleb-framework-1-0-released/&amp;title=Fleb+Framework+1.0+released%21" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.turtlebite.com/fleb-framework-1-0-released/&amp;title=Fleb+Framework+1.0+released%21" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-diigo">
			<a href="http://www.diigo.com/post?url=http://blog.turtlebite.com/fleb-framework-1-0-released/&amp;title=Fleb+Framework+1.0+released%21&amp;desc=Ok%2C%20it%27s%20ready%20for%20release.%20%3A-%29%20You%20can%20download%20the%20framework%20here.%0D%0A%0D%0AWhat%20is%20the%20Fleb%20Framework%20and%20who%20needs%20it%3F%0D%0AIt%27s%20an%20open%20source%20front-end%20framework%20for%20AS3%20to%20help%20you%20build%20pure%20flash%20websites%20with%20full%20SEO%20support.%20It%20is%20based%20on%20the%20Global%20Navigation%20for%20Flash%20and%20the%20SWFAddress%20SEO%20Sol" rel="nofollow" class="external" title="Post this on Diigo">Post this on Diigo</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.turtlebite.com/fleb-framework-1-0-released/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://blog.turtlebite.com/fleb-framework-1-0-released/&amp;bm_description=Fleb+Framework+1.0+released%21&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
		<li class="shr-mixx">
			<a href="http://www.mixx.com/submit?page_url=http://blog.turtlebite.com/fleb-framework-1-0-released/&amp;title=Fleb+Framework+1.0+released%21" rel="nofollow" class="external" title="Share this on Mixx">Share this on Mixx</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://blog.turtlebite.com/fleb-framework-1-0-released/&amp;title=Fleb+Framework+1.0+released%21" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.turtlebite.com/fleb-framework-1-0-released/&amp;title=Fleb+Framework+1.0+released%21" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://blog.turtlebite.com/fleb-framework-1-0-released/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Fleb+Framework+1.0+released%21+-+http://b2l.me/afrdvf&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.turtlebite.com/fleb-framework-1-0-released/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Introducing the Fleb Framework!</title>
		<link>http://blog.turtlebite.com/introducing-the-fleb-framework/</link>
		<comments>http://blog.turtlebite.com/introducing-the-fleb-framework/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 12:53:05 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Flash SEO]]></category>
		<category><![CDATA[Fleb Framework]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash framework]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[swfaddress]]></category>

		<guid isPermaLink="false">http://blog.flashcmsframework.com/?p=543</guid>
		<description><![CDATA[Hi everyone! I have created my own framework to build pure flash websites, or short: flebsites . Let me introduce the Fleb Framework. But why another framework when there is the wonderful Gaia Framework around? Let me explain: I really like the Gaia Framework, I have used it for my last websites. As I wrote [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-549" title="fleb-overview_small" src="http://blog.flashcmsframework.com/wp-content/uploads/2009/08/fleb-overview_small.jpg" alt="fleb-overview_small" width="200" height="125" />Hi everyone! I have created my own framework to build pure flash websites, or short: flebsites <img src='http://blog.turtlebite.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Let me introduce the Fleb Framework. But why another framework when there is the wonderful Gaia Framework around? Let me explain: I really like the Gaia Framework, I have used it for my last websites. As I wrote in my very first post in the Gaia forum, I had my own framework coded in AS2 and I was thinking of porting it to AS3. The point was that this AS2 framework was kind of a mess,  so porting it to AS3 would have been like coding it from scratch. Then I discovered Gaia and all of a sudden I could jump into an AS3 framework and did not have to code my own. But there were two things I missed in Gaia: a global navigation and a more advanced SEO technique. As time went by I solved both problems: creating a <a href="http://www.flashcmsframework.com/docs/doku.php?id=global-navigation2-examples">global navigation system</a> and a <a href="http://blog.flashcmsframework.com/swfaddress-seo-solution-for-gaia-flash-framework/">SEO solution for Gaia</a>. But there was still something else I had to do same hacking<span id="more-543"></span>: multi language support. The fact that I have never really used the Gaia panel, which is one of the core features, was yet another reason. Whenever I start with a new website, I like to reuse code from the previous one, that is why I didn&#8217;t use the Gaia panel which always scaffolds a new and empty setup I have to edit. Please don&#8217;t get me wrong: Gaia is a wonderful framework which is available for AS3 and AS2 (Fleb Framework is AS3 only),  I still highly recommend it for everyone (for example, there is no context menu &#8220;out of the box&#8221; in Fleb), but it simply did not match my way of working anymore. (And I just could never get used to the &#8220;/#/home&#8221; in the address bar&#8230;)</p>
<p><strong>What is the Fleb Framework?</strong></p>
<p>A front end flash framework. It focusses heavily on SEO, based on the <a href="http://www.asual.com/swfaddress/samples/seo/">example found at asual.com</a>. Because SEO was (and still is) always a discussion point wether to create a website in flash or html. I always try to do everything in flash, so I had to find a way to wipe out the arguments against flash. <img src='http://blog.turtlebite.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Check out the movie below to get an idea and play with the <a href="http://www.flashcmsframework.com/flebsitedemo">demosite online</a>.</p>
<p><span class="youtube">
<object width="425" height="355">
<param name="movie" value="http://www.youtube.com/v/WQRa8G_7gqI&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0?rel=1&amp;fmt=22" />
<param name="allowFullScreen" value="true" />
<embed wmode="transparent" src="http://www.youtube.com/v/WQRa8G_7gqI&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0?rel=1&amp;fmt=22" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="355"></embed>
<param name="wmode" value="transparent" />
</object>
</span><p><a href="http://www.youtube.com/watch?v=WQRa8G_7gqI">www.youtube.com/watch?v=WQRa8G_7gqI</a></p></p>
<p><strong>Overview of the Fleb Framework</strong></p>
<p>In order to use the framework you need to enable mod_rewrite in .htaccess file. It uses PHP and XML. Just read on for more details.</p>
<div id="attachment_547" class="wp-caption alignnone" style="width: 605px"><img class="size-full wp-image-547" title="fleb-overview" src="http://blog.flashcmsframework.com/wp-content/uploads/2009/08/fleb-overview.jpg" alt="Fleb Framework Overview" width="595" height="371" /><p class="wp-caption-text">Fleb Framework Overview</p></div>
<p><strong> 1. index.php</strong></p>
<p>The index.php embeds base.swf. It uses SWFObject to detect the flash plugin and SWFAddress for URL rewriting (by using mod_rewrite in .htaccess). Every request is rerouted to index.php.</p>
<p><strong>2. base.swf</strong></p>
<p>This is the base of your website. Its whole purpose is to load the main website (main.swf, see 3). It contains only the neccessary setup and a preloader. This SWF should be kept as small as possible in order to display the preloader very soon.</p>
<p><strong>3. main.swf</strong></p>
<p>This is where the &#8220;brain&#8221; of the website resides. In main.swf the global navigation is initialized, the content (pages) is handled (preloading, fading in/out, crossfading, unloading etc.) and event handlers are added (SWFAddress, navigation, language etc.). All is open for you to finetune, extend and so on.</p>
<p><strong>4. [content].swf</strong></p>
<p>Your actual content. I&#8217;ve put the name in square brackets because it could be any name, like &#8220;about_us.swf&#8221; or &#8220;products.swf&#8221;. It&#8217;s completely up to you how you create these content SWFs.</p>
<p><strong>5. structure.xml</strong></p>
<p>This is the &#8220;plan&#8221; of your website: It contains the title, description, keywords of your website as well as the navigation structure and the source XML files with the content. Here is an example:</p>
<pre class="brush: xml;">
&lt;structure&gt;
&lt;site&gt;
&lt;title&gt;Flebsite Demo&lt;/title&gt;
&lt;description&gt;This website is a pure flash website, or short: a flebsite!{Dies ist eine reine flash website, oder einfacher: eine flebsite &lt;/description&gt;
&lt;keywords&gt;flash,website framework,cms&lt;/keywords&gt;
&lt;/site&gt;
&lt;navigation&gt;
&lt;button id=&quot;home&quot; btnSWF=&quot;mainBtn.swf&quot; btnPosX=&quot;0&quot; btnPosY=&quot;0&quot; btnSpacingX=&quot;5&quot; btnAddLabelSpace=&quot;10&quot; btnLabel=&quot;Home{Startseite&quot; btnStayActive=&quot;false&quot;&gt;
&lt;data swf=&quot;&quot; source=&quot;home&quot; seosource=&quot;_page.php&quot; title=&quot;Welcome to %site%{Willkommen! - %site%&quot; address=&quot;/en/{/de/&quot; keywords=&quot;%site%&quot; description=&quot;%site%&quot;/&gt;
&lt;yournode test=&quot;any data&quot;/&gt;
&lt;/button&gt;
&lt;button id=&quot;about_us&quot; btnSWF=&quot;mainBtn.swf&quot; btnAddLabelSpace=&quot;10&quot; btnLabel=&quot;About us{Über uns&quot;&gt;
&lt;data swf=&quot;_page.swf&quot; source=&quot;_about_us.xml{_ueber_uns.xml&quot; seosource=&quot;_page.php&quot; title=&quot;About us - %site%{Über uns - %site%&quot; address=&quot;/en/about-us/{/de/ueber-uns/&quot; keywords=&quot;about us,%site%{über uns,%site%&quot; description=&quot;about us - %site%{über uns - %site%&quot;/&gt;
&lt;yournode test=&quot;hello world 1&quot;&gt;This is text of yournode 1&lt;/yournode&gt;
&lt;yournode test=&quot;hello world 2&quot;&gt;This is text of yournode 2&lt;/yournode&gt;
&lt;/button&gt;
&lt;/navigation&gt;
&lt;/structure&gt;
</pre>
<p><strong>6. [contentData].xml</strong></p>
<p>Holds the data of your content pages. This XML file is loaded in the SWF and also in PHP for SEO. I prefer to use XML whenever possible instead of JSON/PHP to store content because XML can be loaded directly into an SWF while testing in the Flash IDE. Here is an example:</p>
<pre class="brush: xml;">

&lt;page&gt;
&lt;title&gt;About us&lt;/title&gt;
&lt;body bgColor=&quot;699306&quot;&gt;&lt;![CDATA[ABOUT US: But I must explain to you how all this mistaken.......]]&gt;&lt;/body&gt;
&lt;pic url=&quot;images/b6nature_animals_sea000.jpg&quot;&gt;This is a nice description of the image for SEO!&lt;/pic&gt;
&lt;/page&gt;
</pre>
<p><span style="text-decoration: line-through;"><strong>7. seonavig.php</strong></span></p>
<p><span style="text-decoration: line-through;">This file is included in index.php. It parses structure.xml and creates the navigation for SEO. With correct indentation etc.</span></p>
<p><span style="text-decoration: line-through;"><strong>8. datasource.php</strong></span></p>
<p><span style="text-decoration: line-through;">datasource.php is also included in index.php. It parses structure.xml and stores the navigation data in an object. It than compares the SWFAddress value to the parsed address values of structure.xml and loads the corresponding content source file (page.php, see next point) for SEO.</span></p>
<p><strong>Update 08/06/2009</strong>: <a href="http://blog.flashcmsframework.com/fleb-framework-1-0-released/">Please have a look at this post</a>. I have merged &#8220;seonavig.php&#8221; and &#8220;datasource.php&#8221; into &#8220;structure.php&#8221; to make it all clearer.<br />
<span style="text-decoration: line-through;"><br />
</span></p>
<p><strong>9. [page].php</strong></p>
<p>As in point 6 I have used square brackets because these PHP files can have any name. Usually there is always a pair of a PHP and an XML file. I use this to parse the content XML file for SEO. page.php is only used to load data for SEO, either by parsing the XML file, by a MySQL query or JSON etc.</p>
<p><strong>Conclusion</strong></p>
<p>The Fleb Framework will be available open source very soon. As with my other code, I will create a documentation for this. The FLAs are already well commented, so there will be a lot of information in the code.</p>
<p>Stay tuned!</p>
<p>Christian</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-knowledge">
<ul class="socials">
		<li class="shr-comfeed">
			<a href="http://blog.turtlebite.com/introducing-the-fleb-framework/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://blog.turtlebite.com/introducing-the-fleb-framework/&amp;title=Introducing+the+Fleb+Framework%21" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://digg.com/submit?phase=2&amp;url=http://blog.turtlebite.com/introducing-the-fleb-framework/&amp;title=Introducing+the+Fleb+Framework%21" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-diigo">
			<a href="http://www.diigo.com/post?url=http://blog.turtlebite.com/introducing-the-fleb-framework/&amp;title=Introducing+the+Fleb+Framework%21&amp;desc=Hi%20everyone%21%20I%20have%20created%20my%20own%20framework%20to%20build%20pure%20flash%20websites%2C%20or%20short%3A%20flebsites%20%3A-%29.%20Let%20me%20introduce%20the%20Fleb%20Framework.%20But%20why%20another%20framework%20when%20there%20is%20the%20wonderful%20Gaia%20Framework%20around%3F%20Let%20me%20explain%3A%20I%20really%20like%20the%20Gaia%20Framework%2C%20I%20have%20used%20it%20for%20my%20last%20websites." rel="nofollow" class="external" title="Post this on Diigo">Post this on Diigo</a>
		</li>
		<li class="shr-googlebuzz">
			<a href="http://www.google.com/buzz/post?url=http://blog.turtlebite.com/introducing-the-fleb-framework/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a>
		</li>
		<li class="shr-misterwong">
			<a href="http://www.mister-wong.com/addurl/?bm_url=http://blog.turtlebite.com/introducing-the-fleb-framework/&amp;bm_description=Introducing+the+Fleb+Framework%21&amp;plugin=sexybookmarks" rel="nofollow" class="external" title="Add this to Mister Wong">Add this to Mister Wong</a>
		</li>
		<li class="shr-mixx">
			<a href="http://www.mixx.com/submit?page_url=http://blog.turtlebite.com/introducing-the-fleb-framework/&amp;title=Introducing+the+Fleb+Framework%21" rel="nofollow" class="external" title="Share this on Mixx">Share this on Mixx</a>
		</li>
		<li class="shr-reddit">
			<a href="http://reddit.com/submit?url=http://blog.turtlebite.com/introducing-the-fleb-framework/&amp;title=Introducing+the+Fleb+Framework%21" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.stumbleupon.com/submit?url=http://blog.turtlebite.com/introducing-the-fleb-framework/&amp;title=Introducing+the+Fleb+Framework%21" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
		<li class="shr-technorati">
			<a href="http://technorati.com/faves?add=http://blog.turtlebite.com/introducing-the-fleb-framework/" rel="nofollow" class="external" title="Share this on Technorati">Share this on Technorati</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=Introducing+the+Fleb+Framework%21+-+http://b2l.me/aft79h&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>

]]></content:encoded>
			<wfw:commentRss>http://blog.turtlebite.com/introducing-the-fleb-framework/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>
