dereuromark/cakephp-bouncer

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

Installs: 78

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 1

Type:cakephp-plugin

pkg:composer/dereuromark/cakephp-bouncer

0.1.1 2025-11-18 00:57 UTC

This package is auto-updated.

Last update: 2025-11-24 22:39:38 UTC


README

Build Status Minimum PHP Version License

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.