===== Acts as versioned plugin for Akelos Active Records ===== This plugin adds versioning capabilities to you Active Record Models. ==== Installation ==== ./script/plugin install acts_as_versioned ==== Enabling versioning in your models ==== Say you have a Chapter model and you want to keep the latest 20 modifications for each chapter. ==== Adding the acts as behaviour to your Chapter model ==== //./app/models/chapter.php// array('limit'=>10)); } ?> ==== Modifying your ''chapters'' table to add a version number and create a ''chapter_versions'' table ==== //./app/installers/chapter_installer.php// versioned->createVersionedTable(); } function down_1() { //..... } function down_2() { $Chapter =& new Chapter(); $Chapter->versioned->dropVersionedTable(); } } ?> ==== Using your brand new versioning system ==== * Behaviour handler $Chapter->versioned * Loads versions, pass true to force a db reload $Chapter->versioned->load() * Rolling back a version $Chapter->versioned->revertToVersion(3); * Same as find() but scoped to older versions $Chapter->versioned->find(); * An array with your versions $Chapter->versions * Next versioned item if exists $Chapter->versions[2]->getNext(); * Previous versioned item if exists $Chapter->versions[2]->getPrevious();