Plugin Development Flashcards
7 cards from real PL 400 practice questions. Tap to flip, then mark Knew It or Still Learning โ missed cards come back until you master them.
Read the first 7 Plugin Development flashcards as text
Which interface must a Dataverse plugin class implement?
Answer: IPlugin
Every Dataverse plugin must implement the IPlugin interface, which exposes the Execute method.
What is the purpose of the ITracingService in plugin development?
Answer: Writing diagnostic messages retrievable via Plugin Trace Log
ITracingService.Trace() writes messages to the Plugin Trace Log, which developers can view in the maker portal for debugging.
A plugin registered in Sandbox (isolation mode) attempts to call an external web service. What happens?
Answer: The call always fails with a SecurityException
Sandbox-isolated plugins cannot make outbound network calls; they throw a SecurityException when external HTTP access is attempted.
When registering a plugin step, what does setting the Execution Order to 1 versus 2 control?
Answer: The relative firing sequence when multiple plugins target the same event
Execution Order determines the sequence in which multiple plugins registered on the same message/stage fire, with lower numbers firing first.
Which method on IOrganizationService should you use to run multiple operations atomically within a plugin?
Answer: Execute with an ExecuteTransactionRequest
ExecuteTransactionRequest wraps multiple operations so they all succeed or roll back together within a single transaction.
What entity snapshot is available in the plugin execution context when a plugin fires on the Update message?
Answer: Both PreEntityImages and PostEntityImages depending on registration
Pre- and post-entity images are both available for Update, but only if explicitly registered on the plugin step before deployment.
A developer wants to prevent a record from being deleted based on business logic inside a plugin. What is the correct approach?
Answer: Throw an InvalidPluginExecutionException
Throwing InvalidPluginExecutionException aborts the operation and surfaces the message to the user as a business error.