Coding — Server-side¶
Plugins, Custom APIs, and workflow assemblies. This chapter assumes the plugin package format rather than classic single-assembly registration — that's the default for new projects.
- Overview
- Project Setup — csproj,
.editorconfig, signing. - Plugin Packages — the dependent-assembly NuGet package format.
- DIGITALL Assembly (Digitall.Plugins) — our base classes and abstraction layer.
- Registration Attributes — declarative step registration via
Digitall.Plugins.Registration. - Early-Bound Models — generating
.csmodels withdgtp. - Custom API & Data Providers
- Patterns & Pitfalls
What a new server-side project looks like¶
flowchart LR
A[".csproj<br/>(plugin package)"] --> B["Digitall.Plugins<br/>base classes"]
B --> C["Plugin / Custom API<br/>classes"]
C --> D["[PluginRegistration] /<br/>[CustomApiRegistration]<br/>attributes"]
D --> E["dgtp push<br/>→ .nupkg → Dataverse"]
A project references Digitall.Plugins for the base plugin/Custom API/workflow abstraction,
decorates classes with Digitall.Plugins.Registration attributes instead of registering
steps by hand in the Plugin Registration Tool, and ships as a plugin package pushed via
dgtp push — see Pre- & Post-Deployment Tasks
for exactly what that push does.