chore: archive v2.2 Report Branding & User Directory 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
5 phases (10-14), 14 plans, 11/11 requirements complete. Key features: HTML report branding with MSP/client logos, user directory browse mode with paginated load and member/guest filtering. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
59
.planning/milestones/v2.2-REQUIREMENTS.md
Normal file
59
.planning/milestones/v2.2-REQUIREMENTS.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# Requirements Archive: SharePoint Toolbox v2.2 Report Branding & User Directory
|
||||
|
||||
**Defined:** 2026-04-08
|
||||
**Completed:** 2026-04-09
|
||||
**Coverage:** 11/11 requirements complete
|
||||
|
||||
## Requirements
|
||||
|
||||
### Report Branding
|
||||
|
||||
- [x] **BRAND-01**: User can import an MSP logo in application settings (global, persisted across sessions)
|
||||
- [x] **BRAND-02**: User can preview the imported MSP logo in settings UI
|
||||
- [x] **BRAND-03**: User can import a client logo per tenant profile
|
||||
- [x] **BRAND-04**: User can auto-pull client logo from tenant's Entra branding API
|
||||
- [x] **BRAND-05**: All five HTML report types display MSP and client logos in a consistent header
|
||||
- [x] **BRAND-06**: Logo import validates format (PNG/JPG) and enforces 512 KB size limit
|
||||
|
||||
### User Directory
|
||||
|
||||
- [x] **UDIR-01**: User can toggle between search mode and directory browse mode in user access audit tab
|
||||
- [x] **UDIR-02**: User can browse full tenant user directory with pagination (handles 999+ users)
|
||||
- [x] **UDIR-03**: User can filter directory by user type (member vs guest)
|
||||
- [x] **UDIR-04**: User can see department and job title columns in directory list
|
||||
- [x] **UDIR-05**: User can select one or more users from directory to run the access audit
|
||||
|
||||
## Traceability
|
||||
|
||||
| Requirement | Phase | Status | Notes |
|
||||
|-------------|-------|--------|-------|
|
||||
| BRAND-01 | Phase 10 | Complete | Base64 JSON persistence via BrandingRepository |
|
||||
| BRAND-02 | Phase 12 | Complete | Base64ToImageSourceConverter + live preview |
|
||||
| BRAND-03 | Phase 10 | Complete | Per-tenant logo on TenantProfile |
|
||||
| BRAND-04 | Phase 11 | Complete | Entra bannerLogo stream endpoint |
|
||||
| BRAND-05 | Phase 11 | Complete | BrandingHtmlHelper + optional param on all 5 services |
|
||||
| BRAND-06 | Phase 10 | Complete | Magic-byte validation, 512 KB limit, auto-compression |
|
||||
| UDIR-01 | Phase 13 | Complete | IsDirectoryBrowseMode toggle property |
|
||||
| UDIR-02 | Phase 13 | Complete | PageIterator pagination via GraphUserDirectoryService |
|
||||
| UDIR-03 | Phase 13 | Complete | In-memory ICollectionView filter |
|
||||
| UDIR-04 | Phase 13 | Complete | Sortable Department/JobTitle columns |
|
||||
| UDIR-05 | Phase 14 | Complete | SelectDirectoryUserCommand + double-click handler |
|
||||
|
||||
## Deferred to Future Milestones
|
||||
|
||||
- **BRAND-F01**: PDF export with embedded logos
|
||||
- **BRAND-F02**: Custom report title/footer text per tenant
|
||||
- **UDIR-F01**: Session-scoped directory cache (avoid re-fetching on tab switch)
|
||||
- **UDIR-F02**: Export user directory list to CSV
|
||||
|
||||
## Out of Scope
|
||||
|
||||
| Feature | Reason |
|
||||
|---------|--------|
|
||||
| CSV report branding | CSV is data-only format; logos don't apply |
|
||||
| Logo in application title bar | Not a report branding concern; separate UX decision |
|
||||
| User directory as standalone tab | Directory browse is a mode within existing user access audit tab |
|
||||
| Real-time directory sync | One-time load with manual refresh is sufficient for audit workflows |
|
||||
|
||||
---
|
||||
*Archived: 2026-04-09*
|
||||
Reference in New Issue
Block a user