KMP PHP API Reference

ActivitiesPlugin extends BasePlugin
in package
implements KMPPluginInterface, KMPApiPluginInterface

ActivitiesPlugin - Member Authorization and Participation Management System

Core plugin managing member authorization workflows for activity-based participation. Provides authorization lifecycle management, multi-level approval workflows, and temporal access control integrated with KMP's RBAC system.

See comprehensive documentation: 5.6.1-activities-plugin-architecture.md

Tags
see
AuthorizationManagerInterface

Authorization business logic service

see
DefaultAuthorizationManager

Default authorization implementation

see
ActivitiesNavigationProvider

Dynamic navigation provider

see
ActivitiesViewCellProvider

Context-sensitive UI components

Table of Contents

Interfaces

KMPPluginInterface
Plugin architecture contract for KMP plugins.
KMPApiPluginInterface
Contract for plugins that publish API routes.

Properties

$_migrationOrder  : int
Plugin Migration Order

Methods

__construct()  : mixed
Plugin Constructor with Configuration Support
bootstrap()  : void
Bootstrap Plugin Configuration and Service Registration
console()  : CommandCollection
Register Plugin Console Commands
getMigrationOrder()  : int
Get Migration Order for Plugin Initialization
middleware()  : MiddlewareQueue
Configure Plugin Middleware
registerApiRoutes()  : void
Register API routes for the Activities plugin.
routes()  : void
Configure Plugin Routing
services()  : void
Register Plugin Services with Dependency Injection Container

Properties

$_migrationOrder

Plugin Migration Order

protected int $_migrationOrder = 0

Configurable migration order (default: 0) for controlling initialization sequence relative to other plugins. Set to 1 for base system behavior.

Plugin initialization order

Methods

__construct()

Plugin Constructor with Configuration Support

public __construct([array<string|int, mixed> $config = [] ]) : mixed

Initializes the plugin with configuration options, particularly the migration order which can be overridden through plugin configuration.

Configuration Options:

  • migrationOrder: Override default migration order (default: 0)
Parameters
$config : array<string|int, mixed> = []

Plugin configuration options

bootstrap()

Bootstrap Plugin Configuration and Service Registration

public bootstrap(PluginApplicationInterface $app) : void

Initializes the plugin by registering services, event handlers, navigation, view cells, and configuration management. Manages configuration versioning with automatic updates and backward compatibility.

Configuration Version Management:

  • Tracks current version to detect migration requirements
  • Initializes default settings on first run
  • Cleans up deprecated settings
  • Ensures consistent configuration across deployments

See documentation: 5.6.1-activities-plugin-architecture.md

Parameters
$app : PluginApplicationInterface

The host application

console()

Register Plugin Console Commands

public console(CommandCollection $commands) : CommandCollection

Extension point for CLI commands. Reserved for future administrative and maintenance commands supporting cleanup, status updates, reporting, and data migrations.

Planned Commands:

  • bin/cake activities cleanup_expired
  • bin/cake activities status_report
  • bin/cake activities migrate_data
Parameters
$commands : CommandCollection

The command collection to update

Return values
CommandCollection

Updated command collection

getMigrationOrder()

Get Migration Order for Plugin Initialization

public getMigrationOrder() : int

Returns the migration order determining when this plugin initializes relative to other plugins.

Return values
int

Migration order value

middleware()

Configure Plugin Middleware

public middleware(MiddlewareQueue $middlewareQueue) : MiddlewareQueue

Extension point for plugin-specific middleware. Currently no custom middleware is required. Potential applications include authorization checks, audit logging, rate limiting, and additional validation layers.

Parameters
$middlewareQueue : MiddlewareQueue

The middleware queue to update

Return values
MiddlewareQueue

Updated middleware queue

registerApiRoutes()

Register API routes for the Activities plugin.

public registerApiRoutes(RouteBuilder $builder) : void
Parameters
$builder : RouteBuilder

API v1 route builder

routes()

Configure Plugin Routing

public routes(RouteBuilder $routes) : void

Establishes URL routing for the Activities plugin under the /activities path. Uses CakePHP's fallback routing for standard controller/action patterns.

Route Examples:

  • GET /activities → ActivitiesController::index()
  • GET /activities/authorizations → AuthorizationsController::index()
  • POST /activities/authorizations/request → AuthorizationsController::request()
  • GET /activities/activity-groups → ActivityGroupsController::index()
Parameters
$routes : RouteBuilder

The route builder for configuration

services()

Register Plugin Services with Dependency Injection Container

public services(ContainerInterface $container) : void

Registers AuthorizationManagerInterface with its default implementation. The service handles authorization lifecycle and business logic for all authorization workflows.

Service Details:

  • Interface: Activities\Services\AuthorizationManagerInterface
  • Implementation: Activities\Services\DefaultAuthorizationManager
  • Dependency: App\Services\ActiveWindowManager\ActiveWindowManagerInterface
  • Provides: Authorization request, approval, denial, and revocation workflows

See documentation: 5.6.1-activities-plugin-architecture.md

Parameters
$container : ContainerInterface

The DI container to configure


        
On this page

Search results