chore: archive v1.1 Enhanced Reports milestone
Some checks failed
Release SharePoint Toolbox v2 / release (push) Failing after 14s
Some checks failed
Release SharePoint Toolbox v2 / release (push) Failing after 14s
v1.1 shipped with 4 phases (25 plans), 10/10 requirements complete: - Global site selection (toolbar picker, all tabs consume) - User access audit (Graph people-picker, direct/group/inherited) - Simplified permissions (plain-language labels, risk levels, detail toggle) - Storage visualization (LiveCharts2 pie/donut + bar charts) Post-phase polish: centralized site selection (removed per-tab pickers), claims prefix stripping, StorageMetrics backfill, chart tooltip fix, summary stats in app + HTML exports. 205 tests passing, 10,484 LOC. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
## Milestones
|
||||
|
||||
- ✅ **v1.0 MVP** — Phases 1-5 (shipped 2026-04-07) — [archive](milestones/v1.0-ROADMAP.md)
|
||||
- 🔄 **v1.1 Enhanced Reports** — Phases 6-9 (in progress)
|
||||
- ✅ **v1.1 Enhanced Reports** — Phases 6-9 (shipped 2026-04-08) — [archive](milestones/v1.1-ROADMAP.md)
|
||||
|
||||
## Phases
|
||||
|
||||
@@ -18,98 +18,19 @@
|
||||
|
||||
</details>
|
||||
|
||||
**v1.1 Enhanced Reports**
|
||||
<details>
|
||||
<summary>✅ v1.1 Enhanced Reports (Phases 6-9) — SHIPPED 2026-04-08</summary>
|
||||
|
||||
- [x] **Phase 6: Global Site Selection** — Toolbar-level multi-site picker that all feature tabs consume as their default target (completed 2026-04-07)
|
||||
- [x] **Phase 7: User Access Audit** — New feature tab: export every SharePoint/Teams access a specific user holds across selected sites (completed 2026-04-07)
|
||||
- [x] **Phase 8: Simplified Permissions** — Plain-language labels, summary counts, color coding, and detail-level toggle on the permissions report (completed 2026-04-07)
|
||||
- [x] **Phase 9: Storage Visualization** — Charting dependency + pie/donut and bar chart views of storage by file type in the Storage Metrics tab (completed 2026-04-07)
|
||||
- [x] Phase 6: Global Site Selection (5/5 plans) — completed 2026-04-07
|
||||
- [x] Phase 7: User Access Audit (10/10 plans) — completed 2026-04-07
|
||||
- [x] Phase 8: Simplified Permissions (6/6 plans) — completed 2026-04-07
|
||||
- [x] Phase 9: Storage Visualization (4/4 plans) — completed 2026-04-07
|
||||
|
||||
## Phase Details
|
||||
|
||||
### Phase 6: Global Site Selection
|
||||
**Goal**: Administrators can select one or more target sites once from the toolbar and have every feature tab use that selection by default
|
||||
**Depends on**: Phase 5 (v1.0 foundation — toolbar and tab architecture in place)
|
||||
**Requirements**: SITE-01, SITE-02
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. A multi-site picker control is visible in the main toolbar at all times, regardless of which tab is active
|
||||
2. Selecting sites in the toolbar causes all feature tabs to default to those sites when an operation is run
|
||||
3. A user can override the global selection on any individual tab without clearing the global state
|
||||
4. The global site selection persists across tab switches within the same session
|
||||
**Plans:** 5/5 plans complete
|
||||
Plans:
|
||||
- [ ] 06-01-PLAN.md — GlobalSitesChangedMessage + FeatureViewModelBase extension
|
||||
- [ ] 06-02-PLAN.md — MainWindowViewModel global selection state + command
|
||||
- [ ] 06-03-PLAN.md — Toolbar UI, dialog wiring, and localization keys
|
||||
- [ ] 06-04-PLAN.md — Tab VM updates for global site consumption
|
||||
- [ ] 06-05-PLAN.md — Unit tests for global site selection flow
|
||||
|
||||
### Phase 7: User Access Audit
|
||||
**Goal**: Administrators can audit every permission a specific user holds across selected sites, distinguish access types (direct/group/inherited), and export results to CSV or HTML
|
||||
**Depends on**: Phase 6
|
||||
**Requirements**: UACC-01, UACC-02
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. A User Access Audit tab (or panel) is accessible and accepts a user identifier and site selection as inputs
|
||||
2. Running the audit returns a list of all access entries the user holds across the selected sites
|
||||
3. Results distinguish between direct role assignments, SharePoint group memberships, and inherited access
|
||||
4. Results can be exported to CSV or HTML in the same format established by v1.0 export patterns
|
||||
**Plans:** 10/10 plans complete
|
||||
Plans:
|
||||
- [ ] 07-01-PLAN.md — UserAccessEntry model + service interfaces (Wave 1)
|
||||
- [ ] 07-02-PLAN.md — UserAccessAuditService implementation (Wave 2)
|
||||
- [ ] 07-03-PLAN.md — GraphUserSearchService implementation (Wave 2)
|
||||
- [ ] 07-04-PLAN.md — UserAccessAuditViewModel (Wave 3)
|
||||
- [ ] 07-05-PLAN.md — UserAccessAuditView XAML layout (Wave 4)
|
||||
- [ ] 07-06-PLAN.md — CSV + HTML export services (Wave 2)
|
||||
- [ ] 07-07-PLAN.md — Tab wiring, DI, localization (Wave 4)
|
||||
- [ ] 07-08-PLAN.md — Unit tests (Wave 5)
|
||||
- [ ] 07-09-PLAN.md — Gap closure: DataGrid visual indicators + ObjectType column (Wave 6)
|
||||
- [ ] 07-10-PLAN.md — Gap closure: Debounced search unit test (Wave 6)
|
||||
|
||||
### Phase 8: Simplified Permissions
|
||||
**Goal**: Permissions reports are readable by non-technical users through plain-language labels, color coding, and a configurable detail level
|
||||
**Depends on**: Phase 6
|
||||
**Requirements**: SIMP-01, SIMP-02, SIMP-03
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. The permissions report displays human-readable labels (e.g., "Can edit files") alongside or instead of raw SharePoint role names (e.g., "Contribute") when the simplified mode toggle is on
|
||||
2. The report shows summary counts per permission level with color indicators distinguishing high, medium, and low access levels
|
||||
3. A detail-level selector (simple / detailed) controls whether individual item-level rows are shown or collapsed into summary rows
|
||||
4. Toggling modes and detail level does not require re-running the scan — it re-renders from the already-fetched data
|
||||
**Plans:** 6/6 plans complete
|
||||
Plans:
|
||||
- [ ] 08-01-PLAN.md — RiskLevel enum, PermissionLevelMapping, SimplifiedPermissionEntry, PermissionSummary (Wave 1)
|
||||
- [ ] 08-02-PLAN.md — PermissionsViewModel simplified mode, detail toggle, summary computation (Wave 2)
|
||||
- [ ] 08-03-PLAN.md — PermissionsView XAML: toggles, summary panel, color-coded DataGrid (Wave 3)
|
||||
- [ ] 08-04-PLAN.md — HTML + CSV export simplified overloads (Wave 3)
|
||||
- [ ] 08-05-PLAN.md — Localization keys (EN/FR) + export command wiring (Wave 4)
|
||||
- [ ] 08-06-PLAN.md — Unit tests: mapping, summary, ViewModel toggle behavior (Wave 5)
|
||||
|
||||
### Phase 9: Storage Visualization
|
||||
**Goal**: The Storage Metrics tab displays an interactive chart of space consumption by file type, togglable between pie/donut and bar chart views
|
||||
**Depends on**: Phase 6
|
||||
**Requirements**: VIZZ-01, VIZZ-02, VIZZ-03
|
||||
**Success Criteria** (what must be TRUE):
|
||||
1. A WPF charting library (LiveCharts2 or OxyPlot) is integrated as a NuGet dependency and renders correctly in the self-contained EXE build
|
||||
2. After a storage scan completes, a chart appears in the Storage Metrics tab showing space broken down by file type
|
||||
3. A toggle control switches the chart between pie/donut and bar chart representations without re-running the scan
|
||||
4. The chart updates automatically whenever a new storage scan finishes, without requiring manual refresh
|
||||
**Plans:** 4/4 plans complete
|
||||
Plans:
|
||||
- [ ] 09-01-PLAN.md — LiveCharts2 NuGet + FileTypeMetric model + IStorageService extension (Wave 1)
|
||||
- [ ] 09-02-PLAN.md — StorageService file-type enumeration implementation (Wave 2)
|
||||
- [ ] 09-03-PLAN.md — ViewModel chart properties + View XAML + localization (Wave 3)
|
||||
- [ ] 09-04-PLAN.md — Unit tests for chart ViewModel behavior (Wave 4)
|
||||
</details>
|
||||
|
||||
## Progress
|
||||
|
||||
| Phase | Milestone | Plans Complete | Status | Completed |
|
||||
|-------|-----------|----------------|--------|-----------|
|
||||
| 1. Foundation | v1.0 | 8/8 | Complete | 2026-04-02 |
|
||||
| 2. Permissions | v1.0 | 7/7 | Complete | 2026-04-02 |
|
||||
| 3. Storage and File Operations | v1.0 | 8/8 | Complete | 2026-04-02 |
|
||||
| 4. Bulk Operations and Provisioning | v1.0 | 10/10 | Complete | 2026-04-03 |
|
||||
| 5. Distribution and Hardening | v1.0 | 3/3 | Complete | 2026-04-03 |
|
||||
| 6. Global Site Selection | v1.1 | 5/5 | Complete | 2026-04-07 |
|
||||
| 7. User Access Audit | v1.1 | 10/10 | Complete | 2026-04-07 |
|
||||
| 8. Simplified Permissions | v1.1 | 6/6 | Complete | 2026-04-07 |
|
||||
| 9. Storage Visualization | v1.1 | 4/4 | Complete | 2026-04-07 |
|
||||
| Phase | Milestone | Plans | Status | Completed |
|
||||
|-------|-----------|-------|--------|-----------|
|
||||
| 1-5 | v1.0 | 36/36 | Shipped | 2026-04-07 |
|
||||
| 6-9 | v1.1 | 25/25 | Shipped | 2026-04-08 |
|
||||
|
||||
Reference in New Issue
Block a user