generated from MokoConsulting/Template-Joomla
0cf50d3edf
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 25s
Generic: Project CI / Lint & Validate (pull_request) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Universal: PR Check / Secret Scan (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Has been cancelled
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Add the canonical Moko exclusions matching the Template repos: .gemini/ alongside .claude/, the AI client-instructions block, and the local wiki clone block (wiki/, docs/). Update CLAUDE.md never-commit rule if present. Authored-by: Moko Consulting
2.3 KiB
2.3 KiB
MokoSuiteInsight
Real-time dashboards, KPI monitoring, and alerting for Joomla 6. Chart.js 4 rendering, pluggable data sources.
Quick Reference
| Field | Value |
|---|---|
| Package | pkg_mokosuitesight |
| Layer | Standalone (auto-detects installed modules) |
| Language | PHP 8.3+ / JavaScript (Chart.js 4) |
| Branch | develop on dev, merge to main (protected) |
| Wiki | MokoSuiteInsight Wiki |
Architecture
Joomla package (pkg_mokosuitesight) — standalone module, auto-discovers installed MokoSuite data sources.
Optional Integrations
- Any MokoSuite module — auto-detected via
class_exists()for data source registration - Built-in sources:
crm.contact_count,crm.deals_pipeline,crm.revenue_monthly,pos.daily_sales,hrm.headcount
Helpers (5)
DashboardHelper— CRUD, widget management, user dashboardsDataSourceHelper— pluggable metric connectors, query interfaceAlertHelper— threshold monitoring, fire/acknowledge, cooldownWidgetHelper— Chart.js data formatting (counter, line, bar, pie, gauge, table, sparkline, heatmap, funnel)ExportHelper— CSV from any widget, dashboard snapshot logging
Key Patterns
- Data sources register themselves — each MokoSuite module provides a
DataSourceclass - AlertHelper skips non-scalar data sources (prevents false triggers on list-type sources)
- Widget rendering is server-side data + client-side Chart.js
Source Directory
source/pkg_mokosuitesight.xml— package manifestsource/packages/— sub-extensions
Rules
- Never commit
.claude/,.gemini/,.mcp.json,TODO.md,*.min.css/*.min.js - Attribution:
Authored-by: Moko Consulting - Workflow directory:
.mokogitea/ - Wiki: documentation lives in the Gitea wiki, not
docs/files - Standards: MokoStandards
- Changelog:
[Unreleased]only — release system assigns versions
Coding Standards
- PHP 8.3+ / Joomla 6 patterns
$this->getDatabase()in models,Factory::getContainer()->get(DatabaseInterface::class)in helpersFactory::getApplication()->getIdentity()for user- Chart.js config passed as JSON from PHP — no inline JS in views