diff --git a/README.md b/README.md index b8610aa..8e7da6f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,93 @@ -# disco-service-tracker-plugin +# Disco Service Tracker Plugin -Disco ICT Plugin - Enhanced service/support tracking with priority management, location tracking, tile dashboard, and SLA monitoring \ No newline at end of file +Enhanced service/support tracking plugin for [Disco ICT](https://discoict.com.au/) that augments the built-in job management system with priority management, device location tracking, a visual tile dashboard, and SLA monitoring. + +## Features + +### Priority Management +- **5 default priority levels**: Critical (4h SLA), High (8h), Medium (24h), Low (72h), Scheduled (no SLA) +- Fully customisable — add/remove/rename priorities, set your own SLA timeframes +- Colour-coded for at-a-glance identification + +### Device Location Tracking +- Track where each device currently sits: IT Office, With User, At Repairer, In Transit, Storage, Disposed +- Customisable locations with icons and colours +- Filter dashboard by location + +### Tile Dashboard +- Visual card-based view of all open jobs +- Each tile shows: device name, user, location badge, priority, status, assigned tech, ETA, latest note +- Sort by due date, priority, age, SLA status, or last updated +- Filter by priority, location, status, or assigned technician +- SLA breach alerts with pulsing red borders +- Tech workload summary bar + +### SLA Monitoring +- Automatic SLA deadline calculation based on priority level +- Breach detection with prominent alert banners +- Warning indicators when approaching SLA deadline (within 25%) + +### Activity Notes +- Add timestamped notes to any ticket +- Note types: General, Update, Escalation, Resolution +- Visual timeline on ticket detail page + +### Export +- CSV export of all open tickets with full metadata + +## Building + +```powershell +.\Build-Plugin.ps1 -DiscoBinPath "C:\Program Files\Disco\WebApp\bin" +``` + +This will: +1. Resolve references against your Disco installation +2. Build the plugin DLL +3. Generate the manifest.json +4. Package everything into a `.discoPlugin` file + +## Installation + +1. Build the plugin (see above) +2. In Disco ICT, go to **Configuration > Plugins > Install Plugin** +3. Upload the `.discoPlugin` file +4. Restart the Disco web service +5. Access the dashboard via **Plugins > Service Tracker** or navigate to `/Plugin/Disco.Plugins.ServiceTracker/Dashboard` + +## Configuration + +Default configuration is created automatically on install. To customise: + +- **Priorities**: Edit `config.json` in the plugin data directory (`App_Data\Plugins\Disco.Plugins.ServiceTracker\`) +- **Locations**: Same file — add/remove/rename device locations +- **Status Options**: Customise the status dropdown values +- **Auto-create tickets**: Toggle whether new Disco jobs automatically get a Service Tracker ticket + +### Default Priority Levels + +| Priority | Colour | SLA | Description | +|----------|--------|-----|-------------| +| Critical | Red | 4 hours | System down, no workaround | +| High | Orange | 8 hours | Major impact, workaround available | +| Medium | Yellow | 24 hours | Moderate impact | +| Low | Green | 72 hours | Minor issue, no urgency | +| Scheduled | Grey | None | Planned work | + +## Data Storage + +The plugin stores its metadata (priorities, locations, notes, SLA deadlines) in JSON files alongside the Disco database. It reads Disco Job records directly via the `DiscoDataContext` and overlays additional tracking data. + +- `config.json` — Plugin configuration (priorities, locations, status options) +- `tickets.json` — Extended ticket metadata for each tracked job + +## Requirements + +- Disco ICT (with plugin support) +- .NET Framework 4.5+ +- MSBuild (Visual Studio or .NET Framework SDK) + +## Author + +**Jess Rogerson** +https://gitea.hideawaygaming.com.au/jessikitty