Writing

AclExtras Shell

With the help of Oscar Carlsson I’ve updated the AcoSync Shell and renamed it to the AclExtrasShell. With Oscar’s help we’ve added quick and easy ways to recover and verify your tree structures. AclExtras Shell also incorporates all the existing functionality of AcoSync Shell.

Getting a new Oven, Migrating from CakePHP 1.1 to 1.2

So 1.2 is nearly complete, the code is frozen and there are only a few bugs left to squash before the final release is ready. So you want to upgrade your application from 1.1 to 1.2. Although the 1.2 moniker suggests a ‘minor’ version, a lot has changed under the hood and entire API’s have been rebuilt.

CakePHP RC3 released and CakePHP 1.1 new release

If you are following the development of CakePHP today is a good day for you. RC3 was released today! We have all been working really hard to make this Release Candidate better than the last one. There have been over 400 commits since the last RC2. Some of the big changes are related to performance. Larry Masters and the rest of the team have been hard at work making CakePHP snappier and all around speedier.

Server up and down time

Lately you may (but hopefully did not) have noticed this site being unavailable for long periods of time. It seems my hosting company has had quite the bit of trouble with the hardware running the VPS my account is hosted on.

However, they are working on it and hopefully it becomes a thing of the past.

Acl Menu Component

By now you’ve got an awesome Acl and Auth controlled app running. However, making navigation menus is a pain with dynamic, and variable permissions. Outside of making menu elements for each type of Aro and including them in your layout, there currently aren’t many options (at least none that I’m aware of). I was faced with this exact problem a while back, and couldn’t find a suitable solution, so I made one.

Github hooked up

As I post more and more code here, I’m finding it tedious to update all the various .zip files of code as I make changes. So I’ve taken a page from Tim and Felix and made an account at gitHub. This makes it easy for me and you to find the newest revision of whatever you may be looking for.

CakePHP Easter eggs

The documentation for CakePHP has grown in leaps and bounds since the creation of the cookbook. Today I wanted to look at a few methods and conventions that may not be crystal clear from reading the book or api.

Object::_set().

Object is the parent class for almost all other classes in CakePHP.

Updates galore and replacement icon for eclipse

So instead of an article this time around I’ve done some housekeeping and updated the geshi helper to a newer version that includes the ‘show plain code’ links and I’ve provided a sample of the javascript I use to do the effect. Furthermore, I’ve updated the licensing on it to be harmonious with the rest of the code found on this site.

Anatomy of a CakePHP Test Case

With all the talk of testing going on, I thought it would be good to look at how tests work and what is makes them tick. SimpleTest handles the bulk of test case execution, however, there are a few CakePHP specifics that are not part of a normal SimpleTest::UnitTestCase.

Session debugging in CakePHP

Often on IRC and the CakePHP google group, I hear people asking how to get values out of the Session or how to find out what is currently in the Session. Generally this is connected to AuthComponent, which is can be complicated component. However, some simple ‘crude’ PHP tactics can make the “whats’s in my session?” question very simple.

Quick and dirty 'Down for Maintenance' page with CakePHP

Websites need maintenance, and sometimes that maintenance requires the site to go down for a little bit as you tweak the database, add additional capacity or make large changes to the application code. In these circumstances you cannot afford to have users mucking about on your application. However, you might need access to ensure all your amazing upgrades go smoothly or perhaps do the upgrading inside the application itself.

Creating easy reports with pivot tables

I’ve been working on a project that collects various surveys and stores the data very much like below.

table schema

While this is a data structure is very normalized and provides a flexible base to build various surveys with. What it does not provide is an easy interface for building reports.