feat: expanded ticket automation with Joomla/CB event triggers and behavior options #151

Open
opened 2026-06-04 12:06:19 +00:00 by jmiller · 1 comment
Owner

Summary

Expand the ticket automation engine beyond ticket lifecycle events to include Joomla system events and Community Builder events. Add behavior options for how events create or append to tickets.

New Trigger Events

Joomla Events

  • user_login - User logged in (admin or site)
  • user_register - New user registered
  • user_login_failed - Failed login attempt
  • content_save - Article/content saved
  • extension_install - Extension installed/updated

Community Builder Events

  • cb_user_register - CB user registered
  • cb_profile_update - Profile updated
  • cb_moderation - Content awaiting moderation
  • cb_user_banned - User banned

Scheduled

  • mokowaas.tickets.autoclose - Auto-close resolved tickets
  • mokowaas.tickets.sla_check - SLA breach detection
  • mokowaas.tickets.retention - Privacy retention enforcement

Behavior Options

When an automation rule fires and the action is to create a ticket:

  • append (default) - If an open ticket exists for the same user + category, add a reply instead of creating a new ticket
  • always_new - Always create a new ticket
  • skip_if_open - Do nothing if an open ticket exists for this user + category

Architecture

  • System plugin (plg_system_mokowaas) subscribes to Joomla events and delegates to automation engine
  • CB events via onAfterUserUpdate etc.
  • Scheduled task plugin registers 3 separate task types for independent cron schedules
  • Automation rules table gets a behavior column
## Summary Expand the ticket automation engine beyond ticket lifecycle events to include Joomla system events and Community Builder events. Add behavior options for how events create or append to tickets. ## New Trigger Events ### Joomla Events - [ ] user_login - User logged in (admin or site) - [ ] user_register - New user registered - [ ] user_login_failed - Failed login attempt - [ ] content_save - Article/content saved - [ ] extension_install - Extension installed/updated ### Community Builder Events - [ ] cb_user_register - CB user registered - [ ] cb_profile_update - Profile updated - [ ] cb_moderation - Content awaiting moderation - [ ] cb_user_banned - User banned ### Scheduled - [ ] mokowaas.tickets.autoclose - Auto-close resolved tickets - [ ] mokowaas.tickets.sla_check - SLA breach detection - [ ] mokowaas.tickets.retention - Privacy retention enforcement ## Behavior Options When an automation rule fires and the action is to create a ticket: - **append** (default) - If an open ticket exists for the same user + category, add a reply instead of creating a new ticket - **always_new** - Always create a new ticket - **skip_if_open** - Do nothing if an open ticket exists for this user + category ## Architecture - System plugin (plg_system_mokowaas) subscribes to Joomla events and delegates to automation engine - CB events via onAfterUserUpdate etc. - Scheduled task plugin registers 3 separate task types for independent cron schedules - Automation rules table gets a behavior column
jmiller added the joomlaphp labels 2026-06-04 12:06:19 +00:00
Author
Owner

Branch created: feature/151-feat-expanded-ticket-automation-with-joo

git fetch origin
git checkout feature/151-feat-expanded-ticket-automation-with-joo
Branch created: [`feature/151-feat-expanded-ticket-automation-with-joo`](https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/src/branch/feature/151-feat-expanded-ticket-automation-with-joo) ```bash git fetch origin git checkout feature/151-feat-expanded-ticket-automation-with-joo ```
Sign in to join this conversation.
No labels joomla php
Type Feature
Status
Priority
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoWaaS#151