Skip to content

Latest commit

 

History

History
49 lines (33 loc) · 2.98 KB

File metadata and controls

49 lines (33 loc) · 2.98 KB

Forms Optel Dashboard — Development Guidelines

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.

Active Technologies

  • 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 under guides/)
  • 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.

URL State Contract

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.

Recent Changes

  • 012-configurable-domain: Domain is now read from ?domain= URL parameter. Hardcoded domain removed. Domain label displayed top-right. URL autocomplete placeholder updated to https://<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.