35 lines
2.4 KiB
Markdown
35 lines
2.4 KiB
Markdown
# Roadmap
|
||
|
||
## Goal
|
||
|
||
A hosted dashboard where staff in each MCCS region sign in and see their own region's queue. It should be customisable per user, and easy to extend with new panels.
|
||
|
||
## Target architecture
|
||
|
||
- **Identity:** users sign in (Zoho web OAuth, or Microsoft if MCCS staff use it) only to identify themselves.
|
||
- **Data:** one service connection, signed in once by an admin, with its refresh token kept and auto-renewed. Its SDP account must be able to see every region.
|
||
- **Regions:** profiles stored in SQLite (sites, groups, technicians, statuses). Checks run once per region and the results are cached, so API traffic grows with regions, not viewers.
|
||
- **Access:** users are assigned to regions and the server enforces it. An admin role manages regions and assignments.
|
||
- **Extensibility:** each panel is a module with server code to fetch its data and page code to draw it. The weather card is the first example.
|
||
|
||
## Phases
|
||
|
||
Phases 2 to 5 (regions as configuration, user sign-in, admin pages, deployment) were dropped on 2026-10-15. Don't start them. The whole auth process is being rebuilt to run on a server instead of locally, and the plan after phase 1 will be redrawn around that. Until then, the Identity, Data and Access bullets in the target architecture above may be out of date. The open questions below still need answering.
|
||
- [ ] **Later:** per-user preferences (default region, hidden columns, sound) and panel modules.
|
||
|
||
## Open questions
|
||
|
||
- Are regions a **security boundary** (staff can't see other regions) or a **convenience** (default view with a switcher)?
|
||
- Do MCCS staff sign in with Microsoft 365 or Entra ID? That decides between Zoho and Microsoft sign-in.
|
||
- Does SDP itself restrict technicians to certain sites? If it does, per-user tokens become an option.
|
||
|
||
## Done
|
||
|
||
- Dashboard: stat tiles, technician × status table, live closed feed with the ding.
|
||
- Central region scoping by site and group.
|
||
- Unassigned counter. Verified to match the ManageEngine "Central Region Unassigned" view on 2026-10-15.
|
||
- Weather card (OpenWeatherMap).
|
||
- Fixed SDP paging and the date filter (see `NOTES.md`).
|
||
- Phase 1: the Zoho refresh token is kept, the access token is renewed 5 minutes before it expires, and the sign-in is saved to `data/token.json` (`TOKEN_FILE`) so it survives restarts.
|
||
- Phase 1b: Connect and Refresh are admin-only (`ADMIN_KEY`, or localhost when no key is set), and only admins see the device code. Phase 3 replaces the key with real sign-in.
|