Commit Graph

61 Commits

Author SHA1 Message Date
jessikitty ea1b3d5942 fix: relocate AD Compare panel under user assignment on device page
UIExtension content renders at the bottom of _Layout.cshtml by design.
Added wrapper div with ID and jQuery script to move the panel after
the user assignment .status div (#Device_Show_User) on the device page.
2026-04-29 10:31:39 +10:00
jessikitty 0057523323 feat: add standalone diagnostic script for installed plugin
Checks the installed manifest at App_Data\Plugins for Features array,
validates CategoryTypeName, scans Disco logs for plugin-related entries,
and shows file timestamps for the installed DLL.
2026-04-29 09:50:09 +10:00
jessikitty f9dbb9a312 fix: remove double-encoded diagnostic script 2026-04-29 09:49:34 +10:00
jessikitty 0b674027aa feat: add standalone diagnostic script for installed plugin
Checks the installed manifest at App_Data\Plugins for Features array,
validates CategoryTypeName, scans Disco logs for plugin-related entries,
and shows file timestamps for the installed DLL. Run on the Disco server
to quickly identify whether the installed manifest has UIExtension
features or is missing them.
2026-04-29 09:38:17 +10:00
jessikitty df6671d729 fix: add AssemblyResolve handler for reflection diagnostics
Previous version failed GetExportedTypes() because Assembly.Load(bytes)
couldn't resolve Disco.Services.dll from the PowerShell process. Now
uses LoadFrom() with an AssemblyResolve handler that probes both the
build output and Disco bin directories. Also adds ReflectionTypeLoad
exception detail logging and proper handler cleanup in finally block.
2026-04-29 09:36:17 +10:00
jessikitty 7cf07b50d2 feat: add comprehensive build diagnostics for UIExtension debugging
- Disco assembly version reporting at build start
- Reflection-based feature verification:
  - Discovers UIExtensionFeature<T> implementations in compiled DLL
  - Validates [PluginFeature] attribute presence on each feature
  - Confirms ExecuteAction and Initialize are overridden
  - Checks model types implement BaseUIModel interface
  - Reports generic type definition FullName for manifest comparison
- ManifestGenerator output capture (stdout + stderr with labels)
- Manifest validation after generation:
  - Verifies Features array is present and non-empty
  - Char-by-char CategoryTypeName comparison with hex dump on mismatch
  - Dumps raw manifest.json for manual inspection
- Package verification (zip content listing)
- Final summary with actionable next-step checklist when issues found
2026-04-28 15:25:16 +10:00
jessikitty 1b89820c94 v1.3.1 - Bump version 2026-04-28 10:12:33 +10:00
jessikitty d09d32bb52 v1.3.1 - Add Initialize override that calls Register() to hook into page rendering 2026-04-28 10:12:03 +10:00
jessikitty 3e6ba2cd69 v1.3.1 - Add Initialize override that calls Register() to hook into page rendering 2026-04-28 10:11:28 +10:00
jessikitty afd8ab7f1a v1.3.0 - Bump version for UIExtension feature manifest fix 2026-04-27 16:27:56 +10:00
jessikitty bb5a7ae54e v1.3.0 - Fix manifest: use correct CategoryTypeName for UIExtension features 2026-04-27 16:27:37 +10:00
jessikitty 81d07c135c v1.2.1 - Bump version 2026-04-27 16:09:14 +10:00
jessikitty 8ab68b9cb2 v1.2.1 - Show only AD-found devices, info bar for filtered counts 2026-04-27 16:08:56 +10:00
jessikitty a94dc8aa50 v1.2.1 - Add SkippedDevices counter to summary 2026-04-27 16:08:11 +10:00
jessikitty c3e014446c v1.2.1 - Filter out devices without valid domain ID and not found in AD 2026-04-27 16:07:48 +10:00
jessikitty 7b50c0a7fa v1.2.0 - Bump version 2026-04-27 15:56:49 +10:00
jessikitty 878a16987d v1.2.0 - Remove Features from manual manifest to fix install error 2026-04-27 15:56:23 +10:00
jessikitty 559117d24b v1.2.0 - Remove manual feature registration, let plugin system handle it 2026-04-27 15:55:37 +10:00
jessikitty 520f07881b v1.1.1 - Fix: Manifest is already PluginManifest, use .Features directly 2026-04-27 15:49:08 +10:00
jessikitty 721fba684a v1.1.0 - Update author, include UIExtension features in manual manifest 2026-04-27 10:44:28 +10:00
jessikitty b2a4528c64 v1.1.0 - Bump version, update author to Jess Rogerson 2026-04-27 10:43:00 +10:00
jessikitty 39ce0da496 v1.1.0 - Fix DN comparison in device page extension 2026-04-27 10:42:42 +10:00
jessikitty 223716e5ca v1.1.0 - Fix UIExtension registration path, update author to Jess Rogerson 2026-04-27 10:42:02 +10:00
jessikitty 9ae1ffdc5b v1.1.0 - Fix DN comparison: look up assigned user DN in AD, compare DN-to-DN 2026-04-27 10:41:25 +10:00
jessikitty fedba71fb0 Add DeviceUIExtension and UserUIExtension to compile items 2026-04-27 10:19:51 +10:00
jessikitty 606a865757 Rewrite web handler with server-side rendering - no jQuery dependency 2026-04-27 10:19:15 +10:00
jessikitty 67b8bef414 Register UIExtension features on Initialize for Device and User pages 2026-04-27 10:18:18 +10:00
jessikitty d6543cd552 Add User page UIExtension - shows AD last login, status, and OU location 2026-04-27 10:17:49 +10:00
jessikitty 802f690255 Add Device page UIExtension - shows AD managedBy comparison and last login 2026-04-27 10:17:19 +10:00
jessikitty 6c746d3a41 Fix URL: route requires PluginAction segment - use /Index 2026-04-22 10:29:39 +10:00
jessikitty 7df9fb4dce Add trailing slash to plugin URL to fix ASP.NET dot-in-route 404 2026-04-22 10:22:45 +10:00
jessikitty b7359a6857 Fix packaging: zip first then rename, whitelist only plugin files 2026-04-22 10:15:41 +10:00
jessikitty a6080ab2d3 Replace T4MVC MVC.API call with manual URL construction 2026-04-22 10:04:35 +10:00
jessikitty d17b6e45b0 Add EntityFramework reference and consolidate all refs into single ItemGroup 2026-04-22 10:01:48 +10:00
jessikitty 655c79cc7c Simplify HintPath resolution - regex replaces ALL paths to Disco bin 2026-04-22 09:56:20 +10:00
jessikitty c54f2b2205 Add System.Web.WebPages and System.Web.Razor references 2026-04-22 09:55:22 +10:00
jessikitty 611f95be80 Downgrade ToolsVersion to 4.0 and target .NET 4.5 for framework MSBuild 2026-04-22 09:52:25 +10:00
jessikitty ee541d567f Downgrade to C# 5 - remove interpolation, null-conditional, expression-bodied members 2026-04-22 09:51:34 +10:00
jessikitty 5f66dac6b0 Downgrade to C# 5 - move auto-property initializer to constructor 2026-04-22 09:50:40 +10:00
jessikitty 0bc94c542c Downgrade to C# 5 syntax for .NET Framework MSBuild compatibility 2026-04-22 09:50:18 +10:00
jessikitty 3f9bac6191 Fix build script to accept DiscoBinPath instead of solution path 2026-04-22 09:46:09 +10:00
jessikitty 2b42fe1540 Update README for device managedBy comparison focus 2026-04-21 21:35:01 +10:00
jessikitty ebabebfbec Update csproj for device comparison and configuration handler 2026-04-21 21:34:34 +10:00
jessikitty 07bce90bb3 Add build and packaging script for .discoPlugin import 2026-04-21 21:34:14 +10:00
jessikitty cf2c006e3f Rewrite web handler for device managedBy comparison dashboard 2026-04-21 21:33:29 +10:00
jessikitty ea711c712f Add ConfigurationHandler (required by Disco plugin system) 2026-04-21 21:32:39 +10:00
jessikitty 43502fd8da Add device comparison service - compares AD managedBy vs Disco assigned user 2026-04-21 21:32:21 +10:00
jessikitty b1f4db671b Add device comparison models 2026-04-21 21:31:50 +10:00
jessikitty 84380ff409 Remove user comparison models 2026-04-21 21:31:33 +10:00
jessikitty e15be7c9a0 Remove user-focused compare service 2026-04-21 21:31:27 +10:00