<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Pavlova Bakery</title>
	<atom:link href="http://pavbaker.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pavbaker.wordpress.com</link>
	<description>My personal notes on baking with CakePHP</description>
	<lastBuildDate>Mon, 16 May 2011 12:29:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='pavbaker.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Pavlova Bakery</title>
		<link>http://pavbaker.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://pavbaker.wordpress.com/osd.xml" title="Pavlova Bakery" />
	<atom:link rel='hub' href='http://pavbaker.wordpress.com/?pushpress=hub'/>
		<item>
		<title>A few views on the database</title>
		<link>http://pavbaker.wordpress.com/2008/01/26/a-few-views-on-the-database/</link>
		<comments>http://pavbaker.wordpress.com/2008/01/26/a-few-views-on-the-database/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 00:53:32 +0000</pubDate>
		<dc:creator>pavbaker</dc:creator>
				<category><![CDATA[Basics]]></category>
		<category><![CDATA[Concepts]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://pavbaker.wordpress.com/?p=9</guid>
		<description><![CDATA[In this post we are going to add a &#8216;users&#8217; table to our MySQL schema &#8216;aa01&#8242; and create a data model, a controller and some views. Currently, if we load the URL http://localhost/aa01/index.php a Welcome page is displayed and the messages are mainly green, signifying all is well with our &#8216;aa01&#8242; project. Now, if we [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=9&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this post we are going to add a &#8216;users&#8217; table to our MySQL schema &#8216;aa01&#8242; and create a data model, a controller and some views.</p>
<p>Currently, if we load the URL <i>http://localhost/aa01/index.php </i>a Welcome page is displayed and the messages are mainly green, signifying all is well with our &#8216;aa01&#8242; project.  Now, if we type <i>http://localhost/aa01/index.php/users</i> or <i>http://localhost/aa01/index.php/login, </i>all hell breaks loose, the messages turn red, signifying not so well.  Read messages carefully as they show a lot of info.</p>
<p><b>Users table</b></p>
<p>Let&#8217;s add the users table. Get into MySQL and run the following script. The minimum fields we need are id, username and password.</p>
<div style="border:1px solid;background:lightgrey none repeat scroll 0 50%;">
<pre>DROP TABLE IF EXISTS `aa01`.`users`;
CREATE TABLE  `aa01`.`users` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `username` varchar(45) NOT NULL,
  `firstname` varchar(45) default NULL,
  `lastname` varchar(45) default NULL,
  `active` tinyint(1) NOT NULL default '0',
  `email` varchar(100) default NULL,
  `password` varchar(40) default NULL,
  `randomsalt` varchar(40) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB;</pre>
</div>
<p>While you&#8217;re in MySQL, add a couple of users like Joe, password &#8216;joe08&#8242; and Jane with a password of &#8216;jane08&#8242; just for testing.</p>
<p><b>Bake Model </b></p>
<p>Back to our staple comand line.  Run <i>cake bake -app aa01</i> again.  A console command line shows asking what next.</p>
<p>Select &#8216;M&#8217; for model, &#8217;1&#8242; for the User model. Enter validation &#8216;alphanumeric&#8217; for username and password. Skip model associations and press OK. The file \aa01\models\user.php will be created.</p>
<p>Note that the Bake console times out after 300 seconds, so if you take too long, you have to start again. Also action any requests for test file generation, so in the future you might test your project.</p>
<p><b>Bake Controller </b></p>
<p>Back to our staple comand line.  Run <i>cake bake -app aa01</i> again.  A console command line shows asking what next.</p>
<p>Select &#8216;C&#8217; for controller, &#8217;1&#8242; for the Users model. Select &#8216;Interactively&#8217;, skip &#8216;Scaffolding&#8217;, include basic class methods. Skip admin routing, other helpers, components. Yes to using Sessions and press OK. The file \aa01\controllers\users_controller.php will be created.</p>
<p><b>Bake Views </b></p>
<p>Last in this baking series is to bake the simple views Index, Add, Delete and View.  Back to the trusty bake command.</p>
<p>Select &#8216;V&#8217; for Views, &#8217;1&#8242; for Users model, Interactively, Yes to scaffolded basic views, No to admin routing, OK to create.</p>
<p><b>Some local tests</b></p>
<p>Try the URLs below;</p>
<p><i>http://localhost/aa01/index.php </i>- Shows Welcome page<i><br />
</i></p>
<p><i>http://localhost/aa01/index.php/users</i> &#8211; Lists users<i><br />
</i></p>
<p><i>http://localhost/aa01/index.php/users/add</i>- Add a user</p>
<p><i>http://localhost/aa01/index.php/users/delete</i> &#8211; fails to delete, lists users</p>
<p><i>http://localhost/aa01/index.php/users/list</i> &#8211; fails</p>
<p><i>http://localhost/aa01/index.php/users/edit</i> &#8211; fails to edit, lists users<i><br />
</i></p>
<p><i>http://localhost/aa01/index.php/users/view</i> &#8211; fails to view, lists users</p>
<p><i>http://localhost/aa01/index.php/users/login</i> &#8211; fails</p>
<p><i>http://localhost/aa01/index.php/users/logout</i> &#8211; fails</p>
<p><i>http://localhost/aa01/index.php/users/register</i> &#8211; fails</p>
<p><b>Almost finished </b></p>
<p>Now we have users loaded in the database, a basic working front end to our project (except login / logout / register) where we can add / delete / edit / list users. Go on, try adding, editing and deleting some users. Try silly things like submitting the add form with no username, watch for error messages.</p>
<p>The whole CakePHP process was simple after all, wasn&#8217;t it?<br />
Next  post is login / logout /register.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pavbaker.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pavbaker.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pavbaker.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pavbaker.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pavbaker.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pavbaker.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pavbaker.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pavbaker.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pavbaker.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pavbaker.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pavbaker.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pavbaker.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pavbaker.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pavbaker.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pavbaker.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pavbaker.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=9&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pavbaker.wordpress.com/2008/01/26/a-few-views-on-the-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cc8e5cf5b9ad3c24773d33c5b896bdc2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">pavbaker</media:title>
		</media:content>
	</item>
		<item>
		<title>Connecting to the database</title>
		<link>http://pavbaker.wordpress.com/2008/01/26/connecting-to-the-database/</link>
		<comments>http://pavbaker.wordpress.com/2008/01/26/connecting-to-the-database/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 18:46:02 +0000</pubDate>
		<dc:creator>pavbaker</dc:creator>
				<category><![CDATA[Basics]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://pavbaker.wordpress.com/2008/01/21/connecting-to-the-database/</guid>
		<description><![CDATA[Recapping what&#8217;s been done so far; Downloaded latest CakePHP v1.2.0.6311 Unzipped into folder as \htdocs\cake12 Baked project files into into my project folder \htdocs\aa01 Removed all .htaccess files When the basic files were baked at the command prompt (see last post) , a number of things were actioned inside your project files. These are Created [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=6&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><b>Recapping</b> what&#8217;s been done so far;</p>
<ul>
<li> Downloaded latest CakePHP v1.2.0.6311</li>
<li> Unzipped into folder as <i>\htdocs\cake12</i></li>
<li>Baked project files into into my project folder <i>\htdocs\aa01</i></li>
<li> Removed all .htaccess files</li>
</ul>
<p>When the basic files were baked at the command prompt (see last post) , a number of things were actioned inside your project files. These are</p>
<ul>
<li>Created a Welcome page <i></i></li>
<li>Created a new hash key</li>
<li>Altered the path to show where the core Cake files reside</li>
</ul>
<p><b>Connecting to the database</b></p>
<p>Get into MySQL create a user with Select, Insert, Delete, Read, Create and Drop rights. Create a schema called &#8216;aa01&#8242;, matching the project name. Give the user rights to the newly created schema. I use a user called &#8216;fred&#8217;, password of &#8216;shhh&#8217; for all local projects whilst testing &#8211; makes it real easy.<br />
Next, the project needs to link to the MySQL database, so what we do is run the bake project comand line again. Exactly the same command string as previously. On the second pass, the console looks for the database. Enter the schema name and the user name and password. Cake copies the file <i>\aa01\config\database.php.default</i>, loads your newly entered details and saves it as  <i>\aa01\config\database.php.  </i></p>
<p><b>Opening the project</b></p>
<p>At this stage we should be able to open the Cake application and see whether it all works. The URL to use points at my separate project folder <i>\htdocs\aa01</i> as below<br />
<i>http://localhost/aa01/index.php</i></p>
<p>When I try this URL, the Welcome screen from within the depths of the project at <i>\aa01\views\pages\home.ctp</i> is generated and it displays a series of messages, some of which might need slight fixups. Below are notes on each of these possible issues, noting that none or some may require a fixup in your project.</p>
<p><b> Issue 1</b> &#8211; Cake reports it is unable to locate the core files<br />
The project file detailing where all the folders and files are located is <i>\aa01\webroot\index.php</i>.  The first bake pass modified this file and loaded the path to the core Cake build files at <i>\htdocs\cake12</i> into a variable called CAKE_CORE_INCLUDE_PATH. There are two other variables that I manually modify in this file &#8211; they are ROOT and APP_DIR. An excerpt from the modified <i>index.php</i> is below, starting at Line 35.</p>
<div style="border:1px solid;background:lightgrey none repeat scroll 0 50%;">
<pre>/**
 * These defines should only be edited if you have cake installed in
 * a directory layout other than the way it is distributed.
 * Each define has a commented line of code that explains what you would change.
 */
if (!defined('ROOT')) {
	//define('ROOT', 'FULL PATH TO DIRECTORY
            WHERE APP DIRECTORY IS LOCATED.
            DO NOT ADD A TRAILING DIRECTORY SEPARATOR');
	//You should also use the DS define to separate your directories
	//define('ROOT', dirname(dirname(dirname(__FILE__))));
	define('ROOT', 'c:\apache224\htdocs');
}
if (!defined('APP_DIR')) {
	//define('APP_DIR', 'DIRECTORY NAME OF APPLICATION');
	//define('APP_DIR', basename(dirname(dirname(__FILE__))));
	define('APP_DIR', 'aa01');
}
/**
 * This only needs to be changed if the cake installed libs are located
 * outside of the distributed directory structure.
 */
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
	//define ('CAKE_CORE_INCLUDE_PATH', 'FULL PATH TO DIRECTORY
                WHERE CAKE CORE IS INSTALLED.
                DO NOT ADD A TRAILING DIRECTORY SEPARATOR');
	//You should also use the DS define to separate your directories
	//define('CAKE_CORE_INCLUDE_PATH', ROOT);
	define('CAKE_CORE_INCLUDE_PATH', 'c:\apache224\htdocs\cake12');
}</pre>
</div>
<p>On completion of the above changes/additions, reload the URL and see that the various messages re the lack of the core files have gone.</p>
<p><b>Issue 2</b> &#8211; A message re Security.salt shows as below.</p>
<div style="border:1px solid;background:lightgrey none repeat scroll 0 50%;">
<pre>Notice (1024): Please change the value of 'Security.salt'
in aa01/config/core.php to a salt value specific to your application
[CORE\cake\libs\debugger.php, line 535]</pre>
</div>
<p>The security salt is used for generating hashes, particularly for password security. The Cake build has a default salt which should be changed otherwise there is the potential that another site with the same build and thus the same default salt could be well on the way to crack your passwords. Note that the first Cake bake pass should have modified this salt, but you can manually change it. Sometimes I manually generate a project salt based on the project name and build version so that I can check it during subsequent processing.<br />
Change one or more characters of the salt or generate yourself a completely new salt. Use something like echo sha1(&#8216;my own security salt string&#8217;) and copy the 40 character hashed string. The security.salt is stored in \htdocs\aa01\config\core.php at around line 153.</p>
<p>Once you&#8217;ve done that, reload the URL and see that the message re the salt has gone.</p>
<p><b>Issue 3</b> &#8211; Screen is a plain vanilla webpage with browser default colours of say black text and a few coloured hyperlinks. Got a fix for that too &#8211; the .htaccess files I removed apparently cause that because Cake can no longer find its CSS file at <i>\htdocs\aa01\app\webroot\css</i>. The message is below from around line 48 of <i>\htdocs\aa01\congfig\core.php</i></p>
<div style="border:1px solid;background:lightgrey none repeat scroll 0 50%;">
<pre>/**
 * To configure CakePHP *not* to use mod_rewrite and to
 * use CakePHP pretty URLs, remove these .htaccess
 * files:
 *
 * /.htaccess
 * /app/.htaccess
 * /app/webroot/.htaccess
 *
 * And uncomment the App.baseUrl below:
 */
//Configure::write('App.baseUrl', env('SCRIPT_NAME'));</pre>
</div>
<p>What we do here is uncomment the line at the bottom, reload the URL. All should now be in glorious colour. By uncommenting line 59, Cake now has a base URL for the application, thus can find and access the CSS file, dredging up a few garish colours. Green is an OK message, yellow can be ignored and red requires fixing.</p>
<p><b> Issue 4</b> &#8211; There is a message onscreen about being unable to find a configuration file called <i>database.php</i>.  Message as below;</p>
<div style="border:1px solid;background:lightgrey none repeat scroll 0 50%;">
<pre> Your database configuration file is NOT present.</pre>
</div>
<p>Copy <i>\htdocs\aa01\config\database.php.default</i> to <i>database.php</i>. Modify this file (<i>database.php</i>) filling it with the detail needed to connect to the database, in our case MySQL. The second Cake pass should have done this (and Issue 5) operation already. Reload the URL and Issue 5 now appears.</p>
<p><b>Issue 5</b> &#8211; Cake cannot connect to the database. The database configuration file renamed at Issue 4 contains two arrays detailing how to connect to a specific database. The message displayed is below, having tried to connect and login to a MySQL database using the default array details. Note that the referenced code lines where the errors occur have nothing to do with what has to be modified to fix the issue. The joys of debugging.</p>
<div style="border:1px solid;background:lightgrey none repeat scroll 0 50%;">
<pre>Your database configuration file is present.

Warning (2): mysql_connect() [function.mysql-connect]:
Access denied for user 'user'@'localhost' (using password: YES)
[CORE\cake\libs\model\datasources\dbo\dbo_mysql.php, line 100]

Warning (2): mysql_select_db():
supplied argument is not a valid MySQL-Link resource
[CORE\cake\libs\model\datasources\dbo\dbo_mysql.php, line 105]

Cake is NOT able to connect to the database.</pre>
</div>
<p>Set the details to suit your situation in the database configuration file at <i>\htdocs\aa01\config\database.php</i>.</p>
<p>For my local development MySQL database, in all projects, I use a standard user of &#8216;fred&#8217;, password of &#8216;shhh&#8217; and the database schema name matches the project name &#8211; in this case, a database schema name of &#8216;aa01&#8242;. Note that this Joe Public user &#8216;fred&#8217; can only Select, Insert, Update and Delete within the MySQL database schema. No point in giving him elevated (more risk) rights he should never need to use, although initially I quite often add Create and Drop rights whilst I am sorting tables out. Create and Drop usually are removed before production.<br />
Reload the URL and see that the screen report states that the database configuration file is present.</p>
<p><b>Issue 6</b> &#8211; Caching is turned on and using the File Engine.</p>
<p>Now I will readily admit that here I do not fully understand the implications, but I turn off all caching. When developing, I want every URL reload to serve up a new page loaded from the server, complete with any recent modifications I might have made. In a production server, caching might be good for overall speed, as some web pages may be stored locally and not have to be reloaded across the wire, be it via a network or the Internet.</p>
<p>To kill caching, back into <i>\htdocs\aa01\app\config\core.php</i> at line 75 and uncomment the line &#8216;Configure::write(&#8216;Cache.disable&#8217;, true)&#8217;. Reload URL and see the message changes.</p>
<p><b>Summary</b></p>
<p>Note I have only addressed issues relating to my project in <i>\htdocs\aa01</i>. Similar issues still exist in the application (project) folder under the main build at <i>\htdocs\cake12\app</i>. I leave these alone, so it remains a clean master that could be used for a new project although I suspect when using Bake at the command line, these files are not used at all.<br />
I have now</p>
<ul>
<li> Loaded the latest build of CakePHP, with the project in a separate folder.</li>
<li>Told the project where specific Cake files are</li>
<li>Set our own salt for hashing</li>
<li>Turned off caching</li>
<li>Connected to a MySQL database</li>
</ul>
<p>Next I am off hopefully to create a few views.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pavbaker.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pavbaker.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pavbaker.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pavbaker.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pavbaker.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pavbaker.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pavbaker.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pavbaker.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pavbaker.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pavbaker.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pavbaker.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pavbaker.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pavbaker.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pavbaker.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pavbaker.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pavbaker.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=6&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pavbaker.wordpress.com/2008/01/26/connecting-to-the-database/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cc8e5cf5b9ad3c24773d33c5b896bdc2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">pavbaker</media:title>
		</media:content>
	</item>
		<item>
		<title>Let&#8217;s get this show on the road</title>
		<link>http://pavbaker.wordpress.com/2008/01/24/lets-get-this-show-on-the-road/</link>
		<comments>http://pavbaker.wordpress.com/2008/01/24/lets-get-this-show-on-the-road/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 23:31:59 +0000</pubDate>
		<dc:creator>pavbaker</dc:creator>
				<category><![CDATA[Basics]]></category>
		<category><![CDATA[Login]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://pavbaker.wordpress.com/2008/01/24/lets-get-this-show-on-the-road/</guid>
		<description><![CDATA[Core files Let&#8217;s unzip CakePHP and get this show on the road. Find the latest build file from CakePHP (cake v1.2 6311) and double click it to unzip it. Winzip asks for a folder to unzip into &#8211; I&#8217;m using c:\apache224\htdocs. Winzip does it thing, extracting and expanding a whole heap of files, creating a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=5&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><b>Core files</b></p>
<p>Let&#8217;s unzip CakePHP and get this show on the road.</p>
<p>Find the latest build file from CakePHP (<a href="http://cakeforge.org/frs/download.php/593/cake_1.2.0.6311-beta.zip" title="CakePHP v1.2 build 6311">cake v1.2 6311</a>) and double click it to unzip it. Winzip asks for a folder to unzip into &#8211; I&#8217;m using <i>c:\apache224\htdocs</i>. Winzip does it thing, extracting and expanding a whole heap of files, creating a folder below <i>\htdocs</i> named <i>\cake_1.2.0.6311-beta</i>, complete with a few standard Cake sub-folders underneath.</p>
<p>Rename the top folder to <i>\cake12 </i>- it is far easier to refer to this rather than the mouthfull <i>\cake_1.2.0.6311-beta</i>.</p>
<p><b>Project files </b></p>
<p>Next I&#8217;m going to get the files I need for my project into their own folder.</p>
<p>CakePHP has this neat area called the Console and what it can do has been beefed up in v1.2. The file that starts the console lives at <i>\htdocs\cake12\cake\console/</i><i>cake.bat</i>.</p>
<p>A path to the console is required to be set. Alter the path system variable at Control Panel/System/Advanced/Environment Variables/System Variables/Path to include <i>c:\apache224\htdocs\cake12\cake\console</i>.  This way cake.bat can be called from anywhere at the MS Windows command prompt.</p>
<p>Get into the MS Windows command prompt (Start/Run/cmd) .</p>
<p>Change directory to c:\apache224\htdocs.</p>
<p>Type in <i>cake bake -app aa01</i>.  Press Enter on your keyboard.</p>
<p>Cake flogs through  a series of questions, noting that it is to copy from a skeleton folder deep under <i>\cake12</i> to your project folder <i>\aa01</i>.  When you&#8217;re happy, action the copy.  I usually flag the operation for verbose output, so I can  see where things go.</p>
<p>At this stage we now have the CakePHP core files in the <i>\cake12</i> folder and our project files in the separate <i>\aa01</i> folder. Easy, wasn&#8217;t it?</p>
<p>I used <i>\aa01</i> because it sits near the top of listings. Leave the <i>\app</i> folder under the <i>\cake12</i> folder alone, you will not be using it.</p>
<p>Your directory tree could now look something like this:</p>
<div style="border:1px solid;background:lightgrey none repeat scroll 0 50%;">
<pre> /
   ...
   apache224 - this is the folder that contains
               my local Apache webserver
               for development and testing
               (v224 by the looks of it)
     ...
     htdocs  - this is the folder http://localhost lists
               when entered into a browser
               and also the folder I grab for backups
               of all my web work
       ...
       aa01 - a folder to hold my project
              (a baked project from skeleton files under \cake12)
         config
         controllers
         locale
         models
         plugins
         tests
         tmp
         vendors
         views
         webroot
       ...
       cake12 - renamed from cake_1.2.0.6311-beta
         app
         cake
         logs
         vendors
       ...
     ...</pre>
</div>
<p><b>.htaccess files</b></p>
<p>Next, there&#8217;s a few files we get rid of and a few we change.</p>
<p>On my local Apache webserver I use for development I don&#8217;t make the webserver folders secure, so I ditch the <i>.htaccess</i> files. Yes, just delete them. Be aware that some webservers like IIS may need these files to secure the folders and stop unwanted / unauthorised raw access through the direct typing of a URL.</p>
<p>On the public website, I rely on the host stopping all unauthorised access outside of the loaded folders, particularly above <i>\htdocs</i>. Most hosts control webservers carefully, your hosted site security is intricately intertwined with their overall security. Be aware that if you are using (and configuring) your own webserver for Joe Public to use, folder security is a big issue. This area is one for the experts., it is too easy to get wrong.</p>
<p>Folder security on public webservers (and networks) requires very careful consideration. I definitely take the view <i><b>&#8216;All users are evil&#8217;</b></i>. By that, I mean if you leave an opening, some sod will exploit it at the worst possible time. Users should never gain access to any file without proven authentication (except maybe the Login User or Register User views) and never be given more rights than that required to action the job in hand. Sure, they do complain that they need admin rights or whatever, just ignore it.</p>
<p>Onto the changes needed in some files. Because I want my project folder separated from the main Cake folder, the project application needs to know where the main Cake application is located. Also we need to tell the application how to connect to the MySQL database. See the next post.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pavbaker.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pavbaker.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pavbaker.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pavbaker.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pavbaker.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pavbaker.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pavbaker.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pavbaker.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pavbaker.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pavbaker.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pavbaker.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pavbaker.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pavbaker.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pavbaker.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pavbaker.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pavbaker.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=5&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pavbaker.wordpress.com/2008/01/24/lets-get-this-show-on-the-road/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cc8e5cf5b9ad3c24773d33c5b896bdc2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">pavbaker</media:title>
		</media:content>
	</item>
		<item>
		<title>The journey starts here</title>
		<link>http://pavbaker.wordpress.com/2008/01/24/the-journey-starts-here/</link>
		<comments>http://pavbaker.wordpress.com/2008/01/24/the-journey-starts-here/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 22:15:41 +0000</pubDate>
		<dc:creator>pavbaker</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Basics]]></category>
		<category><![CDATA[Concepts]]></category>

		<guid isPermaLink="false">http://pavbaker.wordpress.com/2008/01/24/the-journey-starts-here/</guid>
		<description><![CDATA[The start to *baking is to download the latest build of the platform. The one I&#8217;m using today is 1.2.0.6311 and it is downloaded from the downloads page on the CakePHP website. The file name I grabbed is cake_1.2.0.6311-beta.zip As my platform is Windows XP, I have a My Documents folder which I refer to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=4&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The start to *baking is to download the latest build of the platform. The one I&#8217;m using today is 1.2.0.6311 and it is downloaded from the downloads page on the CakePHP website. The file name I grabbed is <a href="http://cakeforge.org/frs/download.php/593/cake_1.2.0.6311-beta.zip" target="_blank">cake_1.2.0.6311-beta.zip</a></p>
<p>As my platform is Windows XP, I have a My Documents folder which I refer to as MyDocs, which if not managed with a few sub-folders it can be a dumping ground, where it is hard to find anything. All my code downloads go into MyDocs under a folder called Code. There is a sub-folder called Cake, into which I dump the zipped files of the latest version. That way, when I back up things on the laptop, I might just grab the whole MyDocs folder, or just the Code folder, and everything in it.</p>
<p>Looks a bit like this:</p>
<div style="border:1px solid;background:lightgrey none repeat scroll 0 50%;">
<pre> MyDocs
   ...
   Code
     ...
     ASP
     Cake
       ...
       cake_1.2.0.6311-beta.zip
       ...
     C#
     HTML
     PHP
     ...
   ...</pre>
</div>
<p>When I open the zip file I am going to be asked where to extract the files to. I am using the free <a href="http://www.apache.org/" target="_blank">Apache</a> webserver on my laptop, it lives at <i>c:\apache224</i>, so the structure looks like so:</p>
<div style="border:1px solid;background:lightgrey none repeat scroll 0 50%;">
<pre> /
   ...
   Apache224 - this is the folder that contains
               my local Apache webserver
               for development and testing
               (version 224 by the looks of it)
     bin
     cgi-bin
     conf
     error
     htdocs  - this is the folder http://localhost lists
               when entered into a browser
               and also the folder I grab for backups
               of all my web work
       ...
       aa01 -  my various web projects below here
       ...
       cake12
       ...
       project01
       project53
       projectxyz
       ...
       phpinfo.php
       ...
     icons
     logs
     manual
     modules
   ...</pre>
</div>
<p>Where I put the files is under the htdocs folders in a folder called <i>\cake12</i>. In Apache I have turned off the default auto open feature of index.php so I can see a listing of all my web projects when I type <i>http://localhost</i> into the browser address bar. This is my development machine, not a live public web server, so I want to see all my projects listed.</p>
<p>Some might disagree how I structure my folders. I like it this way, projects are totally separate from the <i>\cake12</i> folder because when I test publish a project to the live web site, I only want to upload changes from the project folder. When developing and testing, the project files get changed often.</p>
<p>The core cake12 files only get loaded to the live site by me when a new build is released by CakePHP and I actually download it. The core files are in a different folder under htdocs, on both the local and the live websites, so that the files can be easily changed in their respective, but separate, folders. Each site closely mirrors the other &#8211; easier to follow &#8211; the only thing that changes is the domain name. Either locally I enter say <i>http://localhost/index.php</i> or on the live site I use <i>http://mydomain.com/index.php</i>.</p>
<p>The folder I am going to use for my project is <i>\aa01</i>. It is named with a leading &#8216;aa&#8217; to present at the top of the list. This folder will be created automatically during the bake project process in the next post.<br />
Note that I also have the file <i>phpinfo.php</i> in the root of my local website &#8211; there have been a fair few number of times I have had to open this file locally to check some info about my webserver settings. Do NOT put this file on the live website, it might give a hacker too much info.Keeping it simple initially takes a little thought about the folder structure and it seems to work effectively in practice.</p>
<p>*Baking &#8211; writing code / developing an application to run on the CakePHP platform</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pavbaker.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pavbaker.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pavbaker.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pavbaker.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pavbaker.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pavbaker.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pavbaker.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pavbaker.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pavbaker.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pavbaker.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pavbaker.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pavbaker.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pavbaker.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pavbaker.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pavbaker.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pavbaker.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=4&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pavbaker.wordpress.com/2008/01/24/the-journey-starts-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cc8e5cf5b9ad3c24773d33c5b896bdc2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">pavbaker</media:title>
		</media:content>
	</item>
		<item>
		<title>Oops!  I stuffed up.</title>
		<link>http://pavbaker.wordpress.com/2008/01/21/oops-i-stuffed-up/</link>
		<comments>http://pavbaker.wordpress.com/2008/01/21/oops-i-stuffed-up/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 23:35:17 +0000</pubDate>
		<dc:creator>pavbaker</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://pavbaker.wordpress.com/2008/01/21/oops-i-stuffed-up/</guid>
		<description><![CDATA[A slight mistake in the way I was going about things. Have possibly found a better way to do things.  Have withdrawn 3x posts, revising them and will re-release them when I am convinced the new way works better. Watch this space.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=8&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A slight mistake in the way I was going about things.</p>
<p>Have possibly found a better way to do things.  Have withdrawn 3x posts, revising them and will re-release them when I am convinced the new way works better.</p>
<p>Watch this space.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pavbaker.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pavbaker.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pavbaker.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pavbaker.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pavbaker.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pavbaker.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pavbaker.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pavbaker.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pavbaker.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pavbaker.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pavbaker.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pavbaker.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pavbaker.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pavbaker.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pavbaker.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pavbaker.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=8&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pavbaker.wordpress.com/2008/01/21/oops-i-stuffed-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cc8e5cf5b9ad3c24773d33c5b896bdc2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">pavbaker</media:title>
		</media:content>
	</item>
		<item>
		<title>A bright light</title>
		<link>http://pavbaker.wordpress.com/2008/01/19/a-bright-light/</link>
		<comments>http://pavbaker.wordpress.com/2008/01/19/a-bright-light/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 11:08:24 +0000</pubDate>
		<dc:creator>pavbaker</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://pavbaker.wordpress.com/2008/01/19/a-bright-light/</guid>
		<description><![CDATA[The light at the end of the tunnel is sometimes said to be the headlamp of an oncoming train. I have managed to get managed to get various basics working like the MySQL database, an Apache webserver on my laptop and a working web page published on a hosting website to test my web efforts [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=3&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The light at the end of the tunnel is sometimes said to be the headlamp of an oncoming train.</p>
<p>I have managed to get managed to get various basics working like the MySQL database, an Apache webserver on my laptop and a working web page published on a hosting website to test my web efforts live. Not on an unsuspecting public though.</p>
<p>I use the laptop to develop my code, test it on the local Apache webserver and eventually load it to the live website, publishing the pages a few folders below the public face of the root page so I know where it is for testing, but where Joe Public hopefully doesn&#8217;t know they exist. A live website really tests whether you&#8217;ve got your code right &#8211; something might work locally because you might have buggered around with default settings , but you can guarantee a live site, with a background database will show up any coding errors.</p>
<p>The live site I use is <a href="http://www.iserve.co.nz" title="iserve">www.iserve.co.nz</a> which costs me NZD$20 a month and has a great interface. Support Kiwi made! There are any number of sites, I just picked one after Googling &#8216;free hosting nz&#8217;. Some options were did I want a PHP / MySQL interface or an ASP / SQL . PHP / MySQL was the option I wanted, both are free downloads for me to use on my laptop and I also wanted to learn PHP.</p>
<p>All have been part of the learning curve, keeping my brain active instead of mindless surfing some of the dross on the Net, but sometimes I definitely wonder about that bright light&#8230;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pavbaker.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pavbaker.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pavbaker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pavbaker.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pavbaker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pavbaker.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pavbaker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pavbaker.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pavbaker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pavbaker.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pavbaker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pavbaker.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pavbaker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pavbaker.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pavbaker.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pavbaker.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=3&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pavbaker.wordpress.com/2008/01/19/a-bright-light/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cc8e5cf5b9ad3c24773d33c5b896bdc2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">pavbaker</media:title>
		</media:content>
	</item>
		<item>
		<title>Hello fellow bakers</title>
		<link>http://pavbaker.wordpress.com/2008/01/18/hello-world/</link>
		<comments>http://pavbaker.wordpress.com/2008/01/18/hello-world/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 08:55:37 +0000</pubDate>
		<dc:creator>pavbaker</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Welcome. This is the beginning of my written journey through CakePHP. I have been impressed with CakePHP so far testing various things, but as with any language there is sometimes an over vertical learning curve. What I would like to do with these notes, is to journal the steps I take getting things working and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=1&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welcome. This is the beginning of my written journey through CakePHP.</p>
<p>I have been impressed with CakePHP so far testing various things, but as with any language there is sometimes an over vertical learning curve. What I would like to do with these notes, is to journal the steps I take getting things working and the underlying ideas that go toward some areas.</p>
<p>I am certainly no expert, but have written many programs in many diverse languages mainly on a hobby basis. I do understand most programming concepts and am interested in using CakePHP as the core platform to explore interfacing a database based web application.</p>
<p>You, as a reader of this blog, are most welcome to add your tuppence worth. I have no problem using other baker&#8217;s code and value your input and questions. As a one finger keyboard basher coding with speed is not an option and my vintage deems that things may happen a little slower.</p>
<p>The name of this blog? A Pavlova is a sugar and egg meringue type cake, like me, slightly crusty on the outside, but light and fluffy inside. No, after being taken with <a href="http://lemoncake.wordpress.com" title="Lemoncake's bakery">Lemoncake&#8217;s bakery</a> on CakePHP, I thought a cake that has caused much controversy between Ockers and Kiwis might be in order since I live in NZ.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pavbaker.wordpress.com/1/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pavbaker.wordpress.com/1/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pavbaker.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pavbaker.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pavbaker.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pavbaker.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pavbaker.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pavbaker.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pavbaker.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pavbaker.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pavbaker.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pavbaker.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pavbaker.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pavbaker.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pavbaker.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pavbaker.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pavbaker.wordpress.com&amp;blog=2552133&amp;post=1&amp;subd=pavbaker&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pavbaker.wordpress.com/2008/01/18/hello-world/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cc8e5cf5b9ad3c24773d33c5b896bdc2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">pavbaker</media:title>
		</media:content>
	</item>
	</channel>
</rss>
