<?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"
	>

<channel>
	<title>All I'm Saying Is...</title>
	<atom:link href="http://www.exit12.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.exit12.org</link>
	<description>Out of clutter, find simplicity. From discord, find harmony. In the middle of difficulty lies opportunity.</description>
	<pubDate>Thu, 03 Jul 2008 17:56:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Flex Module Apps Are Easier Than You Think!!!</title>
		<link>http://www.exit12.org/archives/28</link>
		<comments>http://www.exit12.org/archives/28#comments</comments>
		<pubDate>Wed, 02 Jul 2008 10:26:25 +0000</pubDate>
		<dc:creator>sean</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<category><![CDATA[ModuleBase]]></category>

		<category><![CDATA[ModuleLoader]]></category>

		<category><![CDATA[ModuleManager]]></category>

		<category><![CDATA[Modules]]></category>

		<category><![CDATA[REST]]></category>

		<category><![CDATA[RSLs]]></category>

		<guid isPermaLink="false">http://www.exit12.org/?p=28</guid>
		<description><![CDATA[The Shell
Your core application, aka The "Shell" is a small application that is download first by the user, and responsible for loading/unloading your modules. You can also add some core functionality to this app that will get used by the modules.
ModuleLoader
ModuleLoader is a simplified hook into the ModuleManager class. It has some pros over ModuleManager [...]]]></description>
			<content:encoded><![CDATA[<h1>The Shell</h1>
<p>Your core application, aka The "Shell" is a small application that is download first by the user, and responsible for loading/unloading your modules. You can also add some core functionality to this app that will get used by the modules.</p>
<h2>ModuleLoader</h2>
<p>ModuleLoader is a simplified hook into the ModuleManager class. It has some pros over ModuleManager in that you can use a MXML format to simply place the Module on the Stage. But of course it's ease of use also comes with some cons. First off when you load a module you need to get the child of the ModuleLoader element to get to the actual module. Also you need to create a new ModuleLoader for each instance of your modules. So if you want 3 instances of Account Module you would need to create a new instance of ModuleLoader for each.</p>
<h3>Example</h3>
<pre class="actionscript"><span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">modules</span>.<span style="color: #006600;">Module</span>;
<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">events</span>.<span style="color: #006600;">ModuleEvent</span>;
<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">modules</span>.<span style="color: #006600;">ModuleLoader</span>;
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> readyHandler<span style="color: #66cc66;">&#40;</span>event:ModuleEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//Module Is Ready</span>
	<span style="color: #000000; font-weight: bold;">var</span> loader:ModuleLoader = event.<span style="color: #0066CC;">target</span> as ModuleLoader;
&nbsp;
	<span style="color: #808080; font-style: italic;">//You need to access the Child to get to the Module</span>
	<span style="color: #000000; font-weight: bold;">var</span> module:Module = loader.<span style="color: #006600;">child</span> as Module;
<span style="color: #66cc66;">&#125;</span></pre>
<pre class="mxml">&nbsp;
<span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Application</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:ModuleLoader</span> ready=<span style="color: #ff0000;">&quot;readyHandler&quot;</span> url=<span style="color: #ff0000;">&quot;MyModule.swf&quot;</span>
<span style="color: #7400FF;">&lt;/mx:Application</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;</pre>
<p><span id="more-28"></span></p>
<h2>ModuleManager</h2>
<p>ModuleManager is a more advanced way. Also my recommended method. You tie into the ModuleManager class to load the module. Once loaded you have access to a IFactory Interface to create as many Instance as you would like. Also when you create the Module and place it on the Stage you can avoid having to dip into any Children. The only con I've found with this method is you aren't allowed to directly place the Module without using actionscript. You could possible create a custom ModuleLoader of your own to set the Placement.</p>
<h3>Example</h3>
<pre class="actionscript"><span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">modules</span>.<span style="color: #006600;">IModuleInfo</span>;
<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">modules</span>.<span style="color: #006600;">Module</span>;
<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">modules</span>.<span style="color: #006600;">ModuleManager</span>;
<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">events</span>.<span style="color: #006600;">ModuleEvent</span>;
&nbsp;
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> modInfo:IModuleInfo;
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">loaded</span>:<span style="color: #0066CC;">Boolean</span> = <span style="color: #000000; font-weight: bold;">false</span>;
&nbsp;
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> loadModule<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>!<span style="color: #0066CC;">loaded</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		modInfo = ModuleManager.<span style="color: #006600;">getModule</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MyModule.swf'</span><span style="color: #66cc66;">&#41;</span>;
		modInfo.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>ModuleEvent.<span style="color: #006600;">READY</span>, readyHandler<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> readyHandler<span style="color: #66cc66;">&#40;</span>event:ModuleEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">//Module Is Ready</span>
	<span style="color: #000000; font-weight: bold;">var</span> module:Module = modInfo.<span style="color: #006600;">factory</span>.<span style="color: #006600;">create</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">//Place The Module on the Stage</span>
	addChild<span style="color: #66cc66;">&#40;</span>module<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre>
<h1>The Module(s)</h1>
<p>Modules can be anything really. Libraries, Components, or Pages. I prefer the later. I will create a module for each section of a large admin. So If I have Users, Bussiness, and Billing sections. I'll create 3 modules, one for each.</p>
<p>For the most part you can just create modules the same way you would create normal applications. I even start them out as a seperate app is some cases. That way you can debug/build them without having to load them thru the Shell. When you are done creating your module, you just switch the root tag from &lt;mx:Application&gt; to &lt;mx:Module&gt;. If you creating a actionscript Module, you just need to have your Class extend mx.modules.Module</p>
<pre class="mxml">&nbsp;
<span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Module</span> xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> width=<span style="color: #ff0000;">&quot;400&quot;</span> height=<span style="color: #ff0000;">&quot;300&quot;</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Canvas</span> width=<span style="color: #ff0000;">&quot;400&quot;</span> height=<span style="color: #ff0000;">&quot;250&quot;</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:Form</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span> height=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:FormItem</span> label=<span style="color: #ff0000;">&quot;Name:&quot;</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span> horizontalAlign=<span style="color: #ff0000;">&quot;left&quot;</span> textAlign=<span style="color: #ff0000;">&quot;left&quot;</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:TextInput</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:FormItem</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:FormItem</span> label=<span style="color: #ff0000;">&quot;Address:&quot;</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:TextInput</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:FormItem</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:FormItem</span> label=<span style="color: #ff0000;">&quot;City:&quot;</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:TextInput</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:FormItem</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:FormItem</span> label=<span style="color: #ff0000;">&quot;Region:&quot;</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:ComboBox</span> labelField=<span style="color: #ff0000;">&quot;&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:FormItem</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:FormItem</span> label=<span style="color: #ff0000;">&quot;Country&quot;</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:TextInput</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:FormItem</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:FormItem</span> label=<span style="color: #ff0000;">&quot;Zip Code:&quot;</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:TextInput</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:FormItem</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:FormItem</span> label=<span style="color: #ff0000;">&quot;Phone #:&quot;</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:TextInput</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:FormItem</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:FormItem</span> label=<span style="color: #ff0000;">&quot;Email:&quot;</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;"><span style="color: #7400FF;">&lt;mx:TextInput</span> width=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:FormItem</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Form</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Canvas</span><span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/mx:Module</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;</pre>
<h2>Optimizing Module(s)</h2>
<p>Their are a couple ways to optimize modules. The First way is to remove duplicate references. Basically you can tell Flex's Compiler not to reference anything that "The Shell" already does, so for instance if you have a actionscript class that handles all your HTTP Request and you use it in all/most of your Modules you can reference it in your "Shell" and add the compiler flags to not reference it and you'll save SWF size on the modules and the end-user won't be forced to download the same class over and over. Once and your done.</p>
<p>Their is 3 ways to do this, the third being my favorite for really large apps. It should be noted, that by optimizing the module in the first 2 ways, your making it only compatible with your "Shell". So don't expect your module to work with someone else's Shell Application.</p>
<h3>Flex Builder's Way</h3>
<p>This is probably the easiest way. I like to use it for medium size projects. The downside of it is that once you have say 100 modules. It's going to get pretty bloated in the "Flex Modules" section. And if your linking source for external project modules. Your source tree is going to go to hell. Because linked sources show up as folders in your project.</p>
<ol>
<li>Right click the Shell's project</li>
<li>Choose Properties</li>
<li>Click the "Flex Modules" tab on the side.</li>
<li>Then click add.</li>
<li>The source is where the module is.</li>
<li>The application is the shell.</li>
</ol>
<p style="padding-left: 30px;">If you are using separate projects for your modules, you need to link the source in order to accomplish this method.</p>
<ol>
<li>Right click the Shell's project</li>
<li>Choose Properties</li>
<li>Click the "Flex Build Path" tab on the side.</li>
<li>Click the "Source Path" tab.</li>
<li>Click "Add Folder..."</li>
<li>Enter your module's source path.</li>
</ol>
<h3>Flex Compiler / XML Linker Report</h3>
<p>This way in some ways is a little more complex, but scales much better. This way also doesn't require Flex Builder. So it's a good solution for Open-Source Flex Developers. It works by generating a XML report from the "Shell" application with what Classes it references. Then the modules use this report to not duplicate it's references.</p>
<p><strong>Shell's Project Settings</strong></p>
<ol>
<li>Right click the Shell's project</li>
<li>Choose Properties</li>
<li>Click the "Flex Compiler" tab on the side.</li>
<li>Add the following to "Additional compiler arguments"
<pre>-link-report=report.xml MyApplication.mxml</pre>
</li>
<li>Click "Apply"</li>
<li>Click "OK"</li>
</ol>
<p><strong>Module's Project Settings</strong></p>
<ol>
<li>Right click the Module's Project</li>
<li>Choose Properties</li>
<li>Click the "Flex Compiler" tab on the side.</li>
<li>Add the following to "Additional compiler arguments"
<pre>-load-externs=report.xml MyModule.mxml</pre>
</li>
<li>Click "Apply"</li>
<li>Click "OK"</li>
</ol>
<h2>RSLs (Runtime Shared Libraries)</h2>
<p style="text-align: right;">Coming Soon: Information on Setting up RSLs</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exit12.org/archives/28/feed</wfw:commentRss>
		</item>
		<item>
		<title>You can create large sites with Flex&#8230;</title>
		<link>http://www.exit12.org/archives/27</link>
		<comments>http://www.exit12.org/archives/27#comments</comments>
		<pubDate>Sat, 28 Jun 2008 22:33:35 +0000</pubDate>
		<dc:creator>sean</dc:creator>
		
		<category><![CDATA[Flex]]></category>

		<category><![CDATA[Flash Components]]></category>

		<category><![CDATA[Modules]]></category>

		<category><![CDATA[RSLs]]></category>

		<category><![CDATA[SWC]]></category>

		<category><![CDATA[SWZ]]></category>

		<guid isPermaLink="false">http://www.exit12.org/?p=27</guid>
		<description><![CDATA[Ok, so anybody who has seen what you can do with flex in a couple of hours has to be impressed. You can create a very complex interfaced application very quickly with the design mode and slip over to the code view and hook it up in no time. You can tell Macromedia (Adobe) spent [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, so anybody who has seen what you can do with flex in a couple of hours has to be impressed. You can create a very complex interfaced application very quickly with the design mode and slip over to the code view and hook it up in no time. You can tell <span style="text-decoration: line-through;">Macromedia</span> (Adobe) spent a lot of time working out this development envormient to make it work for not only Flash developers but to also cross over to the non-flash developers to easily hop on board.</p>
<p>But their is a always pros and cons of using any programming language right?<span id="more-27"></span> One of the biggest questions I had when learning Flex was how to make a large 300+ screen admin without having a 100MG SWF. So I began researching the internet finding very little. But the info I did find was very information.</p>
<h2><strong>Modules</strong></h2>
<p>Flexes modules were very well thought out in my mind. Basically allowing you to split up your application by pages, components. Allowing your users to quickly download a small "Shell" Flex application and then dynamically load your modules on demand. So if you have 300 sections of your flex app, and your user will only be using 10 pages, they aren't required to wait for the full 300 sections to be downloaded.</p>
<p style="text-align: right;"><a title="Modular Apps Are Easier Than You Think...." href="http://www.exit12.org/archives/28">Modular Apps Are Easier Than You Think...</a></p>
<h2><strong>RSLs (Runtime Shared Libraries)</strong></h2>
<p>You can create shared libraries for anything from Flash components, the Flex Framework, or your custom Flex Library Projects. I like to have libraries containing my components. If I have a site that has custom components, I will split them up by category so I'll have one Flex Library Project for my Bussiness Accounts and one for my Users. So If I'm creating a admin interface module for the users, I'll add that library as a RSL. Then If I'm creating the user interface module for the user to update their information. I will link that module to the same RSL. What does this do? basically the components are not including in the modules SWFs. They are still registered which adds some size to the final SWF but it doesn't actually include the components. Adobe also has a new thing for Adobe Signed RSLs. also known as SWZ files. You can have your Flex framework linked in as a SWZ. What this does is, when the user starts your app it informs the player of which Flex framework version is required for your app to run. If the user has downloaded this Adobe Signed SWZ before they won't have to download it again, else it will download it for them and store it in a none browser specific cache. Meaning even if the user downloaded the framework for a yahoo website using IE, they can use it for your site using Firefox.</p>
<p style="text-align: right;">Coming Soon: Information on Setting up RSLs</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exit12.org/archives/27/feed</wfw:commentRss>
		</item>
		<item>
		<title>Plex Web Services are Sweet!!!</title>
		<link>http://www.exit12.org/archives/25</link>
		<comments>http://www.exit12.org/archives/25#comments</comments>
		<pubDate>Thu, 26 Jun 2008 13:45:45 +0000</pubDate>
		<dc:creator>sean</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Plex]]></category>

		<category><![CDATA[JSON]]></category>

		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.exit12.org/?p=25</guid>
		<description><![CDATA[
First off, I'm a huge fan of frameworks, I love to tinker and explore through other frameworks, I think some of the best php code is often found in frameworks and their libraries. I also found that I really liked different things from different frameworks. So I set out on a mission to create a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.exit12.org/wp-content/uploads/2008/06/dataflow.png"><img class="alignnone size-full wp-image-26" title="Plex Data Flow" src="http://www.exit12.org/wp-content/uploads/2008/06/dataflow.png" alt="" width="100%" /></a></p>
<p>First off, I'm a huge fan of frameworks, I love to tinker and explore through other frameworks, I think some of the best php code is often found in frameworks and their libraries. I also found that I really liked different things from different frameworks. So I set out on a mission to create a very Rapid Development Framework that was also expandable enough for major websites and applications. That's where Plex comes in I started with a similar directory structure as Codeignighter, which is one of my favorite frameworks. I then used a similar Yaml config setup as Symphony, another favorite of mine.  I then added my own logic from past projects I've created, which included my DB abstraction classes and my web services classes, Jax and Jaxson. When I was all done, I had create a very fast pace development server that was excellent for a web service server used in JS(Ajax) apps, Flash, and Flex Apps as well. The biggest key was the way the services are written, and the DB_Model_Generator.php file.</p>
<p>So to create a feed from the database server to say your flex app all you have to do is open the DB_Model_Generator.yml file and add these lines.</p>
<p><span id="more-25"></span></p>
<pre class="javascript">tableName:
  add:generate
  update:generate
  Web_Services:
    add:<span style="color: #003366; font-weight: bold;">True</span>
    update:<span style="color: #003366; font-weight: bold;">True</span>
    search:<span style="color: #003366; font-weight: bold;">True</span></pre>
<p>Then run the /bin/DB_Model_Generator.php file to create your Database Model file /model/tableName.php and create 3 web services</p>
<ul>
<li>/Handler/Web_Service/Add.php</li>
<li>/Handler/Web_Service/Update.php</li>
<li>/Handler/Web_Service/Search.php</li>
</ul>
<p>To test out your Web Services go to http://www.yoursite.com/Jax/Service/tableName.Search and see if you get any errors, if not your good. Cool thing about how the web services work is that are agnostic to language meaning, you can access the same feed either in XML format(Jax) or JSON format(Jaxson), you could also create your own custom one, say to work with the Yaml format just by creating a new Classs similar to /lib/Jax.php or /lib/Jaxson.php</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exit12.org/archives/25/feed</wfw:commentRss>
		</item>
		<item>
		<title>Plex - PHP Framework</title>
		<link>http://www.exit12.org/archives/24</link>
		<comments>http://www.exit12.org/archives/24#comments</comments>
		<pubDate>Tue, 29 Apr 2008 19:45:26 +0000</pubDate>
		<dc:creator>sean</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.exit12.org/archives/24</guid>
		<description><![CDATA[Plex is almost public, just finalizing a couple more things.
For you who don't know already, Plex Kicks Ass, It's a cool new PHP Framework that makes the busywork done, so you can get down to bussiness and do what you love, CODE!
]]></description>
			<content:encoded><![CDATA[<p>Plex is almost public, just finalizing a couple more things.</p>
<p>For you who don't know already, Plex Kicks Ass, It's a cool new PHP Framework that makes the busywork done, so you can get down to bussiness and do what you love, CODE!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exit12.org/archives/24/feed</wfw:commentRss>
		</item>
		<item>
		<title>Twinkle - Bebo/Facebook Application</title>
		<link>http://www.exit12.org/archives/23</link>
		<comments>http://www.exit12.org/archives/23#comments</comments>
		<pubDate>Tue, 29 Apr 2008 19:43:55 +0000</pubDate>
		<dc:creator>sean</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.exit12.org/archives/23</guid>
		<description><![CDATA[So, I finally decided to add some third party apps to my Iphone. Thanks to the help of ZIphone it was pretty easy to do, just don't change the root password, You'll wish you didn't... But I found an app called Twinkle, it basically is a twitter client that adds your current location and you [...]]]></description>
			<content:encoded><![CDATA[<p>So, I finally decided to add some third party apps to my Iphone. Thanks to the help of ZIphone it was pretty easy to do, just don't change the root password, You'll wish you didn't... But I found an app called Twinkle, it basically is a twitter client that adds your current location and you can take a photo with the iphone and attach it. Which I think is cool. So I'm learning the facebook/bebo app sdk, which looks really simple. Going with the php one, since that's my fortay. I have a rough prototype up, that basically list your recent posts and shows a thumbnail of the the larger image.</p>
<p>The plan now is to to cache the thumbnails and cache the rss calls at least 1/minute, do to twitter's api restrictions which are 70 calls per Hour.</p>
<p>I'll post more info, link, screenshots when I'm a little further along with the app...</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exit12.org/archives/23/feed</wfw:commentRss>
		</item>
		<item>
		<title>E-Text Editor</title>
		<link>http://www.exit12.org/archives/22</link>
		<comments>http://www.exit12.org/archives/22#comments</comments>
		<pubDate>Sun, 24 Feb 2008 18:24:02 +0000</pubDate>
		<dc:creator>sean</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.exit12.org/archives/22</guid>
		<description><![CDATA[For the longest time I've used Zend's IDE for editing my code. Overall its a great a great editor and for large custom projects I highly recommend its use but for lightweight scripts I've found a new solution. The E-Text Editor is a very lightweight editor that opens fast and uses much less memory than [...]]]></description>
			<content:encoded><![CDATA[<p>For the longest time I've used Zend's IDE for editing my code. Overall its a great a great editor and for large custom projects I highly recommend its use but for lightweight scripts I've found a new solution. The E-Text Editor is a very lightweight editor that opens fast and uses much less memory than a full blown IDE like Zend's. The developer's goal when it was creative was two things. First to show off the developer's new history/changes logging system, which by the way is very impressive and rivals if not surpasses the likes off svn and cvs, but for a more individual objective. Your able to see all your changes in a tree-like interface. The second goal was to emulate and work with one of the more popular editors out there today, the mac only Textmate. E is able to use most of Textmate's bundles which make it an out of the box powerhouse for not only your code of choice, PHP in my case, but it supports about 40 languages by default. A lot of projects maintain there own bundles. One of the top of my head is Mootools, which by the way is the best javascript framework out there IMHO. E by its self has a small footprint but to get the full arsenal of features you need to install cwygwin, which can be installed in a shared environent or can be statically downloaded. E has a automatic Download and install wizard to simplify this.</p>
<p>So if your looking for a lightweight editor, a multi-language editor, a windows version of the ever popular textmate, or just a kickass editor, you should really give E a look.</p>
<p><a href="http://www.e-texteditor.com/">http://www.e-texteditor.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.exit12.org/archives/22/feed</wfw:commentRss>
		</item>
		<item>
		<title>In response to &#8220;I think frameworks are dumb&#8221;</title>
		<link>http://www.exit12.org/archives/21</link>
		<comments>http://www.exit12.org/archives/21#comments</comments>
		<pubDate>Wed, 23 Jan 2008 04:20:55 +0000</pubDate>
		<dc:creator>sean</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.exit12.org/archives/21</guid>
		<description><![CDATA[With the invent of __autoload() it takes away plenty of bloat, and they  can be very lean, and mean machines. They can save you plenty of time.  In fact they actually are better because you can work on optimizing your  objects extremely well without having to update 100x different objects  because [...]]]></description>
			<content:encoded><![CDATA[<p>With the invent of __autoload() it takes away plenty of bloat, and they  can be very lean, and mean machines. They can save you plenty of time.  In fact they actually are better because you can work on optimizing your  objects extremely well without having to update 100x different objects  because you are rewriting everything from scratch... Also make upgrading  a breeze...</p>
<p>I would also suggest them in a large workgroup, where your always adding  to the project, a good mvc framework will save you plenty down the road,  doing everything completely custom for right now is IMHO not a good way  to work, because it makes it much more difficult of a upgrade later. Even for  a small, quick and dirty jobs I still like to use my framework, to save  time, and ditch the learning curve of new objects. I can open any one of my  projects and immediately know what's happening without having to  remember how I created this wheel vs. my other ones. With a solid  framework you can use the brawn of a 900 pound gorilla in your little  mouse of a project. Which can help with anything from securing, optimizing, and simplifying your code. It's kinda like  having a sudo development team. People spend hours on optimizing,  testing, benchmarking, and securing every bit of code in frameworks. Its  a valuable resource, why waste it...</p>
<p>Also, I've looked at many, many different frameworks, built my own, and  contributed to others. And I can easily say that the code involved with  frameworks is some of the most sophisticated, optimized, and  cutting-edge stuff you will ever see in a php project these days. Good  programmers can write up a site, but only Great programmers can create a  framework they are willing to use more than once...</p>
<p>Just my 2 cents...</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exit12.org/archives/21/feed</wfw:commentRss>
		</item>
		<item>
		<title>Hehe</title>
		<link>http://www.exit12.org/archives/20</link>
		<comments>http://www.exit12.org/archives/20#comments</comments>
		<pubDate>Fri, 18 Jan 2008 02:07:48 +0000</pubDate>
		<dc:creator>sean</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.exit12.org/archives/20</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><img align="middle" alt="Exit 12" title="Exit 12" src="http://skyseek.com/exit12.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.exit12.org/archives/20/feed</wfw:commentRss>
		</item>
		<item>
		<title>yum install freedom_from_installing_dependencies</title>
		<link>http://www.exit12.org/archives/11</link>
		<comments>http://www.exit12.org/archives/11#comments</comments>
		<pubDate>Wed, 17 Oct 2007 15:45:33 +0000</pubDate>
		<dc:creator>sean</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.exit12.org/archives/11</guid>
		<description><![CDATA[If you've never heard of yum, your probably overwork, and you should be. Installing programs on linux can sometimes be a huge undertaking. Whether you install from source code or you install using some fancy rpms, your going to run into dependencies, and requirements. Thats were yum comes in handy, you say install and it [...]]]></description>
			<content:encoded><![CDATA[<p>If you've never heard of yum, your probably overwork, and you should be. Installing programs on linux can sometimes be a huge undertaking. Whether you install from source code or you install using some fancy rpms, your going to run into dependencies, and requirements. Thats were yum comes in handy, you say install and it not only install your program but all the dependencies required for it. Its a beautiful thing. So I thought I'd run you down on how to use how as a client, installing, updating, removing programs, But also how to set up your own repository, which by the way is where yum gets its packages to install from.</p>
<p><strong>Yum - The Client</strong></p>
<p>The great things about yum, is it's so easy. say you want to install php, just do something like this.</p>
<blockquote><p>yum install php</p></blockquote>
<p>Its that easy. Yum will then build a list of requirements (if any) and give you a list of what going to be installed, then you can say yes, or no. Now lets say you want to install multiple programs. Like for instance php, mysql, and apache's web server. Just added spaces in between the names like so.</p>
<blockquote><p>yum install php mysql httpd php-mysql</p></blockquote>
<p>And again it will throw together a list and the whole yes/no thing. Updating is just as easy you just replace the word install with update,</p>
<blockquote><p>yum update php</p></blockquote>
<p>And yum will go and try to find a newer version and build a list of dependencies for the new version if any. Now if you want to update your entire system just type</p>
<blockquote><p>yum update</p></blockquote>
<p>Yum will then try to update as much as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exit12.org/archives/11/feed</wfw:commentRss>
		</item>
		<item>
		<title>Thank you Webpipe</title>
		<link>http://www.exit12.org/archives/16</link>
		<comments>http://www.exit12.org/archives/16#comments</comments>
		<pubDate>Fri, 10 Aug 2007 01:45:14 +0000</pubDate>
		<dc:creator>sean</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.exit12.org/archives/16</guid>
		<description><![CDATA[So, tonight we moved are server out of the basement of our house to a ISP in Odgen, Utah. There hooking us a up a good connection because of the 2 non-profit websites we run.
http://www.fearyoucanhear.com
http://www.goodmonkeys.com
So now we have a huge pipe and unlimited bandwidth. Hopefully you can notice a difference.
Thanks Webpipe
]]></description>
			<content:encoded><![CDATA[<p>So, tonight we moved are server out of the basement of our house to a ISP in Odgen, Utah. There hooking us a up a good connection because of the 2 non-profit websites we run.</p>
<p><a href="http://www.fearyoucanhear.com">http://www.fearyoucanhear.com</a></p>
<p><a href="http://www.goodmonkeys.com">http://www.goodmonkeys.com</a></p>
<p>So now we have a huge pipe and unlimited bandwidth. Hopefully you can notice a difference.</p>
<p>Thanks Webpipe</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exit12.org/archives/16/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
