Docs refresh: README, in-app user guide, screenshots

- README: configuration table, every web module, corrected filter and live
  update wording, Data/ file list.
- Using USMT Dash article rewritten as a user guide: pages and addresses,
  tracking, device details, filtering, phones and tablets, tips.
- Screenshots retaken from the current build.
This commit is contained in:
Johan Sandoval committed 2026-10-07 16:24:14 +00:00
1 parent 4cc810adf5
commit 18dc8961e2
9 files changed
+77 -24

No files matched your search

+38 -12
View File
@@ -51,7 +51,7 @@ a 1,300-device scope.
- **Device details**: AD OU and groups, hardware, disk, RAM, monitors, client health,
location, department, users, for both sides of a migration. A blank says why: *Not in AD*,
*Not in SCCM*, *No DNS record*, or *Waiting for worker...* if it hasn't been looked up yet.
The dialog refreshes in place when the worker finishes a cycle.
Open dialogs refresh in place as new data arrives.
- **Presence**: every ping is recorded, so each device shows when it was last online and how
many days it has been offline. Completed pairs and Skip USMT devices, which skip network checks
in the sweep, are pinged hourly during business hours and at midnight to keep theirs current.
@@ -59,9 +59,9 @@ a 1,300-device scope.
reachable are kept with their timestamps, and shown for completed migrations and offline
devices instead of blanks.
- **Excel-style filters** on every table: sort, search and tick values; list columns match
*any*, *only* or *exactly* the ticked items. On software columns, one click shows devices
whose apps all have a documentation article, and *Easiest first* sorts by how many apps
still lack one.
*any*, *only* or *exactly* the ticked items. On software columns, *Documented* + *Only
ticked* shows devices whose apps all have a documentation article, and *Easiest first*
sorts by how many apps still lack one.
- **Phones and tablets**: tables become cards with one *Filter & sort* button, and a floating
*Jump* button finds a device by name (scrolls to its card without filtering) or jumps to any
section, the top or the bottom of the page.
@@ -74,12 +74,14 @@ a 1,300-device scope.
is searchable, counted and split into *Applications* and *Troubleshooting & Guides*; PDF
export and print. Renaming an image rewrites every article that links to it. Articles named
after an app are linked from that app in the software view.
- **Business-hours scheduling**: the worker cycles every few minutes during working hours,
sleeps overnight, and makes a midnight "pitstop" for the daily software refresh.
*Force Update* and *Force Full Refresh* skip the wait. The dashboard updates live while a cycle runs
(swept rows are published every few seconds), newly tracked devices are swept and
published first, the sync dialog shows how long each kind of device (SCCM association,
manual pair, completed snapshot...) took.
- **Live, on a schedule**: the worker cycles every few minutes during business hours, sleeps
overnight, and makes a midnight "pitstop" for the daily software refresh. While a cycle
runs, the rows swept so far are published every few seconds, so the dashboard updates live;
newly tracked devices are swept and published first. *Force Update* and *Force Full
Refresh* skip the wait, and the sync dialog shows how long each kind of device (SCCM
association, manual pair, completed snapshot...) took.
- **Every page has an address** (`/status`, `/devices`, `/docs/Adobe Acrobat Pro`, ...), so
links, bookmarks and the back button work. The logo goes home to the Overview.
| | |
|---|---|
@@ -103,11 +105,15 @@ refresh" buttons drop flag files that the worker watches for.
| `Providers\SCCM.ps1` | Real data source: ConfigMgr module, site SQL database, ADSI, DNS/ICMP, admin shares |
| `Providers\Demo.ps1` | Simulated data source used by the demo (see below) |
| `Config\usmt-dash.psd1` | Every environment-specific setting |
| `web\index.html` | The dashboard (single-file HTML/JS, about 4,500 lines) |
| `web\index.html` | The dashboard (HTML/JS, about 4,600 lines) |
| `web\demo\demo.js` | Terminal panel, plus the demo-mode browser sandbox |
| `web\overview.js` | Overview page (issue counters, progress, locations, deployment calendar) |
| `web\device-info.js` | Shared device helpers: missing-data reasons, presence, snapshot markers |
| `web\excel-filter.js` | Excel-style sort / filter menus on every table; phone *Filter & sort* |
| `web\layout.js` / `layout.css` | Sticky headers, card view on phones and tablets, Custom View scrolling and column drag |
| `web\docs.js` | Knowledge base: permalinks, search, categories, PDF / print |
| `web\router.js` | Page addresses (`/status`, `/docs/...`) and back / forward |
| `web\jump.js` | Phones and tablets: jump to a device, a section, the top, middle or bottom |
### API
@@ -190,6 +196,24 @@ module), read access to the site database, AD read access, and admin-share acces
missing. See `Demo\Blacklisted-Apps.txt` for the syntax (plain patterns, `Suite = a*, b*`,
`Rule: DEVICE* = app*`, `Combo: Label = a* && b*`).
### Configuration
Everything lives in `Config\usmt-dash.psd1`; each setting is commented there. The ones you're
most likely to change:
| Setting | Default | What it does |
|---|---|---|
| `Worker.CycleSeconds` | `180` | Pause between cycles during business hours |
| `Worker.BusinessHours` | 07:30-17:30, Mon-Fri | When the worker cycles; outside it sleeps, with a midnight pitstop |
| `Worker.PresenceSweepMinutes` | `60` | How often completed and Skip USMT devices (which the sweep doesn't ping) are pinged |
| `Worker.LivePublishSeconds` | `10` | How often swept rows are published during a cycle |
| `Worker.SoftwareCacheHours` | `24` | How long a software inventory is reused |
| `Worker.DiskSkipList` | none | Devices whose admin share hangs; disk and log checks are skipped |
| `SCCM.AssetInventory` | `v_GS_ASSET_INFO0` | Optional custom inventory view for location, department, room type... |
| `SCCM.Monitors` | `v_GS_WMIMONITORID` | Attached monitors (needs WmiMonitorID in hardware inventory) |
| `Demo.BusinessHours` | 06:00-21:00, every day | When the demo worker runs |
| `Demo.DeviceCount` / `CycleSeconds` | `200` / `45` | Size of the simulated fleet and its cycle pause |
### Adapting it to a different toolset
All infrastructure access goes through a provider. To support another platform (Intune, a
@@ -225,7 +249,9 @@ Demo/ demo seed script + sample app blacklist
Documentation/ knowledge-base articles and images
web/ dashboard, terminal panel / demo sandbox, vendored libraries
Dockerfile, docker/ container for the hosted demo
Data/ runtime state (created on first run, not committed)
Data/ runtime state (created on first run, not committed): Data.json,
Worker-State.json, Advanced-Cache.json, Software-Cache.json,
Presence.json, Snapshots.json, Completed.json, Logs/
```
## Third-party code