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>
2.8 KiB
2.8 KiB
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
- BRAND-01: User can import an MSP logo in application settings (global, persisted across sessions)
- BRAND-02: User can preview the imported MSP logo in settings UI
- BRAND-03: User can import a client logo per tenant profile
- BRAND-04: User can auto-pull client logo from tenant's Entra branding API
- BRAND-05: All five HTML report types display MSP and client logos in a consistent header
- BRAND-06: Logo import validates format (PNG/JPG) and enforces 512 KB size limit
User Directory
- UDIR-01: User can toggle between search mode and directory browse mode in user access audit tab
- UDIR-02: User can browse full tenant user directory with pagination (handles 999+ users)
- UDIR-03: User can filter directory by user type (member vs guest)
- UDIR-04: User can see department and job title columns in directory list
- 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