Attributes
Attributes
Section titled “Attributes”XrmGhost.Attributes is the shared metadata package used to describe Dataverse plugin behavior with .NET attributes instead of handwritten registration or scenario scaffolding metadata.
These docs are for engineers who want to understand what the package is for, how to apply it to plugin classes, and where the current narrative guidance stops.
What the Package Does
Section titled “What the Package Does”- Declares plugin execution context on a class with repeatable .NET attributes
- Captures message, entity, image, parameter, configuration, and solution metadata in code
- Gives reflection-based tools a stable surface to inspect without parsing plugin logic
- Supplies the metadata used by other XrmGhost components such as the CLI scenario generator and the framework host
Who This Is For
Section titled “Who This Is For”- Plugin authors who want a declarative way to describe Dataverse execution context
- Teams using
xrmghost-cli generate-scenarioto seed scenario files from plugin metadata - Engineers building tooling or tests that read plugin attributes via reflection
Current Public Surface
Section titled “Current Public Surface”Today the package exposes class-level attributes for these jobs:
- Execution registration via
PluginExecutionConfigAttributeandHandlesMessageAttribute - Scenario seed data via
InputParameterAttribute,OutputParameterAttribute, andSharedVariableAttribute - Entity image metadata via
PreImageAttributeandPostImageAttribute - Configuration defaults via
SecureConfigurationAttributeandUnsecureConfigurationAttribute - Registration grouping via
SolutionComponentAttribute
The package itself is intentionally small: it defines attribute classes and lightweight constructor/property validation, then leaves richer behavior to consumers that read the metadata.
Read This Section In Order
Section titled “Read This Section In Order”| Section | Description |
|---|---|
| Getting Started | Learn the core concepts, see a concrete plugin example, and understand the current validation boundary. |
| Manual Attribute Reference | Browse one manual reference page per current public attribute while generated exports do not yet exist. |
| Future schema reference | The generated reference is still planned separately once the schema pipeline exists. |
Narrative Docs vs. Future Generated Reference
Section titled “Narrative Docs vs. Future Generated Reference”This section is intentionally narrative first. It explains how the package fits into XrmGhost and how to use it safely without pretending that exhaustive generated reference pages already exist.
The current public contract in xrmghost-attributes is the source of truth. The new manual attribute reference is authored by hand from that contract today, and it can later be replaced or supplemented by generated output when the schema pipeline exists.
When generated reference content becomes available, docs/attributes/schema/ remains the planned location for exhaustive schema-level detail. Until then, these pages focus on package purpose, usage shape, and the limits of what is public today.
Product Ownership
Section titled “Product Ownership”The Attributes documentation is owned by the Attributes team in collaboration with Documentation. For the full ownership map see Content Ownership.