<?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>Ajax Bestiary &#187; Php Object Generator</title>
	<atom:link href="http://www.ajaxbestiary.com/tag/php-object-generator/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ajaxbestiary.com</link>
	<description>AJAX Development, News, Techniques &#38; More</description>
	<lastBuildDate>Wed, 01 Feb 2012 12:46:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Building an application with extjs and POG part 2: The Data Model</title>
		<link>http://www.ajaxbestiary.com/2007/09/19/building-an-application-with-extjs-and-pog-part-2-the-data-model/</link>
		<comments>http://www.ajaxbestiary.com/2007/09/19/building-an-application-with-extjs-and-pog-part-2-the-data-model/#comments</comments>
		<pubDate>Wed, 19 Sep 2007 11:39:39 +0000</pubDate>
		<dc:creator>Don Albrecht</dc:creator>
				<category><![CDATA[extjs]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Php Object Generator]]></category>

		<guid isPermaLink="false">http://www.ajaxbestiary.com/2007/09/19/building-an-application-with-extjs-and-pog-part-2-the-data-model/</guid>
		<description><![CDATA[In part one we discussed the general layout and design of the application. In this chapter we will build the server side in the storage for the application using the powerful PHP object generator (POG). To get started with POG point your web browser to www.phpobjectgenerator.com and fill out the form to create each of [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>In <a href="http://www.ajaxbestiary.com/2007/09/04/building-an-ajax-application-with-pog-and-extjs-part-1-the-setup/">part one</a> we discussed the general layout and design of the application.  In this chapter we will build the server side in the storage for the application using the powerful PHP object generator (POG).</p>
<p><span id="more-41"></span></p>
<p>To get started with POG point your web browser to <a href="http://phpobjectgenerator.com">www.phpobjectgenerator.com</a> and fill out the form to create each of your objects. Download the zip file provided for each object you create. <em> Note: The zip files may not open properly in Mac OS X</em></p>
<p>To get things started here are the objects for the current project.</p>
<p><a href="http://www.phpobjectgenerator.com/?language=php5&amp;wrapper=pog&amp;objectName=Feature&amp;attributeList=array+%28%0A++0+%3D%3E+%27Task%27%2C%0A++1+%3D%3E+%27label%27%2C%0A%29&amp;typeList=array+%28%0A++0+%3D%3E+%27HASMANY%27%2C%0A++1+%3D%3E+%27VARCHAR%28255%29%27%2C%0A%29" target="_blank"><img src="http://www.ajaxbestiary.com/wp-content/uploads/2007/09/feature.jpg" style="border: 0px none ; margin: 18px 35px 18px 30px" alt="Feature" border="0" height="634" width="414" /></a></p>
<p><img src="http://www.ajaxbestiary.com/wp-content/uploads/2007/09/role.jpg" style="border: 0px none ; margin: 18px 35px 18px 30px" alt="Role" border="0" height="292" width="419" /><a href="http://www.phpobjectgenerator.com/?language=php5&amp;wrapper=pog&amp;objectName=Task&amp;attributeList=array+%28%0A++0+%3D%3E+%27label%27%2C%0A++1+%3D%3E+%27User%27%2C%0A++2+%3D%3E+%27originalEst%27%2C%0A++3+%3D%3E+%27currentEst%27%2C%0A++4+%3D%3E+%27completed%27%2C%0A++5+%3D%3E+%27Feature%27%2C%0A%29&amp;typeList=array+%28%0A++0+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++1+%3D%3E+%27BELONGSTO%27%2C%0A++2+%3D%3E+%27INT%27%2C%0A++3+%3D%3E+%27INT%27%2C%0A++4+%3D%3E+%27INT%27%2C%0A++5+%3D%3E+%27BELONGSTO%27%2C%0A%29"><img src="http://www.ajaxbestiary.com/wp-content/uploads/2007/09/task.jpg" style="border: 0px none ; margin: 18px 30px" alt="Task" border="0" height="425" width="417" /></a> <img src="http://www.ajaxbestiary.com/wp-content/uploads/2007/09/user.jpg" style="border: 0px none ; margin: 18px 30px 18px 0px" alt="User" border="0" height="455" width="419" /><br />Now, unzip all of the POG zip files into the same directory in your development server.  It will gripe about overwriting some files each time, that&#8217;s ok.  The /objects folder should now contain the following files.</p>
<ul>
<li><font color="#333333">class.database.php</font></li>
<li><font color="#333333">class.feature.php</font></li>
<li><font color="#333333">class.pog_base.php</font></li>
<li><font color="#333333">class.role.php</font></li>
<li><font color="#333333">class.task.php</font></li>
<li><font color="#333333">class.user.php</font></li>
<li><font color="#333333">ignore_objects.txt</font></li>
</ul>
<p>Now we need to get the Database in on the action.  Go to your local MySQL installation and create a new database, user &amp; password with full schema permissions.  Edit the configuration.php file located in the POG root and change the following lines to match your database settings.</p>
<p>$configuration['db']    = &#8216;pogext&#8217;;         //    database name<br />
$configuration['host']    = &#8216;localhost&#8217;;    //    database host<br />
$configuration['user']    = &#8216;username&#8217;;        //    database user<br />
$configuration['pass']    = &#8216;password&#8217;;        //    database password<br />
$configuration['port']     = &#8217;3306&#8242;;        //    database port</p>
<p>You also need to change the very last line of the file to point to the POG plugins directory.  On my dev machine it was:</p>
<p>$configuration['plugins_path'] = &#8216;C:\xampp\htdocs\extjs\plugins&#8217;;</p>
<p>At this point, pog is ready tor run and create our database.  Point a webbrowser to the /setup directory and hit the big POG ME UP button.  This will create all of our database tables and provide us with a temporary scaffold interface for entering data.</p>
<p>Next Time We&#8217;ll start using POG to build the login and authentication systems.</p>
<p><img src="http://www.ajaxbestiary.com/?voyeur=1"></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxbestiary.com/2007/09/19/building-an-application-with-extjs-and-pog-part-2-the-data-model/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building an AJAX application with POG and ExtJS: Part 1 -the setup</title>
		<link>http://www.ajaxbestiary.com/2007/09/04/building-an-ajax-application-with-pog-and-extjs-part-1-the-setup/</link>
		<comments>http://www.ajaxbestiary.com/2007/09/04/building-an-ajax-application-with-pog-and-extjs-part-1-the-setup/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 14:02:51 +0000</pubDate>
		<dc:creator>Don Albrecht</dc:creator>
				<category><![CDATA[extjs]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Blueprint]]></category>
		<category><![CDATA[css frameworks]]></category>
		<category><![CDATA[Php Object Generator]]></category>

		<guid isPermaLink="false">http://www.dademsolutions.com/ajaxbeast/2007/09/04/building-an-ajax-application-with-pog-and-extjs-part-1-the-setup/</guid>
		<description><![CDATA[This is part one of a multipart tutorial on AJAX application construction. Today we will be building a Software Project Scheduling application based on Joel Spolsky&#8217;s Painless Software Schedules system. The application will be built using the Php Object Generator, and ExtJS Framework. Step 1, The design. Although the overall principles of the design are [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>This is part one of a multipart tutorial on AJAX application construction.  Today we will be building a Software Project Scheduling application based on Joel Spolsky&#8217;s <a href="http://www.joelonsoftware.com/articles/fog0000000245.html">Painless Software Schedules</a> system.</p>
<p>The application will be built using the Php Object Generator, and ExtJS Framework.</p>
<p><span id="more-21"></span></p>
<p><span style="font-weight: bold">Step 1, The design.</span></p>
<p>Although the overall principles of the design are derived from Joel&#8217;s Essay,  The following highly simplified use cases will explain how they are used in our final application.</p>
<ol>
<li>Project Designer:  The original designer of the project breaks tasks down into atomic units and adds them to the schedule.  These tasks are all believed to be between 2 &amp; 16 hours of work.</li>
<li>Boss Type Person:  He is responsible for herding the developers to a consistent goal and end.  He logs into the system and views reports on project status.  He knows what the developers are doing, how long the project is currently estimated to take and has access to various reports on the project to appease his stake holders.  He&#8217;s also the one responsible for assigning developers to tasks.</li>
<li>Developers:  They are responsible for actually doing the work.  They generate &amp; update time estimates, write code &amp; further atomize tasks.</li>
</ol>
<p>In practice, the workflow is something like this.</p>
<p>Some PHB tasks Janette the software designer with designing a whizbang new Web 2.0 social networking application for tracking all sightings of lime green ford bronco&#8217;s in a tristate area.  She does some research and writes a detailed project specification for the program.  She enters all of the various tasks into the task tracking system.  Just before jetting off to Barbados for a month of drinks served in coconuts and snorkeling, she sends the Word file to her boss as an email attachment and lets him know that the project is in the system.</p>
<p>The PHB spends all day Friday looking over the spec &amp; task list and starts assigning all of the various tasks to his developers through the system.</p>
<p>When the developers come in on monday, they grumble and groan and start filling in their time estimates for the various tasks they were assigned.  Developer Joe discovers that task number 253, &#8220;Hack into government spy satellite and upload macro to automatically track all lime green objects entering the tristate area&#8221;  is a bit too complex to be implemented as a single task.  Instead, he breaks it down into 37 subtasks and sends the revision to the PHB.</p>
<p>The PHB approves the change.</p>
<p>Once the initial estimates are in the system, The PHB is happy with the 90 day development cycle and developers get to work.  After 3 weeks of coding however, Developer Sarah discovers that her task (plot all lime green broncos on a map), is taking significantly longer than was originally estimated.  She adds the needed 480 hours to the schedule.</p>
<p>A week later, the PHB suddenly discovers that the project estimate has been delayed 3 months.  He looks through the assigned tasks and spots the problem.  Since map plotting is crucial to the success of the project but the delay is unacceptable he begins reassigning uncompleted tasks to other developers and reduces the delay to 6 weeks.  Since the 6 week delay is still unacceptable, he begins looking for features to cut.  In a Eureka moment, he realizes that utilizing CIA property is a bad idea and he drops task 253 and shuffles developers around a bit more.  He gets the delay down to 2 weeks and everyone is happy.</p>
<p><span style="font-weight: bold">The actual application will consist of 5 screens &amp; a Desktop Widget:</span></p>
<ol>
<li>Login</li>
<li>Task View</li>
<li>Reports</li>
<li>User management</li>
<li>Options</li>
</ol>
<p><span style="font-weight: bold">Getting Started<br />
</span><br />
This project will require that you have access to the following:</p>
<ul>
<li>LAMP server for testing.  <a href="http://www.apachefriends.org/en/xampp.html">I recommend XAMPP</a></li>
<li>Text Editor/ Development Environment for PHP, HTML, Javascript, CSS. <a href="http://www.aptana.com/">I recommend Aptana.</a></li>
<li>Internet Connection</li>
<li>Zip utility ( needed for downloads &amp; POG objects.  POG objects may not unzip in OSX ).</li>
<li>Local copy of ExtJS 1.1</li>
<li>Local copy of Blueprint CSS</li>
</ul>
<p><img src="http://www.ajaxbestiary.com/?voyeur=1"></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxbestiary.com/2007/09/04/building-an-ajax-application-with-pog-and-extjs-part-1-the-setup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

