<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>MIT-LICENSE</filename>
    </added>
    <added>
      <filename>apps/welcome/WelcomeApplication.class.php</filename>
    </added>
    <added>
      <filename>apps/welcome/controllers/WelcomeHomeController.class.php</filename>
    </added>
    <added>
      <filename>apps/welcome/views/common/footer.php</filename>
    </added>
    <added>
      <filename>apps/welcome/views/common/header.php</filename>
    </added>
    <added>
      <filename>apps/welcome/views/home/index.php</filename>
    </added>
    <added>
      <filename>content/css/blueprint/LICENSE</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;?php
-// Pre-release test runner. This will become a plug-in.
+// Pre-release test runner. This will become a mini-app in Recess Tools
 
 require_once('recess/lib/simpletest/autorun.php');
 require_once('recess/lib/simpletest/mock_objects.php');</diff>
      <filename>TestRunner.php</filename>
    </modified>
    <modified>
      <diff>@@ -53,6 +53,10 @@ abstract class RecessConf {
 	public static $policy;
 	
 	static function init() {
+		if(self::$mode == self::PRODUCTION) {
+			self::$useTurboSpeed = true;
+		}
+		
 		$_ENV['dir.recess'] = self::$recessDir;
 		$_ENV['dir.apps'] = self::$appsDir;
 		$_ENV['dir.test'] = self::$recessDir . 'test/';</diff>
      <filename>bootstrap.php</filename>
    </modified>
    <modified>
      <diff>@@ -15,14 +15,13 @@ RecessConf::$mode = RecessConf::DEVELOPMENT; // or RecessConf::PRODUCTION
 
 RecessConf::$applications 
 	= array(	'recess.apps.tools.RecessToolsApplication',
-				'blog.BlogApplication',
-				'customerBackend.CustomerBackendApplication',
+				'welcome.WelcomeApplication',
 			);
 
 RecessConf::$defaultTimeZone = 'America/New_York';
 
 RecessConf::$defaultDatabase
-	= array(	// 'sqlite:' . $_ENV['dir.bootstrap'] . 'recess/sqlite/default.db'
+	= array(	//'sqlite:' . $_ENV['dir.bootstrap'] . 'recess/sqlite/default.db'
 				'mysql:host=localhost;dbname=recess', 'recess', 'recess'
 			);
 
@@ -35,6 +34,8 @@ RecessConf::$namedDatabases
 RecessConf::$recessDir = $_ENV['dir.bootstrap'] . 'recess/';
 RecessConf::$appsDir = $_ENV['dir.bootstrap'] . 'apps/';
 
+// Cache providers are only enabled during DEPLOYMENT mode.
+//  Always use at least the Sqlite cache.
 RecessConf::$cacheProviders 
 	= array(	
 				// 'Apc',
@@ -42,5 +43,4 @@ RecessConf::$cacheProviders
 				'Sqlite',
 			);
 
-RecessConf::$useTurboSpeed = false; // I wanna go FAST! (Note: Experimental feature.)
 ?&gt;
\ No newline at end of file</diff>
      <filename>recess-conf.php</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@ class {{programmaticName}}HomeController extends Controller {
 	/** !Route GET */
 	function index() {
 		
-		$this-&gt;flash = 'Welcome to your new Recess app!';
+		$this-&gt;flash = 'Welcome to your new Recess application!';
 		
 	}
 	</diff>
      <filename>recess/lib/recess/apps/tools/templates/HomeController.template.php</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@
 $title = '{{appName}}';
 include_once($viewsDir . 'common/header.php');
 ?&gt;
-&lt;h2&gt;Welcome!&lt;/h2&gt;
+&lt;h2&gt;Hello Kick-ass Developer!&lt;/h2&gt;
 
 &lt;p class=&quot;highlight&quot;&gt;&lt;?php echo $flash; ?&gt;&lt;/p&gt;
 </diff>
      <filename>recess/lib/recess/apps/tools/templates/home.template.php</filename>
    </modified>
    <modified>
      <diff>@@ -2,24 +2,9 @@
 $title = '{{appName}}';
 include_once($viewsDir . 'common/header.php');
 ?&gt;
-&lt;div class=&quot;span-24 last&quot;&gt;
-&lt;div class=&quot;span-12 notice&quot;&gt;
-&lt;p&gt;Friends,&lt;/p&gt;
-&lt;p&gt;I appreciate your interest in Recess! I hope you'll find these bits (somewhat) functional and fun.&lt;/p&gt;
-&lt;p&gt;The Recess framework is early stage so please travel with caution.&lt;/p&gt;
-&lt;p&gt;Thanks and Enjoy!&lt;/p&gt;
-&lt;p&gt;&lt;a href=&quot;http://www.krisjordan.com/&quot;&gt;Kris Jordan&lt;/a&gt;&lt;/p&gt;
-&lt;/div&gt;
-&lt;/div&gt;
 
-&lt;h2&gt;&lt;?php echo $flash; ?&gt;&lt;/h2&gt;
+&lt;h1&gt;Hello Kick-ass Developer!&lt;/h1&gt;
 
-&lt;h3&gt;Next steps?&lt;/h3&gt;
-
-&lt;ul&gt;
-	&lt;li&gt;&lt;a href=&quot;&lt;?php echo $_ENV['url.base']; ?&gt;recess/&quot;&gt;Recess Tools&lt;/a&gt;&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;h3&gt;For more information visit &lt;a href=&quot;http://www.recessframework.org/&quot;&gt;http://www.recessframework.org/&lt;/a&gt;&lt;/h3&gt;
+&lt;h2 class=&quot;highlight&quot;&gt;&lt;?php echo $flash; ?&gt;&lt;/h2&gt;
 
 &lt;?php include_once($viewsDir . 'common/footer.php'); ?&gt;
\ No newline at end of file</diff>
      <filename>recess/lib/recess/apps/tools/templates/index.template.php</filename>
    </modified>
    <modified>
      <diff>@@ -2,17 +2,16 @@
 			&lt;div class=&quot;span-5 last infobar&quot;&gt;
 			  &lt;h3&gt;&lt;span&gt;Recess! Resources&lt;/span&gt;&lt;/h3&gt;
 			  &lt;ul&gt;
-				&lt;li&gt;&lt;a href=&quot;http://www.recessframework.com/&quot;&gt;RecessFramework.com&lt;/a&gt;&lt;/li&gt;
-				&lt;li&gt;&lt;a href=&quot;http://www.recessframework.com/&quot;&gt;Documentation&lt;/a&gt;&lt;/li&gt;
-				&lt;li&gt;&lt;a href=&quot;http://www.recessframework.com/&quot;&gt;Recess! Blog&lt;/a&gt;&lt;/li&gt;
-				&lt;li&gt;&lt;a href=&quot;http://www.recessframework.com/&quot;&gt;Kris' Blog&lt;/a&gt;&lt;/li&gt;
-				&lt;li&gt;&lt;a href=&quot;http://www.recessframework.com/&quot;&gt;Mailing Group&lt;/a&gt;&lt;/li&gt;
-				&lt;li&gt;&lt;a href=&quot;http://www.recessframework.com/&quot;&gt;Report Bugs&lt;/a&gt;&lt;/li&gt;
-				&lt;li&gt;&lt;a href=&quot;http://www.recessframework.com/&quot;&gt;Recess! Source&lt;/a&gt;&lt;/li&gt;
+				&lt;li&gt;&lt;a href=&quot;http://www.recessframework.org/&quot;&gt;RecessFramework.org&lt;/a&gt;&lt;/li&gt;
+				&lt;li&gt;&lt;a href=&quot;http://www.recessframework.org/blog&quot;&gt;Recess! Blog&lt;/a&gt;&lt;/li&gt;
+				&lt;li&gt;&lt;a href=&quot;http://www.krisjordan.com/&quot;&gt;Kris' Blog&lt;/a&gt;&lt;/li&gt;
+				&lt;li&gt;&lt;a href=&quot;http://groups.google.com/group/recess-framework&quot;&gt;Mailing Group&lt;/a&gt;&lt;/li&gt;
+				&lt;li&gt;&lt;a href=&quot;http://recess.lighthouseapp.com/&quot;&gt;Report Bugs&lt;/a&gt;&lt;/li&gt;
+				&lt;li&gt;&lt;a href=&quot;http://github.com/recess/recess/&quot;&gt;Recess! Source&lt;/a&gt;&lt;/li&gt;
 			  &lt;/ul&gt;
 			&lt;/div&gt;
 			&lt;div class=&quot;span-24 footer&quot;&gt;
-			  &lt;p class=&quot;quiet bottom&quot;&gt;&lt;a href=&quot;http://www.recessframework.com/&quot;&gt;Recess! Framework&lt;/a&gt; is &amp;copy; 2008 &lt;a href=&quot;http://www.krisjordan.com/&quot;&gt;Kris Jordan&lt;/a&gt;. All rights reserved. Recess! is open source under the &lt;a href=&quot;http://www.opensource.org/licenses/mit-license.php&quot;&gt;MIT license&lt;/a&gt;.&lt;/p&gt;
+			  &lt;p class=&quot;quiet bottom&quot;&gt;&lt;a href=&quot;http://www.recessframework.org/&quot;&gt;Recess! Framework&lt;/a&gt; is &amp;copy; 2008 &lt;a href=&quot;http://www.krisjordan.com/&quot;&gt;Kris Jordan&lt;/a&gt;. All rights reserved. Recess is open source under the &lt;a href=&quot;http://www.opensource.org/licenses/mit-license.php&quot;&gt;MIT license&lt;/a&gt;.&lt;/p&gt;
 			&lt;/div&gt;
 		&lt;/div&gt;
 	&lt;/body&gt;</diff>
      <filename>recess/lib/recess/apps/tools/views/common/footer.php</filename>
    </modified>
    <modified>
      <diff>@@ -6,4 +6,24 @@ include_once($viewsDir . 'common/header.php');
 
 &lt;h1&gt;Welcome to Recess!&lt;/h1&gt;
 
+&lt;h2&gt;What is Tools?&lt;/h2&gt;
+&lt;p&gt;
+Recess Tools is an application to help you along the development path. With Tools you can inspect the Recess Applications you have installed, ensure databases are connected properly, and browse code. 
+&lt;/p&gt;
+
+&lt;h3&gt;&lt;a href=&quot;&lt;?php echo $_ENV['url.base'];?&gt;recess/apps&quot;&gt;Apps&lt;/a&gt;: Browse and create apps, generate models &amp; scaffolding, and view an app's routes.&lt;/h3&gt;
+
+&lt;h3&gt;&lt;a href=&quot;&lt;?php echo $_ENV['url.base'];?&gt;recess/database&quot;&gt;Database&lt;/a&gt;: Ensure database connectivity and perform basic DB operations.&lt;/h3&gt;
+
+&lt;h3&gt;&lt;a href=&quot;&lt;?php echo $_ENV['url.base'];?&gt;recess/code&quot;&gt;Code&lt;/a&gt;: Introspect your project's code.&lt;/h3&gt;
+
+&lt;h3&gt;&lt;a href=&quot;&lt;?php echo $_ENV['url.base'];?&gt;recess/routes&quot;&gt;Routes&lt;/a&gt;: View routes for all active applications.&lt;/h3&gt;
+
+&lt;h2&gt;Looking for other Tools?&lt;/h2&gt;
+&lt;p&gt;
+As Recess matures the tool set will need to grow too. Have ideas for other useful tools? Perhaps you've built additional useful tools? Get involved over at &lt;a href=&quot;http://www.recessframework.org/&quot;&gt;RecessFramework.org&lt;/a&gt;.
+&lt;/p&gt;
+
+&lt;h3&gt;Enjoy!&lt;br /&gt;-&lt;a href=&quot;http://www.krisjordan.com/&quot;&gt;Kris&lt;/a&gt;&lt;/h3&gt;
+
 &lt;?php include_once($viewsDir . 'common/footer.php'); ?&gt;
\ No newline at end of file</diff>
      <filename>recess/lib/recess/apps/tools/views/home/home.php</filename>
    </modified>
    <modified>
      <diff>@@ -19,7 +19,7 @@ class BelongsToRelationship extends Relationship {
 		$this-&gt;localClass = $modelClassName;
 		$this-&gt;name = $relationshipName;
 		$this-&gt;onDelete = Relationship::NULLIFY;
-		$this-&gt;foreignKey = Inflector::toUnderscores($relationshipName) . '_id';
+		$this-&gt;foreignKey = Inflector::toCamelCaps($relationshipName) . 'Id';
 		$this-&gt;foreignClass = Inflector::toProperCaps($relationshipName);
 	}
 	</diff>
      <filename>recess/lib/recess/database/orm/relationships/BelongsToRelationship.class.php</filename>
    </modified>
    <modified>
      <diff>@@ -20,7 +20,7 @@ class HasManyRelationship extends Relationship {
 	function init($modelClassName, $relationshipName) {
 		$this-&gt;localClass = $modelClassName;
 		$this-&gt;name = $relationshipName;
-		$this-&gt;foreignKey = Inflector::toUnderscores($modelClassName) . '_id';
+		$this-&gt;foreignKey = Inflector::toCamelCaps($modelClassName) . 'Id';
 		$this-&gt;foreignClass = Inflector::toSingular(Inflector::toProperCaps($relationshipName));
 		$this-&gt;onDelete = Relationship::UNSPECIFIED;
 	}</diff>
      <filename>recess/lib/recess/database/orm/relationships/HasManyRelationship.class.php</filename>
    </modified>
    <modified>
      <diff>@@ -5,9 +5,17 @@ Library::import('recess.framework.routing.Route');
 class RouteAnnotation extends ControllerAnnotation {
 	protected $methods = array();
 	protected $path;
+	protected $hasError = false;
 	
 	function init($array) {
+		// Expectation GET, /some/path/info
 		if(count($array) == 1) {
+			if(is_string($array[0])) {
+				$fallBack = split(' ',trim($array[0]));
+				if(count($fallBack) &gt; 1) {
+					$this-&gt;hasError = true;
+				}
+			}
 			$array[1] = ' ';
 		}
 		
@@ -35,6 +43,18 @@ class RouteAnnotation extends ControllerAnnotation {
 		$route-&gt;fileDefined = $reflectedMethod-&gt;getFileName();
 		$route-&gt;lineDefined = $reflectedMethod-&gt;getStartLine();
 		$descriptor-&gt;routes[] = $route;
+		
+		if($this-&gt;hasError == true) {
+			if(is_array($this-&gt;methods) &amp;&amp; !empty($this-&gt;methods)) {
+				$parts = split(' ', $this-&gt;methods[0]);
+				if(sizeof($parts) &gt; 1) {
+					$method = $parts[0];
+					$path = $parts[1];
+					throw new RecessErrorException('Invalid !Route annotation. Please separate HTTP Method and Path with a comma. Ex: /** !Route ' . $method . ', ' . $path . ' */', 0, 0, $reflectedMethod-&gt;getFileName(), $reflectedMethod-&gt;getStartLine(), array());
+				}
+			}
+			throw new RecessErrorException('Invalid !Route annotation. Please separate HTTP Method and Path with a comma. Ex: /** !Route GET, /path/info */', 0, 0, $reflectedMethod-&gt;getFileName(), $reflectedMethod-&gt;getStartLine(), array());	
+		}
 	}
 }
 ?&gt;
\ No newline at end of file</diff>
      <filename>recess/lib/recess/framework/controllers/annotations/RouteAnnotation.class.php</filename>
    </modified>
    <modified>
      <diff>@@ -6,7 +6,7 @@ Library::import('recess.database.orm.Model');
 Library::import('recess.database.orm.ModelDataSource');
 
 /**
- * !BelongsTo owner, Class: Person, Key: person_id, OnDelete: Cascade
+ * !BelongsTo owner, Class: Person, Key: personId, OnDelete: Cascade
  * !Table cars
  */
 class Car extends Model {
@@ -39,8 +39,8 @@ class Group extends Model {}
 class Groupship extends Model {}
 
 /**
- * !HasMany books, Key: author_id, OnDelete: Cascade
- * !HasMany novels, Key: author_id, Class: Book
+ * !HasMany books, Key: authorId, OnDelete: Cascade
+ * !HasMany novels, Key: authorId, Class: Book
  * !HasMany cars, OnDelete: Nullify
  * !HasMany groups, Through: Groupship, OnDelete: Nullify
  * !BelongsTo politicalParty
@@ -99,75 +99,75 @@ class ModelTest extends UnitTestCase {
 	function setUp() {
 		$this-&gt;source = new ModelDataSource('sqlite::memory:');
 		$this-&gt;source-&gt;beginTransaction();
-		$this-&gt;source-&gt;exec('CREATE TABLE persons (id INTEGER PRIMARY KEY AUTOINCREMENT, first_name TEXT, last_name TEXT, age TEXT, political_party_id INTEGER)');
+		$this-&gt;source-&gt;exec('CREATE TABLE persons (id INTEGER PRIMARY KEY AUTOINCREMENT, firstName TEXT, lastName TEXT, age TEXT, politicalPartyId INTEGER)');
 		$this-&gt;source-&gt;exec('CREATE TABLE groups (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, description TEXT)');
-		$this-&gt;source-&gt;exec('CREATE TABLE groupships (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, group_id INTEGER, person_id INTEGER)');
-		$this-&gt;source-&gt;exec('CREATE TABLE books (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, author_id INTEGER, title TEXT)');
-		$this-&gt;source-&gt;exec('CREATE TABLE chapters (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, book_id INTEGER, title TEXT)');
-		$this-&gt;source-&gt;exec('CREATE TABLE cars (pk INTEGER PRIMARY KEY ASC AUTOINCREMENT, person_id INTEGER, make TEXT, isDriveable BOOLEAN)');
-		$this-&gt;source-&gt;exec('CREATE TABLE movies (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, author_id INTEGER, title TEXT)');
+		$this-&gt;source-&gt;exec('CREATE TABLE groupships (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, groupId INTEGER, personId INTEGER)');
+		$this-&gt;source-&gt;exec('CREATE TABLE books (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, authorId INTEGER, title TEXT)');
+		$this-&gt;source-&gt;exec('CREATE TABLE chapters (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, bookId INTEGER, title TEXT)');
+		$this-&gt;source-&gt;exec('CREATE TABLE cars (pk INTEGER PRIMARY KEY ASC AUTOINCREMENT, personId INTEGER, make TEXT, isDriveable BOOLEAN)');
+		$this-&gt;source-&gt;exec('CREATE TABLE movies (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, authorId INTEGER, title TEXT)');
 		$this-&gt;source-&gt;exec('CREATE TABLE generas (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, title INTEGER)');
-		$this-&gt;source-&gt;exec('CREATE TABLE books_generas_joins (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, book_id INTEGER, genera_id INTEGER)');
+		$this-&gt;source-&gt;exec('CREATE TABLE books_generas_joins (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, bookId INTEGER, generaId INTEGER)');
 		$this-&gt;source-&gt;exec('CREATE TABLE political_partys (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, party TEXT)');
-		$this-&gt;source-&gt;exec('CREATE TABLE movies_generas_joins (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, movie_id INTEGER, genera_id INTEGER)');
-		$this-&gt;source-&gt;exec('INSERT INTO persons (first_name, last_name, age, political_party_id) VALUES (&quot;Kris&quot;, &quot;Jordan&quot;, 23, 1)');
-		$this-&gt;source-&gt;exec('INSERT INTO persons (first_name, last_name, age, political_party_id) VALUES (&quot;Joel&quot;, &quot;Sutherland&quot;, 23, 1)');
-		$this-&gt;source-&gt;exec('INSERT INTO persons (first_name, last_name, age, political_party_id) VALUES (&quot;Clay&quot;, &quot;Schossow&quot;, 22, 2)');
-		$this-&gt;source-&gt;exec('INSERT INTO persons (first_name, last_name, age, political_party_id) VALUES (&quot;Barack&quot;, &quot;Obama&quot;, 47, 1)');
-		$this-&gt;source-&gt;exec('INSERT INTO persons (first_name, last_name, age, political_party_id) VALUES (&quot;Josh&quot;, &quot;Lockhart&quot;, 22, 1)');
-		$this-&gt;source-&gt;exec('INSERT INTO persons (first_name, last_name, age, political_party_id) VALUES (&quot;John&quot;, &quot;McCain&quot;, 72, 3)');
+		$this-&gt;source-&gt;exec('CREATE TABLE movies_generas_joins (id INTEGER PRIMARY KEY ASC AUTOINCREMENT, movieId INTEGER, generaId INTEGER)');
+		$this-&gt;source-&gt;exec('INSERT INTO persons (firstName, lastName, age, politicalPartyId) VALUES (&quot;Kris&quot;, &quot;Jordan&quot;, 23, 1)');
+		$this-&gt;source-&gt;exec('INSERT INTO persons (firstName, lastName, age, politicalPartyId) VALUES (&quot;Joel&quot;, &quot;Sutherland&quot;, 23, 1)');
+		$this-&gt;source-&gt;exec('INSERT INTO persons (firstName, lastName, age, politicalPartyId) VALUES (&quot;Clay&quot;, &quot;Schossow&quot;, 22, 2)');
+		$this-&gt;source-&gt;exec('INSERT INTO persons (firstName, lastName, age, politicalPartyId) VALUES (&quot;Barack&quot;, &quot;Obama&quot;, 47, 1)');
+		$this-&gt;source-&gt;exec('INSERT INTO persons (firstName, lastName, age, politicalPartyId) VALUES (&quot;Josh&quot;, &quot;Lockhart&quot;, 22, 1)');
+		$this-&gt;source-&gt;exec('INSERT INTO persons (firstName, lastName, age, politicalPartyId) VALUES (&quot;John&quot;, &quot;McCain&quot;, 72, 3)');
 		$this-&gt;source-&gt;exec('INSERT INTO political_partys (party) VALUES (&quot;Democrat&quot;)');
 		$this-&gt;source-&gt;exec('INSERT INTO political_partys (party) VALUES (&quot;Independent&quot;)');
 		$this-&gt;source-&gt;exec('INSERT INTO political_partys (party) VALUES (&quot;Republican&quot;)');
-		$this-&gt;source-&gt;exec('INSERT INTO books (author_id, title) VALUES (4,&quot;The Audacity of Hope: Thoughts on Reclaiming the American Dream&quot;)');
-		$this-&gt;source-&gt;exec('INSERT INTO chapters (book_id, title) VALUES (1,&quot;Republicans and Democrats&quot;)');
-		$this-&gt;source-&gt;exec('INSERT INTO chapters (book_id, title) VALUES (1,&quot;Values&quot;)');
-		$this-&gt;source-&gt;exec('INSERT INTO chapters (book_id, title) VALUES (1,&quot;Our Constitution&quot;)');
-		$this-&gt;source-&gt;exec('INSERT INTO chapters (book_id, title) VALUES (1,&quot;Politics&quot;)');
-		$this-&gt;source-&gt;exec('INSERT INTO chapters (book_id, title) VALUES (1,&quot;Opportunity&quot;)');
-		$this-&gt;source-&gt;exec('INSERT INTO chapters (book_id, title) VALUES (1,&quot;Faith&quot;)');
-		$this-&gt;source-&gt;exec('INSERT INTO chapters (book_id, title) VALUES (1,&quot;Race&quot;)');
-		$this-&gt;source-&gt;exec('INSERT INTO chapters (book_id, title) VALUES (1,&quot;The World Beyond our Borders&quot;)');
-		$this-&gt;source-&gt;exec('INSERT INTO chapters (book_id, title) VALUES (1,&quot;Family&quot;)');
-		$this-&gt;source-&gt;exec('INSERT INTO books (author_id, title) VALUES (3,&quot;How to Be a Sketch Ball&quot;)'); // 1
-		$this-&gt;source-&gt;exec('INSERT INTO books (author_id, title) VALUES (2,&quot;Steve Nash: A Modern Day Hero&quot;)'); // 2
-		$this-&gt;source-&gt;exec('INSERT INTO books (author_id, title) VALUES (1,&quot;How Michael Scott Touched My Life, and Could Touch Yours Too&quot;)'); // 3
-		$this-&gt;source-&gt;exec('INSERT INTO books (author_id, title) VALUES (4,&quot;Dreams from My Father: A Story of Race and Inheritance&quot;)'); // 4
-		$this-&gt;source-&gt;exec('INSERT INTO books (author_id, title) VALUES (4,&quot;Barack Obama: What He Believes In - From His Own Works&quot;)'); // 5
-		$this-&gt;source-&gt;exec('INSERT INTO books (author_id, title) VALUES (3,&quot;Hoop Dreams, The Clay Schossow Story&quot;)'); // 6
-		$this-&gt;source-&gt;exec('INSERT INTO movies (author_id, title) VALUES (3,&quot;Hoop Dreams, The Clay Schossow Story, The Movie&quot;)');
-		$this-&gt;source-&gt;exec('INSERT INTO movies (author_id, title) VALUES (3,&quot;Clay Schossow: Unleashed&quot;)');
-		$this-&gt;source-&gt;exec('INSERT INTO movies (author_id, title) VALUES (3,&quot;LeBron James and Other Assorted Dreams of Clay Schossow&quot;)');
+		$this-&gt;source-&gt;exec('INSERT INTO books (authorId, title) VALUES (4,&quot;The Audacity of Hope: Thoughts on Reclaiming the American Dream&quot;)');
+		$this-&gt;source-&gt;exec('INSERT INTO chapters (bookId, title) VALUES (1,&quot;Republicans and Democrats&quot;)');
+		$this-&gt;source-&gt;exec('INSERT INTO chapters (bookId, title) VALUES (1,&quot;Values&quot;)');
+		$this-&gt;source-&gt;exec('INSERT INTO chapters (bookId, title) VALUES (1,&quot;Our Constitution&quot;)');
+		$this-&gt;source-&gt;exec('INSERT INTO chapters (bookId, title) VALUES (1,&quot;Politics&quot;)');
+		$this-&gt;source-&gt;exec('INSERT INTO chapters (bookId, title) VALUES (1,&quot;Opportunity&quot;)');
+		$this-&gt;source-&gt;exec('INSERT INTO chapters (bookId, title) VALUES (1,&quot;Faith&quot;)');
+		$this-&gt;source-&gt;exec('INSERT INTO chapters (bookId, title) VALUES (1,&quot;Race&quot;)');
+		$this-&gt;source-&gt;exec('INSERT INTO chapters (bookId, title) VALUES (1,&quot;The World Beyond our Borders&quot;)');
+		$this-&gt;source-&gt;exec('INSERT INTO chapters (bookId, title) VALUES (1,&quot;Family&quot;)');
+		$this-&gt;source-&gt;exec('INSERT INTO books (authorId, title) VALUES (3,&quot;How to Be a Sketch Ball&quot;)'); // 1
+		$this-&gt;source-&gt;exec('INSERT INTO books (authorId, title) VALUES (2,&quot;Steve Nash: A Modern Day Hero&quot;)'); // 2
+		$this-&gt;source-&gt;exec('INSERT INTO books (authorId, title) VALUES (1,&quot;How Michael Scott Touched My Life, and Could Touch Yours Too&quot;)'); // 3
+		$this-&gt;source-&gt;exec('INSERT INTO books (authorId, title) VALUES (4,&quot;Dreams from My Father: A Story of Race and Inheritance&quot;)'); // 4
+		$this-&gt;source-&gt;exec('INSERT INTO books (authorId, title) VALUES (4,&quot;Barack Obama: What He Believes In - From His Own Works&quot;)'); // 5
+		$this-&gt;source-&gt;exec('INSERT INTO books (authorId, title) VALUES (3,&quot;Hoop Dreams, The Clay Schossow Story&quot;)'); // 6
+		$this-&gt;source-&gt;exec('INSERT INTO movies (authorId, title) VALUES (3,&quot;Hoop Dreams, The Clay Schossow Story, The Movie&quot;)');
+		$this-&gt;source-&gt;exec('INSERT INTO movies (authorId, title) VALUES (3,&quot;Clay Schossow: Unleashed&quot;)');
+		$this-&gt;source-&gt;exec('INSERT INTO movies (authorId, title) VALUES (3,&quot;LeBron James and Other Assorted Dreams of Clay Schossow&quot;)');
 		$this-&gt;source-&gt;exec('INSERT INTO generas (title) VALUES (&quot;Sports Healing&quot;)'); // 1
 		$this-&gt;source-&gt;exec('INSERT INTO generas (title) VALUES (&quot;Political Healing&quot;)'); // 2
 		$this-&gt;source-&gt;exec('INSERT INTO generas (title) VALUES (&quot;Social Healing&quot;)'); // 3
 		$this-&gt;source-&gt;exec('INSERT INTO generas (title) VALUES (&quot;Comedy Healing&quot;)'); // 4
-		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (book_id,genera_id) VALUES (1,3)');
-		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (book_id,genera_id) VALUES (2,3)');
-		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (book_id,genera_id) VALUES (2,4)');
-		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (book_id,genera_id) VALUES (3,1)'); // 4: 4, 6: 3
-		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (book_id,genera_id) VALUES (4,4)');
-		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (book_id,genera_id) VALUES (5,3)');
-		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (book_id,genera_id) VALUES (6,3)');
-		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (book_id,genera_id) VALUES (7,1)');
-		$this-&gt;source-&gt;exec('INSERT INTO movies_generas_joins (movie_id,genera_id) VALUES (1,1)');
-		$this-&gt;source-&gt;exec('INSERT INTO movies_generas_joins (movie_id,genera_id) VALUES (1,4)');
-		$this-&gt;source-&gt;exec('INSERT INTO movies_generas_joins (movie_id,genera_id) VALUES (2,4)');
-		$this-&gt;source-&gt;exec('INSERT INTO movies_generas_joins (movie_id,genera_id) VALUES (3,1)');
+		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (bookId,generaId) VALUES (1,3)');
+		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (bookId,generaId) VALUES (2,3)');
+		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (bookId,generaId) VALUES (2,4)');
+		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (bookId,generaId) VALUES (3,1)'); // 4: 4, 6: 3
+		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (bookId,generaId) VALUES (4,4)');
+		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (bookId,generaId) VALUES (5,3)');
+		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (bookId,generaId) VALUES (6,3)');
+		$this-&gt;source-&gt;exec('INSERT INTO books_generas_joins (bookId,generaId) VALUES (7,1)');
+		$this-&gt;source-&gt;exec('INSERT INTO movies_generas_joins (movieId,generaId) VALUES (1,1)');
+		$this-&gt;source-&gt;exec('INSERT INTO movies_generas_joins (movieId,generaId) VALUES (1,4)');
+		$this-&gt;source-&gt;exec('INSERT INTO movies_generas_joins (movieId,generaId) VALUES (2,4)');
+		$this-&gt;source-&gt;exec('INSERT INTO movies_generas_joins (movieId,generaId) VALUES (3,1)');
 		$this-&gt;source-&gt;exec('INSERT INTO groups (name) VALUES (&quot;NRA&quot;)'); // 1
 		$this-&gt;source-&gt;exec('INSERT INTO groups (name) VALUES (&quot;Tree Huggers&quot;)'); // 2
 		$this-&gt;source-&gt;exec('INSERT INTO groups (name) VALUES (&quot;Hackers&quot;)'); // 3
-		$this-&gt;source-&gt;exec('INSERT INTO groupships (group_id,person_id) VALUES (2,1)');
-		$this-&gt;source-&gt;exec('INSERT INTO groupships (group_id,person_id) VALUES (3,1)');
-		$this-&gt;source-&gt;exec('INSERT INTO groupships (group_id,person_id) VALUES (3,2)');
-		$this-&gt;source-&gt;exec('INSERT INTO groupships (group_id,person_id) VALUES (2,2)');
-		$this-&gt;source-&gt;exec('INSERT INTO groupships (group_id,person_id) VALUES (1,3)');
-		$this-&gt;source-&gt;exec('INSERT INTO groupships (group_id,person_id) VALUES (2,4)');
-		$this-&gt;source-&gt;exec('INSERT INTO groupships (group_id,person_id) VALUES (2,5)');
-		$this-&gt;source-&gt;exec('INSERT INTO groupships (group_id,person_id) VALUES (3,5)');
-		$this-&gt;source-&gt;exec('INSERT INTO groupships (group_id,person_id) VALUES (1,6)');
-		$this-&gt;source-&gt;exec('INSERT INTO cars (person_id,make,isDriveable) VALUES (1,&quot;VW&quot;,1)');
-		$this-&gt;source-&gt;exec('INSERT INTO cars (person_id,make,isDriveable) VALUES (2,&quot;Toyota&quot;,1)');
+		$this-&gt;source-&gt;exec('INSERT INTO groupships (groupId,personId) VALUES (2,1)');
+		$this-&gt;source-&gt;exec('INSERT INTO groupships (groupId,personId) VALUES (3,1)');
+		$this-&gt;source-&gt;exec('INSERT INTO groupships (groupId,personId) VALUES (3,2)');
+		$this-&gt;source-&gt;exec('INSERT INTO groupships (groupId,personId) VALUES (2,2)');
+		$this-&gt;source-&gt;exec('INSERT INTO groupships (groupId,personId) VALUES (1,3)');
+		$this-&gt;source-&gt;exec('INSERT INTO groupships (groupId,personId) VALUES (2,4)');
+		$this-&gt;source-&gt;exec('INSERT INTO groupships (groupId,personId) VALUES (2,5)');
+		$this-&gt;source-&gt;exec('INSERT INTO groupships (groupId,personId) VALUES (3,5)');
+		$this-&gt;source-&gt;exec('INSERT INTO groupships (groupId,personId) VALUES (1,6)');
+		$this-&gt;source-&gt;exec('INSERT INTO cars (personId,make,isDriveable) VALUES (1,&quot;VW&quot;,1)');
+		$this-&gt;source-&gt;exec('INSERT INTO cars (personId,make,isDriveable) VALUES (2,&quot;Toyota&quot;,1)');
 		$this-&gt;source-&gt;commit();
 		$this-&gt;source-&gt;beginTransaction();
 		Databases::setDefaultSource($this-&gt;source);
@@ -187,9 +187,9 @@ class ModelTest extends UnitTestCase {
 	function testFindCriteria() {
 		$person = new Person();
 		$person-&gt;age = 23;
-		$people = $person-&gt;find()-&gt;orderBy('last_name DESC');
+		$people = $person-&gt;find()-&gt;orderBy('lastName DESC');
 		$this-&gt;assertEqual(count($people),2);
-		$this-&gt;assertEqual($people[0]-&gt;last_name, 'Sutherland');
+		$this-&gt;assertEqual($people[0]-&gt;lastName, 'Sutherland');
 		$this-&gt;assertEqual(get_class($people[0]), 'Person');
 	}
 	
@@ -197,10 +197,10 @@ class ModelTest extends UnitTestCase {
 		$car = new Car();
 		$car-&gt;isDriveable = true;
 		$car-&gt;insert();
-		$car_id = $car-&gt;pk;
+		$carId = $car-&gt;pk;
 		
 		$car = new Car();
-		$car-&gt;pk = $car_id;
+		$car-&gt;pk = $carId;
 		$driveable =  $car-&gt;find()-&gt;first()-&gt;isDriveable;
 		
 		$this-&gt;assertEqual($driveable === true, true);
@@ -223,7 +223,7 @@ class ModelTest extends UnitTestCase {
 	}
 	
 	function testMultipleConditionsOnStrings() {
-		$people = Make::a('Person')-&gt;like('first_name','%K%')-&gt;like('first_name','%s%');
+		$people = Make::a('Person')-&gt;like('firstName','%K%')-&gt;like('firstName','%s%');
 		$this-&gt;assertEqual(count($people), 1);
 	}
 	
@@ -236,8 +236,8 @@ class ModelTest extends UnitTestCase {
 	
 	function testHasManyRelationshipCriteria() {
 		$person = new Person();
-		$person-&gt;first_name = 'Barack';
-		$person-&gt;last_name = 'Obama';
+		$person-&gt;firstName = 'Barack';
+		$person-&gt;lastName = 'Obama';
 		$books = $person-&gt;books()-&gt;like('title','%Dream%')-&gt;orderBy('title ASC');
 		$this-&gt;assertEqual(count($books), 2);	
 		$this-&gt;assertEqual($books[0]-&gt;title, 'Dreams from My Father: A Story of Race and Inheritance');
@@ -281,7 +281,7 @@ class ModelTest extends UnitTestCase {
 		$book-&gt;id = 1;
 		$barack = $book-&gt;author();
 		$this-&gt;assertEqual(get_class($barack), 'Person');
-		$this-&gt;assertEqual($barack-&gt;first_name, 'Barack');
+		$this-&gt;assertEqual($barack-&gt;firstName, 'Barack');
 		$baracksBooks = $barack-&gt;books();
 		$this-&gt;assertEqual(count($baracksBooks), 3);
 	}
@@ -308,14 +308,14 @@ class ModelTest extends UnitTestCase {
 	function testUpdate() {
 		$people = Make::a('Person')-&gt;all();
 		$person = $people[0];
-		$name = $person-&gt;first_name;
+		$name = $person-&gt;firstName;
 		
-		$person-&gt;first_name = 'UPDATE!';
+		$person-&gt;firstName = 'UPDATE!';
 		$person-&gt;update();
 		
 		$people = Make::a('Person')-&gt;all();
 		
-		$this-&gt;assertEqual($person-&gt;first_name, $people[0]-&gt;first_name);
+		$this-&gt;assertEqual($person-&gt;firstName, $people[0]-&gt;firstName);
 	}
 	
 	function testUpdateOnCollection() {
@@ -339,8 +339,8 @@ class ModelTest extends UnitTestCase {
 		$people_count = count($people);
 		
 		$person = new Person();
-		$person-&gt;first_name = 'Joe';
-		$person-&gt;last_name = 'Biden';
+		$person-&gt;firstName = 'Joe';
+		$person-&gt;lastName = 'Biden';
 		$person-&gt;age = 65;
 		$person-&gt;insert();
 		
@@ -369,7 +369,7 @@ class ModelTest extends UnitTestCase {
 	
 	function testAddToHasManyRelationship() {
 		$person = new Person;
-		$person-&gt;first_name = 'John';
+		$person-&gt;firstName = 'John';
 		$person-&gt;age = 22; 
 		
 		$book = new Book();
@@ -381,7 +381,7 @@ class ModelTest extends UnitTestCase {
 	}
 	
 	function testRemoveFromHasManyRelationship() {
-		$barack = Make::a('Person')-&gt;equal('first_name', 'Barack')-&gt;first();
+		$barack = Make::a('Person')-&gt;equal('firstName', 'Barack')-&gt;first();
 		
 		$barackBooksCount = count($barack-&gt;books());
 		
@@ -393,7 +393,7 @@ class ModelTest extends UnitTestCase {
 	
 	function testSetOnBelongsToRelationship() {
 		$person = new Person;
-		$person-&gt;first_name = 'John';
+		$person-&gt;firstName = 'John';
 		$person-&gt;age = 22; 
 		
 		$book = new Book();
@@ -404,7 +404,7 @@ class ModelTest extends UnitTestCase {
 	}
 	
 	function testUnsetOnBelongsToRelationship() {
-		$barack = Make::a('Person')-&gt;equal('first_name', 'Barack')-&gt;first();
+		$barack = Make::a('Person')-&gt;equal('firstName', 'Barack')-&gt;first();
 		
 		$barackBooksCount = count($barack-&gt;books());
 		
@@ -416,7 +416,7 @@ class ModelTest extends UnitTestCase {
 	
 	function testNonDefaultPrimaryKey() {
 		$person = new Person;
-		$person-&gt;first_name = 'Katie';
+		$person-&gt;firstName = 'Katie';
 		$person-&gt;age = 22;
 		
 		$car = new Car();
@@ -455,7 +455,7 @@ class ModelTest extends UnitTestCase {
 	}
 	
 	function testHasManyThrough() {
-		$kris = Make::a('Person')-&gt;equal('first_name','Kris')-&gt;first();
+		$kris = Make::a('Person')-&gt;equal('firstName','Kris')-&gt;first();
 		$groups = $kris-&gt;groups();
 		$this-&gt;assertEqual(count($groups), 2);
 	}
@@ -472,13 +472,13 @@ class ModelTest extends UnitTestCase {
 	}
 	
 	function testHasManyOnDeleteCascade() {
-		$barack = Make::a('Person')-&gt;like('first_name','%Barack%')-&gt;first();
+		$barack = Make::a('Person')-&gt;like('firstName','%Barack%')-&gt;first();
 		$barack-&gt;delete();
 		$this-&gt;assertEqual(count(Make::a('Chapter')-&gt;all()), 0);
 	}
 	
 	function testHasManyOnDeleteNullify() {
-		$kris = Make::a('Person')-&gt;equal('first_name', 'Kris')-&gt;first();
+		$kris = Make::a('Person')-&gt;equal('firstName', 'Kris')-&gt;first();
 		
 		$car = Make::a('Car');
 		
@@ -502,7 +502,7 @@ class ModelTest extends UnitTestCase {
 	function testBelongsToDeleteDelete() {
 		$audacity = Make::a('Book')-&gt;like('title','%Audacity%')-&gt;first();
 		$audacity-&gt;delete();
-		$barack = Make::a('Person')-&gt;equal('first_name','Barack');
+		$barack = Make::a('Person')-&gt;equal('firstName','Barack');
 		$this-&gt;assertEqual(0, count($barack));
 	}
 	
@@ -517,10 +517,10 @@ class ModelTest extends UnitTestCase {
 	function testHasManyThroughDeleteNullify() {
 		$groupshipsCount = count(Make::a('Groupship')-&gt;all());
 		
-		$kris = Make::a('Person')-&gt;equal('first_name','Kris')-&gt;first();
+		$kris = Make::a('Person')-&gt;equal('firstName','Kris')-&gt;first();
 		$krisGroupsCount = count($kris-&gt;groups());
 		
-		$kris = Make::a('Person')-&gt;equal('first_name','Kris')-&gt;first();
+		$kris = Make::a('Person')-&gt;equal('firstName','Kris')-&gt;first();
 		$kris-&gt;delete();
 		
 		$this-&gt;assertEqual($groupshipsCount - $krisGroupsCount, count(Make::a('Groupship')-&gt;all()));
@@ -555,7 +555,7 @@ class ModelTest extends UnitTestCase {
 	
 	function testNoLongerByReference() {
 		$people = Make::a('Person')-&gt;all();
-		$kris = $people-&gt;equal('first_name','Kris');
+		$kris = $people-&gt;equal('firstName','Kris');
 		$this-&gt;assertNotEqual(count($people),count($kris));
 	}
 	</diff>
      <filename>recess/test/lib/recess/database/orm/ModelTest.class.php</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>MIT_LICENSE</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/buttons/icons/cross.png</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/buttons/icons/key.png</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/buttons/icons/tick.png</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/buttons/readme.txt</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/buttons/screen.css</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/fancy-type/readme.txt</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/fancy-type/screen.css</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/link-icons/icons/doc.png</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/link-icons/icons/email.png</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/link-icons/icons/external.png</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/link-icons/icons/feed.png</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/link-icons/icons/im.png</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/link-icons/icons/pdf.png</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/link-icons/icons/visited.png</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/link-icons/icons/xls.png</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/link-icons/readme.txt</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/link-icons/screen.css</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/rtl/readme.txt</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/plugins/rtl/screen.css</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/src/forms.css</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/src/grid.css</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/src/grid.png</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/src/ie.css</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/src/print.css</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/src/reset.css</filename>
    </removed>
    <removed>
      <filename>content/css/blueprint/src/typography.css</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>713c699d523c9d922d93b7d12c268f28cd8d6723</id>
    </parent>
  </parents>
  <author>
    <name>Kris Jordan</name>
    <email>krisjordan@gmail.com</email>
  </author>
  <url>http://github.com/recess/recess/commit/ca6148b9d541502d25af5b095dbe7f7ce22d187d</url>
  <id>ca6148b9d541502d25af5b095dbe7f7ce22d187d</id>
  <committed-date>2008-12-24T18:08:23-08:00</committed-date>
  <authored-date>2008-12-24T18:08:23-08:00</authored-date>
  <message>Preparing for Public Preview</message>
  <tree>a683a1917a8cbdd5bcc2eec4dd95a20e0f26f900</tree>
  <committer>
    <name>Kris Jordan</name>
    <email>krisjordan@gmail.com</email>
  </committer>
</commit>
