docs: add Claude context overview and session log
This commit is contained in:
1 parent
82a49b4414
commit
160d9077b3
1 file changed
+51
@@ -0,0 +1,51 @@
|
||||
# disco-service-tracker-plugin — Claude Context Overview
|
||||
|
||||
A Disco ICT plugin that provides a live service dashboard for open jobs, pulling from both Disco's own database and an NTT Google Sheet. Built entirely in C# as a single-assembly Disco plugin.
|
||||
|
||||
## Repo
|
||||
https://gitea.hideawaygaming.com.au/jessikitty/disco-service-tracker-plugin
|
||||
|
||||
## Current Version
|
||||
v1.5.9
|
||||
|
||||
## Key Entry Points
|
||||
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| `ServiceTrackerPlugin.cs` | Plugin registration, Disco lifecycle hooks |
|
||||
| `WebHandler/ServiceTrackerWebHandler.cs` | All HTTP routing, HTML rendering (no Razor — inline string builders) |
|
||||
| `Services/ServiceTrackerService.cs` | Dashboard build logic, tile construction, bucket sorting |
|
||||
| `Services/GoogleSheetService.cs` | CSV fetch, cache, parse — maps column indices to `ExternalTicket` |
|
||||
| `Services/ServiceTrackerDataStore.cs` | JSON file persistence for tickets, external tickets, config |
|
||||
| `Services/DashboardCache.cs` | File-change-based cache invalidation for `BuildDashboard` |
|
||||
| `Models/ServiceTrackerConfig.cs` | Config model incl. `GoogleSheetConfig` with all column indices |
|
||||
| `Models/DashboardViewModel.cs` | `DashboardTile`, `DashboardViewModel`, `DashboardStats` |
|
||||
| `Models/ServiceTicket.cs` | Saved ticket overrides, notes, changelog |
|
||||
| `ConfigurationHandler/` | Disco config UI integration |
|
||||
|
||||
## Architecture Notes
|
||||
- No Razor/MVC views — all HTML is generated via `StringBuilder` in `WebHandler`
|
||||
- All state persisted as JSON files under `App_Data/Plugins/Disco.Plugins.ServiceTracker/`
|
||||
- NTT sheet tickets get stable integer IDs via a djb2 hash of (timestamp + email + task + issue)
|
||||
- Dashboard is cached per (sortBy + filterKey); cache busted when any data file changes
|
||||
- Sidebar panels are mutually exclusive buckets: rfr → onHold → awaitingVendor → awaitingParts → main grid
|
||||
|
||||
## Google Sheet Integration
|
||||
- Sheet published as CSV via Google Sheets "Publish to web"
|
||||
- All column indices configurable via Config UI (0-based; -1 = disabled)
|
||||
- Location resolved from `ColLocation` first, then `ColCampus` as fallback
|
||||
- Unmatched location text stored as `RawSheetLocation` on the tile for display
|
||||
- Closed NTT tickets suppressed by `StatusOverride` keyword check, not just sheet status
|
||||
|
||||
## Versioning Convention
|
||||
`PluginVersion` constant in `ServiceTrackerService.cs`. Bump on every meaningful change.
|
||||
|
||||
## Credit Footer
|
||||
All pages: `v{version} — Jess Rogerson © 2025`
|
||||
Plugin footnote: `Created by: Jess Rogerson (yelling commands at Claude.AI)`
|
||||
|
||||
---
|
||||
|
||||
## Session Log
|
||||
|
||||
- 2026-09-23 — Google Sheet Column Remapping, Sidebar Panels & Location Display — Fixed broken column mapping after sheet restructure; added Awaiting Vendor/Parts sidebar panels; made sidebar items clickable; added raw location display on NTT tiles; suppressed closed NTT ticket reappearance
|
||||
Reference in new issue
Block a user