โ† All PL 400 Flashcard Decks

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
  1. Which interface must a Dataverse plugin class implement?

    Answer: IPlugin

    Every Dataverse plugin must implement the IPlugin interface, which exposes the Execute method.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.