Three-pronged queue processing:
1. Joomla Scheduled Task (preferred): New plg_task_mokojoomcross plugin
registers "MokoJoomCross - Process Queue" task type. Admin creates
a scheduled task in System → Scheduled Tasks with desired interval.
2. Page-load fallback: System plugin onAfterRender with configurable
throttle interval. Runs on backend, frontend, or both. Small batch
size (5) to avoid slowing page loads.
3. Both can run simultaneously — QueueProcessor uses DB-based lock
to prevent concurrent execution (120s safety timeout).
Shared QueueProcessor helper handles:
- Queued post dispatch to service plugins
- Failed post retry with configurable max retries + delay
- Scheduled post firing (when scheduled_at <= now)
- Log cleanup based on retention period
Dashboard shows warning banner when page-load processing is active,
recommending switch to Joomla Scheduled Tasks for production.
Config options: queue_processing (scheduler/pageload/both),
pageload_client (admin/site/both), pageload_interval (seconds).
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
#1 Core engine: System plugin now dispatches to service plugins via
onMokoJoomCrossGetServices event, executes publish() immediately,
handles success/failure, duplicate guard prevents re-posting, listens
to both onContentAfterSave and onContentChangeState events. Template
rendering now resolves {category}, {author}, {date}, {fulltext}.
#3 Services CRUD: Admin list template with service type icons,
default/custom mode badges, publish toggle. Service edit form template.
#4 Post Queue: Admin list template with status badges (color-coded),
article title, service, message preview, platform post ID, error
messages, retry count, timestamps.
#5 Dashboard: Enhanced with recent activity feed from logs table,
migration controller action for PP Pro import, quick links sidebar.
#2 Telegram: Already implemented in scaffold, provider.php fixed.
Also fixes: All 9 service plugin provider.php files had broken
namespace references from bash heredoc escaping.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>