Aggiunta colonna "Version" alla tabella dei device nella pagina /Devices/List per mostrare la versione del client SecureBootWatcher installato su ogni dispositivo.
SecureBootDashboard.Web\Pages\Devices\List.cshtml
<th><i class="fas fa-code-branch"></i> Version</th><td>
@if (!string.IsNullOrEmpty(device.ClientVersion))
{
<code class="text-muted small">@device.ClientVersion</code>
}
else
{
<span class="text-muted">-</span>
}
</td>Prima (senza colonna Version):
| Machine Name | Domain | Fleet | Manufacturer/Model | Secure Boot | ... |
Dopo (con colonna Version):
| Machine Name | Domain | Fleet | Version | Manufacturer/Model | Secure Boot | ... |
| PC-001 | contoso| mslabs| 1.5.0.48182| Dell / Optiplex | Enabled | ... |
| PC-002 | contoso| mslabs| 1.5.0.48180| HP / EliteDesk | Enabled | ... |
| PC-003 | contoso| prod | - | Lenovo / ThinkCentre| Disabled | ... |
Versione presente:
<code class="text-muted small">1.5.0.48182</code>- Font monospace (
<code>) - Colore grigio tenue (
text-muted) - Dimensione small
Versione assente:
<span class="text-muted">-</span>- Trattino grigio
- Machine Name - Nome dispositivo con link a dettagli
- Domain - Dominio Windows
- Fleet - Badge fleet ID
- Version ? - Versione client (nuovo)
- Manufacturer / Model - Hardware info
- Secure Boot - Stato Secure Boot
- Reports - Conteggio report
- State - Deployment state (Deployed/Pending/Error)
- Last Seen - Ultimo report ricevuto
- Actions - Pulsanti azioni
- ? Versione client visibile a colpo d'occhio
- ? Identificazione rapida di client obsoleti
- ? Nessun click aggiuntivo necessario
- ? Verifica distribuzione versione per fleet
- ? Identificazione device che necessitano aggiornamento
- ? Audit compliance versione minima
- ? Correlazione problemi con versione client
- ? Verifica deployment riuscito
- ? Identificazione versioni miste in fleet
- Pagina dedicata per analisi dettagliata versioni
- Raggruppamento device per versione
- Badge status (Up-to-Date, Outdated, Unsupported)
- Versione già presente nei dettagli device
- Consistenza informazioni tra pagine
- Possibile aggiunta widget versione più usata
- Alert per versioni obsolete
Obiettivo: Verificare che tutti i device abbiano ricevuto la versione 1.5.0
Pagina: /Devices/List
Filtro: Nessuno (mostra tutti)
Analisi Visiva:
| Machine Name | Version | State |
|-------------|------------|----------|
| PC-001 | 1.5.0.48182| Deployed | ? Aggiornato
| PC-002 | 1.5.0.48182| Deployed | ? Aggiornato
| PC-003 | 1.4.0.48100| Deployed | ?? Obsoleto
| PC-004 | - | Unknown | ? Non installato
Azioni:
- PC-003: Schedulare aggiornamento
- PC-004: Installare client
Obiettivo: Verificare che nessun device abbia versione < 1.3.0 (MinimumVersion)
Pagina: /ClientVersions o /Devices/List
Verifica:
- Device con versione < 1.3.0 mostrati in rosso (Unsupported)
- Colonna Version permette ordinamento visivo
Report:
SELECT MachineName, ClientVersion, LastSeenUtc
FROM Devices
WHERE ClientVersion IS NOT NULL
AND CAST(SUBSTRING(ClientVersion, 1, CHARINDEX('.', ClientVersion) - 1) AS INT) < 1
OR (CAST(SUBSTRING(ClientVersion, 1, CHARINDEX('.', ClientVersion) - 1) AS INT) = 1
AND CAST(SUBSTRING(ClientVersion, CHARINDEX('.', ClientVersion) + 1, 1) AS INT) < 3)
ORDER BY ClientVersion ASC;Problema: Device PC-005 non invia report
Analisi:
- Vai a
/Devices/List - Cerca "PC-005"
- Controlla colonna Version:
- Se
-? Client non installato o non funzionante - Se versione vecchia ? Possibile bug risolto in versione nuova
- Se versione corrente ? Problema non legato a versione
- Se
code {
font-family: 'Courier New', Courier, monospace;
background-color: transparent;
color: #6c757d;
font-size: 0.875rem;
}
.text-muted {
color: #6c757d !important;
}
.small {
font-size: 0.875rem;
}Desktop (>992px):
- Tutte le colonne visibili
- Larghezza automatica
Tablet (768-991px):
- Colonne compatte
- Font size ridotto
Mobile (<768px):
- Tabella scrollabile orizzontalmente
- Colonne essenziali priorità alta
Con GitVersioning (standard):
1.5.0.48182
? ? ? ??????? BUILD (git height)
? ? ????????? PATCH
? ??????????? MINOR
????????????? MAJOR
Senza GitVersioning (fallback):
1.0.0.0
Versione Assente:
-
Database (Devices table):
SELECT MachineName, ClientVersion
FROM Devices
WHERE ClientVersion IS NOT NULL;Report (SecureBootStatusReport):
{
"clientVersion": "1.5.0.48182",
"device": {
"machineName": "PC-001",
"clientVersion": "1.5.0.48182"
}
}Visual Tests:
- Colonna Version visibile in tabella
- Icona
fas fa-code-branchpresente nell'header - Versione formattata come
<code>monospace - Colore grigio tenue (
text-muted) - Trattino
-per device senza versione
Functional Tests:
- Versione corretta per ogni device
- Consistenza con Device Details page
- Consistenza con ClientVersions page
- Nessun errore JavaScript console
Responsive Tests:
- Desktop: colonna leggibile e ben spaziata
- Tablet: colonna visibile ma compatta
- Mobile: tabella scrollabile, colonna presente
Data Tests:
- Device con versione: mostra versione corretta
- Device senza versione: mostra
- - Device con versione NULL: mostra
- - Device vecchio (pre-versioning): mostra
-o1.0.0.0
dotnet build SecureBootDashboard.Webcd SecureBootDashboard.Web
dotnet run
# Naviga a https://localhost:7001/Devices
# Verifica colonna Version# Azure App Service
dotnet publish SecureBootDashboard.Web -c Release -o ./publish
# Deploy tramite Azure Portal o CLIhttps://your-dashboard.azurewebsites.net/Devices
- ?
SecureBootDashboard.Web\Pages\Devices\List.cshtml
/ClientVersions- Analisi versioni dettagliata/Devices/Details/{id}- Dettagli device (include versione)/Index- Dashboard homepage
docs\CLIENT_VERSION_TRACKING.md- Sistema tracking versionidocs\VERSION_FORMAT_STANDARDIZATION.md- Formato versionedocs\CLIENT_VERSIONS_PAGE_API_FIX.md- Fix pagina ClientVersions
? Enhancement Completato: Colonna "Version" aggiunta alla Device List
Posizione: Dopo "Fleet", prima di "Manufacturer/Model"
Formato: <code class="text-muted small">1.5.0.48182</code>
Icona Header: fas fa-code-branch
Fallback: - se versione non disponibile
Benefici:
- ? Visibilità immediata versione client
- ? Identificazione rapida device obsoleti
- ? Supporto troubleshooting e audit
- ? Consistenza con altre pagine
Build Status: ? Successful
Breaking Changes: ? None
UI Impact: ? Miglioramento UX
Enhancement Applicata: 2025-01-11
Status: ? COMPLETO E PRONTO PER DEPLOY