Skip to content

Latest commit

 

History

History
366 lines (273 loc) · 8.11 KB

File metadata and controls

366 lines (273 loc) · 8.11 KB

? Client Version Column Added to Device List

?? Enhancement

Aggiunta colonna "Version" alla tabella dei device nella pagina /Devices/List per mostrare la versione del client SecureBootWatcher installato su ogni dispositivo.


?? Modifiche Implementate

File Modificato

SecureBootDashboard.Web\Pages\Devices\List.cshtml

Nuova Colonna nella Tabella

Header

<th><i class="fas fa-code-branch"></i> Version</th>

Cella Dati

<td>
    @if (!string.IsNullOrEmpty(device.ClientVersion))
    {
        <code class="text-muted small">@device.ClientVersion</code>
    }
    else
    {
        <span class="text-muted">-</span>
    }
</td>

?? Risultato Visivo

Tabella Device List

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   | ... |

Stile Applicato

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

?? Ordine Colonne Finale

  1. Machine Name - Nome dispositivo con link a dettagli
  2. Domain - Dominio Windows
  3. Fleet - Badge fleet ID
  4. Version ? - Versione client (nuovo)
  5. Manufacturer / Model - Hardware info
  6. Secure Boot - Stato Secure Boot
  7. Reports - Conteggio report
  8. State - Deployment state (Deployed/Pending/Error)
  9. Last Seen - Ultimo report ricevuto
  10. Actions - Pulsanti azioni

?? Benefici

1. Visibilità Immediata

  • ? Versione client visibile a colpo d'occhio
  • ? Identificazione rapida di client obsoleti
  • ? Nessun click aggiuntivo necessario

2. Gestione Fleet

  • ? Verifica distribuzione versione per fleet
  • ? Identificazione device che necessitano aggiornamento
  • ? Audit compliance versione minima

3. Troubleshooting

  • ? Correlazione problemi con versione client
  • ? Verifica deployment riuscito
  • ? Identificazione versioni miste in fleet

?? Integrazione con Altre Funzionalità

Client Versions Page (/ClientVersions)

  • Pagina dedicata per analisi dettagliata versioni
  • Raggruppamento device per versione
  • Badge status (Up-to-Date, Outdated, Unsupported)

Device Details Page (/Devices/{id})

  • Versione già presente nei dettagli device
  • Consistenza informazioni tra pagine

Dashboard Homepage (/Index)

  • Possibile aggiunta widget versione più usata
  • Alert per versioni obsolete

?? Esempi di Utilizzo

Scenario 1: Verifica Deployment Nuova Versione

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

Scenario 2: Audit Compliance

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;

Scenario 3: Troubleshooting Problemi

Problema: Device PC-005 non invia report

Analisi:

  1. Vai a /Devices/List
  2. Cerca "PC-005"
  3. 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

?? Stile e Formattazione

CSS Applicato (già presente in <style> section)

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;
}

Responsive Design

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

?? Dati Mostrati

Formato Versione

Con GitVersioning (standard):

1.5.0.48182
? ? ? ??????? BUILD (git height)
? ? ????????? PATCH
? ??????????? MINOR
????????????? MAJOR

Senza GitVersioning (fallback):

1.0.0.0

Versione Assente:

-

Origine Dati

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"
  }
}

? Testing Checklist

Visual Tests:

  • Colonna Version visibile in tabella
  • Icona fas fa-code-branch presente 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 - o 1.0.0.0

?? Deployment

1. Build

dotnet build SecureBootDashboard.Web

2. Test Locale

cd SecureBootDashboard.Web
dotnet run

# Naviga a https://localhost:7001/Devices
# Verifica colonna Version

3. Deploy Produzione

# Azure App Service
dotnet publish SecureBootDashboard.Web -c Release -o ./publish
# Deploy tramite Azure Portal o CLI

4. Verifica

https://your-dashboard.azurewebsites.net/Devices

?? Riferimenti

File Modificati

  • ? SecureBootDashboard.Web\Pages\Devices\List.cshtml

Pagine Correlate

  • /ClientVersions - Analisi versioni dettagliata
  • /Devices/Details/{id} - Dettagli device (include versione)
  • /Index - Dashboard homepage

Documentazione

  • docs\CLIENT_VERSION_TRACKING.md - Sistema tracking versioni
  • docs\VERSION_FORMAT_STANDARDIZATION.md - Formato versione
  • docs\CLIENT_VERSIONS_PAGE_API_FIX.md - Fix pagina ClientVersions

?? Summary

? 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