Template placeholder

This dashboard is not built yet.

DateNWed was generated from the OTROTL site template. Sign-in, the dashboard shell around this page and its menus are live shared services; the content that belongs here has not been written. This page stands in for it and says where to start.

Profile Settings Help

These three open here, in this workspace frame.

Where the tiles come from

  1. Tiles are rows, not code. Each tile in the sidebar is a row in dashboard.apps, seeded by db/migrations/CUSTOM/V315__dashboard__seed_template.sql. Its category comes from dashboard.app_category_mapping (a tile with no category is invisible).
  2. Roles decide who sees a tile. dashboard.role_app_access grants each role in authz.site_default_roles a tile. The seed gives ADMIN every tile and USER the non-admin ones.
  3. app_type decides where a tile opens. PAGE loads app_url into this workspace frame; EXTERNAL opens it in a new tab. A PAGE must be a page this site serves and allows its own origin to frame, or the workspace stays empty.
  4. Add or repoint a tile with a new migration. Never edit an applied file. Claim the next number, add a file under db/migrations/CUSTOM/, and write one guarded, re-runnable statement, as V500__dashboard__tools_embed_tiles.sql and V906__dashboard__home_tile_start_page.sql do. Record its checksum in db/migration_manifest.json.
  5. Replace this page. It is frontend/dashboard/dashboard-start.html, served at /dashboard-start by backend/app/dashboard_placeholders.py. Build the real home there, or point the home tile somewhere else.

Where the contract is written down

A tile whose target is not set up on this site shows a page like this one.