3.0 KiB
3.0 KiB
Technology Stack
Analysis Date: 2026-04-02
Languages
Primary:
- PowerShell 5.1+ - All application logic, UI, and SharePoint integration
Runtime
Environment:
- Windows PowerShell 5.1+ or PowerShell Core 7.0+
- .NET Framework (built-in with PowerShell)
Execution Model:
- Desktop application (WinForms GUI)
- Synchronous runspace threading for async operations without blocking UI
Frameworks
UI:
- System.Windows.Forms (native .NET, bundled with PowerShell)
- System.Drawing (native .NET for graphics and colors)
SharePoint/Cloud Integration:
- PnP.PowerShell (latest version) - All SharePoint Online API interactions
- Azure AD App Registration for authentication (required)
Testing:
- No dedicated test framework detected (manual testing assumed)
Build/Dev:
- No build system (single .ps1 script file executed directly)
Key Dependencies
Critical:
- PnP.PowerShell - Required for all SharePoint Online operations
- Location: Installed via
Install-Module PnP.PowerShell - Used for: Site enumeration, permissions scanning, storage metrics, file search, templating, bulk operations
- Connection: Interactive authentication via Azure AD App (ClientId required)
- Location: Installed via
Infrastructure:
- System.Windows.Forms - Desktop UI framework
- System.Drawing - UI graphics and rendering
- Microsoft.SharePoint.Client - Underlying SharePoint CSOM (via PnP.PowerShell)
Configuration
Environment:
Sharepoint_Settings.json- User preferences (data folder location, language)Sharepoint_Export_profiles.json- Saved connection profiles (Tenant URL, Client ID)Sharepoint_Templates.json- Site structure templates (captured and reapplied)
Build:
- Single executable:
Sharepoint_ToolBox.ps1 - Launched directly:
.\Sharepoint_Toolbox.ps1
Localization:
- File:
lang/fr.json- French translations - Default: English (en)
- Loaded dynamically at runtime
Platform Requirements
Development:
- Windows Operating System (WinForms is Windows-only)
- PowerShell 5.1+
- Internet connection for Azure AD authentication
- Access to SharePoint Online tenant
Production:
- Windows 10/11 (or Windows Server 2016+)
- PowerShell 5.1 minimum
- Azure AD tenant with properly configured app registration
- Network access to target SharePoint Online sites
Data Persistence
Local Storage:
- JSON files in configurable data folder (default:
Sharepoint_Export_profiles.json,Sharepoint_Templates.json,Sharepoint_Settings.json) - CSV exports of reports and bulk operation results
- HTML reports with interactive UI
No external databases - All storage is file-based and local
Authentication
Method:
- Azure AD Interactive Login (user-initiated browser-based auth)
- Client ID (App Registration ID) required
- No client secrets or certificates (interactive auth flow only)
- PnP.PowerShell handles Azure AD token acquisition
Known Versions
- PowerShell: 5.1 (minimum requirement stated in README)
- PnP.PowerShell: Not pinned (latest version recommended)
Stack analysis: 2026-04-02