Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sample Questions for Power Platform Developer #16

Open
box-lin opened this issue Jul 18, 2023 · 0 comments
Open

Sample Questions for Power Platform Developer #16

box-lin opened this issue Jul 18, 2023 · 0 comments

Comments

@box-lin
Copy link
Owner

box-lin commented Jul 18, 2023

When should a Model-driven app be used instead of a Canvas app?

  • When we can manage data with Dataverse defined tables, then Model-driven apps can be a simpler substitute for Canvas apps
    image

Can you explain what a plugin in Dynamics 365 or Dataverse is?

  • A plug-in is a custom event handler that executes in response to a specific event raised during processing of a Microsoft Dataverse data operation.

When would you use a plugin as opposed to a workflow?

  • Plugins are used when we need to trigger logic before an operation is completed or if the operation should be canceled due to a certain condition. Workflows are used for long-running, asynchronous processes and often for processes that require user intervention.

How do you debug a plugin?

  • Debugging can be done either by "Plugin Profiler" provided in the Plugin Registration Tool.

What is the difference between synchronous and asynchronous plugins?

  • Synchronous plugins are executed immediately when the triggering event occurs. Asynchronous plugins are added to a queue and processed in the background.

Can you explain the concept of a custom workflow in Dynamics 365 or Dataverse?

  • If you don’t find the functionality you require using the default process activities, you can add custom activities so that they're available in the editor used to compose workflow, dialog, and action processes.

What are the steps to create a custom workflow activity in Dataverse?

  • The main steps to create a custom workflow activity are: create a new Class Library project in Visual Studio, add references to the Microsoft.Xrm.Sdk.Workflow DLL, create a public class that derives from the CodeActivity class, override the Execute method, and define Input and Output parameters.

What is OData and how is it related to the Web API in Dynamics 365 or Dataverse?

  • OData (Open Data Protocol) is a standard protocol for building and consuming RESTful APIs. The Dynamics 365 or Dataverse Web API implements the OData v4.0 standard, which allows clients to interact with the data using standard HTTP protocols.

In the context of Microsoft Dynamics 365 or Dataverse, what is the difference between using business rules and JavaScript for client-side logic? When would you choose one over the other?

  • Business Rules:

    • Business rules are a no-code/low-code solution for applying form logic.
    • They are easy to create and maintain with an intuitive interface and do not require coding skills, making them accessible to business analysts and other non-developer roles.
    • They are limited to certain operations like setting field values, setting field requirement levels, showing or hiding fields, and enabling or disabling fields.
    • Business rules execute on both the client and server side.
    • They are executed synchronously and are generally faster than JavaScript.
  • JavaScript:
    -JavaScript is a more powerful, flexible tool that can accommodate complex logic. It can be used to manipulate form data, interact with the Xrm.Page object model, and execute Web API calls to interact with data.

    • JavaScript requires coding skills, and scripts can be more time-consuming to write and maintain.
    • It provides better control over the UI, allows for complex validation, and can respond to more form events than business rules.
    • JavaScript code executes on the client side only, which means it won't run during server-side operations, like during a data import.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant