Bakeme is a cakephp application skeleton with customized bake scripts, which enables you to create advanced, data-driven websites.

Some of the features are:

- Pasword protected backend, based on users in the database
- Customized form helpers to add fckeditor input fields, server side file browser fields, datepickers for date(time) fields, autocompletion functionality instead of comboboxes (if you set autocomplete to true using the extendedForm helper).
- SoftDeletable behavior, so database records aren’t deleted instantly, but flagged as deleted
- More advanced code generation, to generate nicer looking backends, based on your models
- Option to bake all controllers instantly (using cake bake controller all (admin))
- Option to bake all views instantly (using cake bake view all)
- View code generation, to ajax sort records of models which have a field “order”.
- Integration of cakeswxphp, which enables remoting on your website through swx, amf or json
- …

Bakeme works with cakephp 1.2, you will need cakephp aswell: http://www.cakephp.org/.

Extract cakephp to your webhost. After that, you will need to extract the files from bakeme to the correct directories. You can download bakeme from http://code.google.com/p/bakeme/

Extract the “template” and “vendors” folders from bakeme, to the directory of you cakephp installation (the directory where you have the folders app, cake and vendors).

You will need a basic database structure aswell. You can find an sql dump of the database in the folder template/config/sql/database.sql. This will create a database user “template”, together with a database and basic tables for bakeme (tables for users & groups to enable authentication).

If everything goes well, you should be able to surf to the template project: http://URL_OF_YOUR_CAKEPHP_ROOT/template/ and login to the password protected section: http://URL_OF_YOUR_CAKEPHP_ROOT/template/admin/ (username: wouter@aboutme.be, password: T3mpl@t3).

You can use the customized bake scripts from the template project. First of all, make sure that you can call cake from your command line. To do so, you’ll need to add php and the cake console script directories to your path:

OSX:
- Open Terminal
- Type the following: echo ‘export PATH=PATH_TO_CAKEPHP_CONSOLE:$PATH’ >> ~/.profile, replacing “PATH_TO_CAKEPHP_CONSOLE” with the path to the cakephp console folder (in my case, this is /Applications/MAMP/htdocs/cakephp/projects_1.2/cake/console). Make certain that you use “>>” instead of one “>”.
- Hit enter and close Terminal. When you restart Terminal, you should be able to run the cake script from your terminal: cake bake
- If you get an error, saying php is not executable, you might need to add the directory of your php executive to the path aswell (in my case, this would be /Applications/MAMP/bin/php5/bin)

Windows Vista:
- Hit start, rightclick on My Computer and choose properties
- Choose Advanced System Properties
- On the Advanced Tab, click on the “Environment variables” button
- In the bottom listbox, you should find the variable called “Path”. Double click it to edit.
- Make sure both the directories to php (example: C:\xampp\php) and the cakephp console dir (example: C:\xampp\htdocs\cakephp\projects_1.2\cake\console) are in there.

When both PHP and the cake console dir are in your path, you can run bake from the command line:
- Open a Terminal / Command line utility and navigate to the directory of your application (ex: cd /Applications/MAMP/htdocs/cakephp/projects_1.2/bakeme)
- From there, you should be able to run the following command: cake bake
- If everything is configured ok, the bake command utility is up and running, and it will use the templates and scripts from the bakeme project (as this is the directory you’re running cake bake from).