Last updated: 2026-02-27
Forms Optel Dashboard (Operational Telemetry) is a browser-based analytics dashboard for Optel data for web forms, per AEM Live documentation. It reads data from the Adobe RUM bundler API and presents four views: Error Analysis, Performance, Engagement, and Resources. No build step — native ES modules and importmaps in the browser.
Development Workflow
You must load these files to understand based on the task that is being performed Writing code for a feature guides/DeveloperGuide.md guides/structure.md code.md
Writing or running tests testing.md.
- JavaScript ES2022 ESM (browser-targeted, no build step) + Vitest 2.1.0 (unit/integration), Playwright 1.49.0 (E2E), ESLint 8.57.1 (linting)
- GitHub Actions (YAML) + PR template for update-pr-description workflow and review checklist
- File system (CLAUDE.md, rule files under
.claude/rules/, guides underguides/) - Speckit workflow (specify, clarify, plan, tasks, implement) + work-next subagent pipeline (see specs/009-work-next-subagents)
- Playwright 1.49.0, @playwright/test, dotenv for E2E (010-e2e-dynamic-url)
This section tracks technologies added or configured during feature development. It provides context for AI agents and developers about the current project state.
The dashboard reads all configuration from URL query parameters on page load:
| Parameter | Required | Description |
|---|---|---|
domain |
Yes | Target domain for RUM data (e.g. example.com). No default — omitting this param shows a "no domain configured" message and skips all data loading. |
domainkey |
No | Domain authentication key. If provided, used directly. If absent, fetched via localStorage token or open-access probe. |
tab |
No | Active dashboard tab (error, performance, engagement, resource). Defaults to error. |
startDate |
No | Start date in YYYY-MM-DD format. Defaults to 7 days ago. |
endDate |
No | End date in YYYY-MM-DD format. Defaults to today. |
url |
No | URL filter for the dashboard. |
No-domain state: When domain is absent from the URL, the dashboard displays an informative message (#url-results) and does not attempt any data fetch.
Domain label: When a domain is resolved, it is displayed as a read-only label (#domain-label) above the form controls.
- 012-configurable-domain: Domain is now read from
?domain=URL parameter. Hardcoded domain removed. Domain label displayed top-right. URL autocomplete placeholder updated tohttps://<domain>/after data loads. - 011-guides-restructure: Documentation restructured into guides/UserGuide.md and guides/DeveloperGuide.md (with sub-guides). README and CLAUDE.md shortened and point to guides.