Add project overview with session log
This commit is contained in:
1 parent
dbfb6458a4
commit
a9eeb4bca6
1 file changed
+27
@@ -0,0 +1,27 @@
|
|||||||
|
# Disco AD Compare Plugin — Project Overview
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
A Disco ICT plugin that compares the Active Directory `managedBy` attribute on computer objects against the Disco `AssignedUserId`, reporting mismatches. Also provides AD details (last login, account status) on device and user pages via UIExtension features.
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
- **C# .NET Framework 4.5** class library compiled with .NET Framework MSBuild v4.0
|
||||||
|
- **C# 5 syntax only** — no modern C# features (server has no VS/Roslyn)
|
||||||
|
- **Plugin system**: extends `Plugin`, `PluginWebHandler`, `PluginConfigurationHandler`, `UIExtensionFeature<T>`
|
||||||
|
- **Build toolchain**: PowerShell script (`Build-Plugin.ps1`) that resolves assembly refs from Disco install bin, compiles, generates manifest, packages as `.discoPlugin` (zip renamed)
|
||||||
|
- **No external dependencies** — all refs come from Disco's own `WebApp\bin`
|
||||||
|
|
||||||
|
## Key Components
|
||||||
|
| Component | Purpose |
|
||||||
|
|---|---|
|
||||||
|
| `DeviceCompareService` | DN-to-DN comparison engine, filters invalid devices |
|
||||||
|
| `ADCompareWebHandler` | Server-side rendered dashboard + CSV export |
|
||||||
|
| `DeviceUIExtension` | Device page panel (managedBy match, last login) |
|
||||||
|
| `UserUIExtension` | User page panel (last login, AD status, OU) |
|
||||||
|
| `ADCompareConfigurationHandler` | Required config handler with WebViewPage |
|
||||||
|
|
||||||
|
## Current State
|
||||||
|
- **Working**: Comparison dashboard, CSV export, DN comparison logic, build pipeline
|
||||||
|
- **Not working**: UIExtension panels on device/user pages (features initialize without errors but HTML doesn't render — needs investigation)
|
||||||
|
|
||||||
|
## Session Log
|
||||||
|
- 2026-04-28 — Initial build and iteration — Built plugin from scratch, resolved C#5/MSBuild constraints, fixed DN comparison, got dashboard working, UIExtension rendering still unresolved
|
||||||
Reference in new issue
Block a user