@power-maverick/tool-plugin-registration
v0.0.2
Published
Register and manage Dataverse plugin assemblies, custom workflow activities, and SDK message processing steps
Maintainers
Readme
Plugin Registration
Register and manage Microsoft Dataverse plugin assemblies, custom workflow activities, and SDK message processing steps. Exclusively for PPTB.
Overview
The Plugin Registration tool brings the classic Microsoft Dataverse Plugin Registration Tool experience directly into Power Platform ToolBox. It allows developers to register, update, and unregister plugin assemblies and their associated components without leaving PPTB.
Key Features
- React + TypeScript: Modern component-based architecture with Vite build system
- PPTB-Only Integration: Designed exclusively for Power Platform ToolBox (uses @pptb/types v1.0.20)
- Plugin Assembly Management: Register, update, and unregister plugin assemblies (.dll files)
- Plugin Type Browsing: View all plugin classes within each registered assembly
- Step Registration: Register and manage SDK Message Processing Steps with full configuration
- Step Images: Register pre/post entity images for processing steps
- Enable/Disable Steps: Toggle step activation status without removing them
- Tree View UI: Hierarchical view of assemblies → plugin types → steps → images
- Dark/Light Theme Support: Follows PPTB theme settings automatically
Use Cases
- Register custom plugin assemblies implementing
IPlugin - Set up SDK message processing steps on standard Dataverse messages (Create, Update, Delete, etc.)
- Configure pre/post entity images for plugin steps
- Register custom workflow activities
- Manage plugin step lifecycle (enable, disable, unregister)
- Update plugin assemblies when a new version is compiled
UI
The tool uses a split-panel layout:
- Left panel: Tree view of all registered assemblies, their plugin types, processing steps, and images
- Right panel: Detailed information and action buttons for the selected item
Supported Actions
| Selected Item | Available Actions | |---|---| | Assembly | Update Assembly, Unregister Assembly | | Plugin Type | Register Step | | Processing Step | Register Image, Enable, Disable, Update Step, Unregister Step | | Step Image | Update Image, Unregister Image |
Getting Started
Prerequisites
- Power Platform ToolBox (PPTB) with an active Dataverse connection
- A compiled plugin assembly (.dll) built against the Dataverse SDK
Building
cd tools/plugin-registration
npm install
npm run buildDevelopment
npm run devArchitecture
src/
├── components/
│ ├── PluginTree.tsx # Tree view component
│ ├── AssemblyDetails.tsx # Assembly details & actions
│ ├── PluginTypeDetails.tsx # Plugin type details
│ ├── StepDetails.tsx # Processing step details & actions
│ ├── ImageDetails.tsx # Step image details & actions
│ ├── RegisterAssemblyDialog.tsx # Register/update assembly dialog
│ ├── RegisterStepDialog.tsx # Register/update step dialog
│ └── RegisterImageDialog.tsx # Register/update image dialog
├── models/
│ └── interfaces.ts # TypeScript interfaces
├── utils/
│ └── DataverseClient.ts # Dataverse API wrapper
├── App.tsx # Main application component
├── main.tsx # Entry point with theme support
└── styles.css # CSS with light/dark theme variablesDataverse Entities Used
| Entity | Purpose |
|---|---|
| pluginassembly | Stores compiled assembly metadata and content |
| plugintype | Stores plugin class information within an assembly |
| sdkmessageprocessingstep | Stores step configuration (message, entity, stage, mode) |
| sdkmessageprocessingstepimage | Stores pre/post entity images for steps |
| sdkmessage | SDK messages (Create, Update, Delete, etc.) |
| sdkmessagefilter | Entity-specific filters for messages |
