Revise Operation


Revise allows your admins to store, see and undo changes to entries on an Eloquent model.

The operation provides you with a simple interface to work with venturecraft/revisionable, which is a great package that stores all changes in a separate table. It can work as an audit trail, a backup system and an accountability system for the admins.

When enabled, Revise will show another button in the table view, between Edit and Delete. On click, that button opens another page which will allow an admin to see all changes and who made them:

CRUD Revision Operation

How to Use

In order to enable this operation for a CrudController, you need to:

Step 1. Install the package that provides this operation. This will also install venturecraft/revisionable if it's not already installed in your project.

composer require backpack/revise-operation

Step 2. Create the revisions table:

cp vendor/venturecraft/revisionable/src/migrations/2013_04_09_062329_create_revisions_table.php database/migrations/ && php artisan migrate

Step 3. Use venturecraft/revisionable's trait on your model, and an identifiableName() method that returns an attribute on the model that the admin can use to distinguish between entries (ex: name, title, etc). If you are using another bootable trait be sure to override the boot method in your model.

namespace App\Models;

class Article extends Eloquent {
    use \Backpack\CRUD\app\Models\Traits\CrudTrait, \Venturecraft\Revisionable\RevisionableTrait;

    public function identifiableName()
        return $this->name;

    // If you are using another bootable trait
    // be sure to override the boot method in your model
    public static function boot()

Step 4. In your CrudController, use the operation trait:


namespace App\Http\Controllers\Admin;

use Backpack\CRUD\app\Http\Controllers\CrudController;

class ArticleCrudController extends CrudController
    use \Backpack\ReviseOperation\ReviseOperation;

For complex usage, head over to VentureCraft/revisionable to see the full documentation and configuration options.

Ready to go live?

You don't need a license code on localhost. But in production, you do.