Files
Sharepoint-Toolbox/.planning/milestones/v2.2-REQUIREMENTS.md
Dev f41dbd333e
Some checks failed
Release SharePoint Toolbox v2 / release (push) Failing after 14s
chore: archive v2.2 Report Branding & User Directory milestone
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>
2026-04-09 10:27:33 +02:00

60 lines
2.8 KiB
Markdown

# 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*