94 lines
3.4 KiB
Markdown
94 lines
3.4 KiB
Markdown
# Disco Service Tracker Plugin
|
|
|
|
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
|