dereuromark/cakephp-bouncer

CakePHP plugin for approval workflow - users propose changes, admins approve or reject before publishing

Maintainers

Package info

github.com/dereuromark/cakephp-bouncer

Type:cakephp-plugin

pkg:composer/dereuromark/cakephp-bouncer

Statistics

Installs: 2 439

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 2

0.1.6 2026-02-25 21:52 UTC

This package is auto-updated.

Last update: 2026-03-09 19:36:00 UTC


README

Build Status Coverage Status PHPStan Latest Stable Version Minimum PHP Version License Total Downloads

This plugin implements an approval workflow for CakePHP applications. Users propose changes (create or edit records), and admins/moderators can review, approve, or reject those changes before they are published to the actual database tables.

Perfect for:

  • Content management systems requiring editorial approval
  • User-generated content that needs moderation
  • Data entry systems with quality control
  • Multi-stage approval workflows

Note: Revert functionality is intentionally out of scope for this plugin. For reverting changes to previous states, use the cakephp-audit-stash plugin which provides comprehensive audit logging and revert capabilities. Bouncer focuses solely on the approval workflow for proposed changes.

Features

  • Seamless Integration: Add approval workflow to any table with a single behavior
  • Draft Management: Users automatically edit their existing drafts instead of creating duplicates
  • Admin Interface: Built-in UI for reviewing and approving/rejecting changes with diff view
  • Flexible Configuration: Configure which actions require approval, use custom bypass callbacks
  • Transaction Safety: Atomic approval process with rollback on errors
  • AuditStash Integration: Works seamlessly with cakephp-audit-stash for complete audit trail

Installation

Install via composer:

composer require dereuromark/cakephp-bouncer
bin/cake plugin load Bouncer

Run the migrations to create the `bouncer_records` table:

bin/cake migrations migrate -p Bouncer

Documentation

See docs/README.md for detailed documentation including:

  • Quick start guide
  • Configuration options
  • Advanced usage (bypass callbacks, programmatic approval)
  • AuditStash integration
  • How it works

Demo

See the plugin in action: https://sandbox.dereuromark.de/sandbox/bouncer-examples

Contributing

See CONTRIBUTING.md for details on how to contribute to this project.