Friday, July 9, 2021
When will you use workflow?
CRM default solution has its own default publisher with the name "Default Publisher for"
What is meant by the publisher and why we are using it in Dynamics CRM Solutions?
What are all the new components we create from the solution?
What are all the components require to Publish when they update in the system?
1. Application Ribbon
2. Entity
3. Entity Relationship
4. Field
5. Form
6. Message
7. Option Set
8. Site Map
10. Web Resource
What are all components that can be added to the solution?
What are the minimum privileges required to create a solution?
How Do Secured Fields Behave For Retrieve And Retrievemultiple?
What Type Of Operations And Data Can Be Audited In Crm?
Maximum Number Of Processes, Stages, And Steps In Business Process Flow's?
How Should Is Change Execution Order Between Synchronous Workflow And Plugin?
Business Rules,javascript Method Which One Trigger The First?
What Is Discovery Services?
What Is Meant By Metadata Services Of Mscrm?
How Can You Enable Or Disable The Form Assistant? And How To Be Sure That The Form Assistant Is Expanded Or Not?
Does My Active Directory Domain Should Have Microsoft Exchange Server Installed In It?
What Is E-mail Router In Microsoft Dynamics Crm?
What Is The Difference Between Plug-in And Workflow With Regard To Security Restrictions?
What Is Workflow?
What Is The Difference Between Dialogs And Workflow?
What Is Plug-in MSCRM?
How To Join Two Table Using Query Expression?
Suppose If I Have 20 User License And I Have Created 20 Users. What Will Happen If I Create 21st User?
How To Enable/disable The Form Assistant? How To Make Sure The Form Assistant Is Expanded/collapsed On A Form?
I Am Using Singleton Pattern And Found That Two Objects Are Created , How Is It Possible?
Can We Hide Tab In Ms Dynamic Crm Form Using Javascript? How?
What Tables Get Effected When A New User Is Created In Ms Crm?
What Are All The Steps To Export The Solution As Managed Solution?
What Are All The Steps To Create A Solution?
What Is The Difference Between Remove And Delete Buttons On Solution?
Thursday, July 8, 2021
What are different method of plugin storage?
There are three plugin storage option
·
Database
·
Disk
·
GAC (Global Assembly
Cache)
Database = Plugin.dll
uploaded into the database
Disk = Plugin.dll is saved on the CRM server hard disk
GAC = Plugin.dll is loaded into the GAC on the CRM server
What are minimum privileges a user should have to register a plugin in CRM?
Only System administrator can do it. But the sys admin can select any other user for the “Run in User’s Context” option and execute the plugin as that user.
What is the unsecured configurations and how can we access from plug-in code?
Unsecure Configuration is viewable by any CRM user. Also, unsecure configuration will automatically move between environments with your CRM solutions while it is not the case in secure configuration.
What is the secured configurations and how can we access from plug-in code?
Use Secure Configuration, when a setting is sensitive and shouldn’t be readable by any CRM user or if you don’t want that setting to be moved between environments while importing/exporting solutions. Secure configuration is only viewable by CRM Administrator.
What is Plug-in profiler and importance of it?
The Plug-in has always been an important component in any implementation of Dynamics CRM, as they equip the developer to implement the logic which is not the part of application and thus empowers them to meet their business requirements.
Microsoft introduced the unique concept of having plugin profiler.A plugin profiler is a unique concept which need to be enabled by the developer on the specific message, and then whenever the plugin is executed. A profile of the same is created and sorted in an application that can be referenced back to by the developer at any time in the future to execute the code using the same context under which that particular scenario has been executed. We can say it is a good as executing the plugin back with inputs again to debug the code.
How can you debug the plug-in code?
The following steps are below:
1.
In the Replay
Plug-in Execution dialog, on the Setup tab, in the Specify
Assembly section, click the ellipses (…) button and choose the location of
your BasicPlugin.dll
2.
In your Visual Studio
project, set a break point in your plug-in class.
3.
In your Visual Studio
project, select Debug < Attach to Process
4.
Select the PluginRegistration.exe
process and click Attach
5.
In the Replay
Plug-in Execution dialog, click Start Execution
6.
In your Visual Studio,
you should see that the code is paused at the breakpoint you set earlier.
what is the advantage of adding “pre or post” images to plug-in?
Registering
for pre or post images to access entity attributes values result in improve plug-in
performance as compared to obtaining entity attributes in plug-in code through
RetrieveRequest and RetrieveMultipleRequest requests.
At what events “Images” are not available?
There are some events where images aren’t available. For example, only synchronous post-event and asynchronous registered plug-ins have PostEntityImages populated. The create operations doesn’t support a pre-image and a delete operation doesn’t support a post-image.
When we go for pre-validations and when we can go for pre-stage?
Pre-validation :- Pre-validation stage executes outside Database Transaction which will not rollback the entire operations written in the plugin if there is any runtime error occurs in one operation. This provides an opportunity to include logic to cancel the operation before the database transaction.
Pre-operation :- Pre-Operation stage executes inside database transaction due to which any runtime error occurs in a single operation in the plugin will rollback entire operations which are part of the plugin.
If you want to change any values for an entity included in the message, you should do it here.
When can infinite loop occurs in plugin? How do you avoid infinite loops in plugin code?
The CRM platform throws an error stating that it has identified an infinite loop. This usually happens after the number of iterations reaches a maximum of 8. We can fix this by adding a depth check at the start of our plugin code, just after we initialize each of the service objects.
The common method to avoid a recurring plugin is to check if a plugins depth > 1. This would stop the plugin from being run if was triggered from any other plugin. The plugin would only run if triggered from the CRM form.What is the method we need implement from IPlugin interface?
Execute(IServiceProvider)
·
Execute method :- This method runs as an entry point for any plugin in
Microsoft Dynamics CRM.
·
IserviceProvider
interface :- This
information provides access to various services of dynamic, this interface has
a method called GetService() that uses the reflection feature of .NET and allow
us to get any type of service we want.
What are stages we have in CRM?
There are Four stages in CRM
Event |
Stage Name |
Description |
Pre-Event |
Pre-validation |
Stage in the pipeline for
plug-ins that are to execute before the main system operation. Plug-ins
registered in this stage may execute outside the database transaction. |
Pre-Event |
Pre-operation |
Stage in the pipeline for
plug-ins that are to execute before the main system operation. Plugins
registered in this stage are executed within the database transaction. |
Platform
Core Operation |
Main
Operation |
In transaction, the main
operation of the system, such as create, update, delete, and so on. No custom
plug-ins can be registered in this stage. For internal use only. |
Post-Event |
Post-operation |
Stage in the pipeline for
plug-ins which are to be executed after the main operation. Plug-ins
registered in this stage are executed within the database transaction. |
What is the process to register the Plug-in in CRM?
What is the process to develop the Plug-in?
The following steps are:
1. Create
a .Net Framework class library project in Visual Studio
2. Add
the Microsoft.CrmSDK.CoreAssemblies NuGet package to the project
3. Implement
the IPlugin interface on the class that will be registered as steps.
4. Add
your code to Execute method required by the interface
·
Get references to service you need
·
Add your business logic
5. Sign
& build the assembly
6. Test
the assembly
·
Register the assembly in a test
environment
·
Add your registered assembly and step to
an unmanaged solution
·
Test the behaviour of the assembly
·
Verify expected trace logs are written
· Debug the assemblies are needed
Generally, Workflows are getting failed after 8 iterations. Is there any way to overcome this?
Workflow iteration will be happened if we call the workflow by itself. Workflow will be failed after 8 iterations (Loops) in CRM. This can be managed with Correlation Token at the backend. Correlation Token is a counter that has 60 min time limit, and it will be self-destructive after 60 min.
Now Correlation Token is created with counter “1” and
time “60 min” on running workflow for the first time. If the second iterations
of the workflow will start before 60 min, then counter will be increased by 1
and it will set to ‘2’. Once the counter reaches 8 the workflow will be failed
with infinite loop errors.
If in case second iteration of the workflow happens
after 60 min then the old Correlation Token will be cancelled and new
Correlation Token will be created with counter “1”.
What is Correlation Token in workflow and importance of it?
You can consider a correlation token as a Unique identifier that enable mapping between the objects in a workflow and environment that is hosting the windows workflow foundation (WF) workflow runtime
What is the importance of scope options in workflow?
There are four workflow scope:
User:- The
Workflow will only affect records owned by the owner of the Workflow.
Therefore, it’s almost set up like an individual Workflow. When you elect this
Scope, it means it will only run on the records owned by the same user as the
Workflow user.
Business Unit:- The
workflow will only affect records for all owners that are in the same business
as the workflow owner.
Parent: Child Business
Unit:- Enable the Scope means the workflow only affect the
records for all owner that are in the same business unit and any child business
unit of the business unit workflow centre.
Consider you have six parent unit and
five child units that lookup to a single parent unit.
If that child is in a parent unit,
any records owned by individuals within that unit will be affected by the
workflows.
Organization:- The
workflow will affect all the records within your CRM organizations. It is the
scope most used by the often users.
It may seem like a “Click and Set”
for an organization but you ever want to set this up to affect the workflow the
unit is in, there are actually options for that too.
Difference between Timeout and Wait Conditions in MSCRM?
Timeout Condition :- A Process Timeout tells the workflow to wait for a specific amount of time or until a specific date. The former is essential for building workflows that should space out the execution of certain steps while remaining fully automated, while the latter is needed when a given step has to execute on a certain day or time. You can include a Process Timeout in a workflow by selecting Add Step > Wait Condition.
Wait Condition :- A
Wait Condition tells the workflow to wait until some specific action has
occurred, such as a field changing or updating to a specific value. This is
useful for situations in which you need to wait for something to be done,
rather than wait a specific amount of time. Wait Conditions are great for
building workflows that are coordinated with manual processes carried out by
users. You can add a Wait Condition to a workflow by selecting Add Step >
Wait Condition.
How can we create Timeout conditions in workflow?
What is the process of creating UI workflow?
The following steps are below:
1. Go
to settings Ã
Processes
2. Click
New
3. In
the Create Process window, enter the following details –
4. In
the New Process Window enter the following details –
5. You
will see a new step added to the workflow. In this step, we will specify the
user to whom all the created contacts should be assigned. Enter the name of
step as Assign Record to Team. The Assign option will be defaulted
as the entity on which we are creating the workflow (Contact in our case).
Click the Lookup icon.
6. In
the Lookup window, select any user that you want. You can even select a team to
whom you want to assign the record to. Click Add.
7. Add
another step by clicking Add Step à Send Email. In
this step, we will configure sending email to the customer.
8. A
new step will be added. Enter its name as Send email to Customer. Click Set
properties.
9. In
the next window to configure email, perform the following operations –
10. Click
Save and then Activate
11. In
the Process Active Confirmation popup that follows, click Activate.
Wednesday, July 7, 2021
Difference between GAC, Database, Disk deployments?
GAC (Global Assembly Cache):-
- Plugin
stored in GAC does not support Dynamics 365 Online.
- Plugin
does not backed up with database, plugin assembly stored in GAC of
the server. So, database backup or restore will not restore your plugin.
- You
cannot add your plugin with your solution which means you always have to
copy and register dll when you want to deploy in another
environment.
- In case
of GAC deployment you always need to IIS restart for any update of your
plugin.
- Registering
plugin in GAC does not mean that you can access any external dll , you can
only refer the dll which you have referenced at the time of plugin
development.
Database Deployment:-
- Support
both Dynamics 365 online and On-premises.
- Plugin is
secured and it’s stored in Dynamics 365 database itself you can
backed up and restored the database with plugin.
- You can
include your plugin into your solution and move another environment by
solution import.
- When you
update any plugin, you don’t need to do IIS reset to reflect the changes
in the Application level.
- You can
refer external dll from the disk and from GAC.
Disk Deployment:-
- Does not
support dynamics CRM online .
- Similar
like GAC does not backed up with database, plugin assembly
stored in the server. So, database backup or restore will not
restore your plugin.
- You
cannot add your plugin with your solution which means you always have to
copy dll and register using plugin registration tool when you want to
deploy in another environment.
- In case
of GAC deployment you always need to IIS restart for any update of your
plugin.
- You can
refer external dll from the disk and from GAC.
Difference between Pre-Image AND Post Image in Plug-ins
Pre-Image:- In case of Pre-image, you get the image of the record as is
stored in the SQL database before the CRM Platform action has been performed.
Post Image:-
Post Image, returns the image of the record
after the CRM Platform action has been performed. As developers, you may have at times, received the
following error when trying to implement a plugin.
Difference between Form level security Vs Field level security?
Form level Security:- Form level security used to secure a form, using this form level security we can restrict the Entity form to displaying for everyone OR Displaying only for some security roles.
Field level Security:- Field level security in CRM lets you
dictate which fields users can view or edit. If you want to prevent users from
(accidentally) changing data like an account name, account number or status,
enabling or disabling field security for a field can give them read only access
to these specific fields.
Difference between Query Expression AND Query by Attribute?
Query Expression
- Query Expression is
an object oriented, strongly typed approach to developing queries against
the CRM database.
- We need
to specify the condition Expression and Condition Operators while
designing the queries.
- Query Expression
is preferable if we want to query the CRM data with complex conditions.
- It
supports the complex conditions with “AND” and “OR” operators
- It
supports different condition operators like “Begins with, doesn’t begin with,
End switch”
- It
supports to retrieve the data based on Link entities.
Query
by Attribute:
- Query by Attribute class
is a simple class compared to Query Expression class. Hence, we can
select Query by Attribute if the query is simple.
- No need
to enter the conditions expression, condition operators while designing
the criteria for Query by Attribute.
- It
queries the CRM data from specified entity by specifying criteria with set
of attributes and value pairs.
- It
automatically consider “AND” between specified attributes as it doesn’t
support “OR”.
- It
supports only “Equal” condition operator
Difference between Query Expression AND Fetch XML query
Difference between Organization owned entities and User Owned entities
OWNED ENTITY | USER/TEAM OWNED ENTITY |
---|---|
Entity doesn’t have Owner ID field. Hence, these entity records can’t be owned by any user/team. | Entity has owner ID field. Hence, it can be owned by user/team. |
Entity records can be viewed by whole organization users | Entity records can be viewed by user based on their security roles |
Records cannot be shared or assigned | Records can be share and assigned |
Entity has only two security access levels as “None” and “Organization” | Entity has all access levels (None, user, BU, Parent: Child BUs, Org) |
Difference between Share Vs Assign in MSCRM
SHARE | ASSIGN |
---|---|
User who has share privileges on entity record can share to another user | User who has Assign privileges on entity record can share to another user |
On sharing the record, selected permission given to new user on that record.Here, ownership of the record remain same. | On Assigning record, Ownership will be transferred to new user |
We can use Grant Access, Modify Access and Revoke Access Messages to share the records with SDK | We can use Assign Request to assigned records with SDK |
Difference between Append Vs Append To in MSCRM
‘Append’ and ‘Append To’ privileges works together in CRM. ‘Append To’ allows other entities to get attached with it. ‘Append’ privilege will allow the entity to attach the records of an entity which has ‘Append To’ privilege.
Ex:
Generally, we attach notes to an entity (Account). To do this Note should have
“Append” privilege and Accounts should have “Append To” privileges.
Difference between Global Option set AND Normal Option set field in CRM
In Dynamics 365, there are 2 types of option set fields, global and local. Global option sets are stored at a “global” level and can be used in any entity. This is different from local option sets, which are available only to the entity they are created in. Having an option set at a form level is beneficial if, say, you have unique attributes for the field and therefore having it globally wouldn’t make sense. If you reuse the field in many entities, having a global option set would make sense.
Difference between Sync AND Async Plug-ins
SYNCHRONOUS PLUG-INS | ASYNCHRONOUS PLUG-INS |
---|---|
These Plug-ins are executed by the CRM Core System | These plug-ins are executed by Asynchronous service |
Synchronous means the triggering point will wait until the Plug-in finish its execution. | Triggering event don’t wait to finish the Asynchronous plug-in to complete. |
Generally, we use Synchronous plug-ins to do validations before any actions happened, any action that should be performed immediately. | It give lesser performance compare to Asynchronous plug-ins. |
Generally, we use this plug-in to improve the server performance. | If the Plug-in logic takes more time and that need to not to be happen immediately then we can go with these plug-ins. |
Difference between Workflow AND Dialogue
Difference between Plug-in AND Workflow in MSCRM?
Difference between Managed Solution AND Unmanaged Solution
Difference between Discovery service AND Organization service
What is meant by publisher and why we are using it in CRM 2016?
What is meant by Managed Properties?
What is meant by web resources and how many types of web resources we have?
What are components we can add from solutions?
What are the minimum privileges required to create solution?
How can we know the Owner of Managed solution?
Can we update the components in Managed solution?
What is Unmanaged Solution?
What is Managed Solution?
What are types of solutions in MSCRM?
What is the importance of “Manager Properties” on CRM components?
What are the settings we need to do to see the entity relations from Advanced find?
What are the options we can rollback if we enable them while creating custom entity?
What are the different type of N: N relationships we have in CRM?
What will at backend on creation of new custom entity in CRM?
What are the types of Ribbons we have in CRM 2011?
What is the difference when the ownership is user vs organization for a custom entity?
What will happen if we set “Searchable” as “No” for a field from customizations?
What are the different changes you observer between custom entity and custom activity?
How can we create a custom activity in CRM?
Can we enable/disable the plug-in steps from CRM solution?
What are the different web resource supported by CRM?
What are the limitations of Quick view form w.r.t controls and design?
What are the limitations of Quick create for w.r.t. controls and design?
What is the importance of Application Ribbon component in CRM?
What is the importance of Site map in CRM?
What are the different types of forms we can create in CRM 2015?
What are filtered views?
What are the “Relationship behaviours” in CRM and explain each of them?
How many types of relationships are available in CRM?
Where can we get Organization and Discovery service URLs in CRM instance?
How can you customized the CRM Ribbon?
What are the default settings for Field level security and Auditing?
What are requirement levels we have to create a new field for an entity?
What is the lookup data type and where it will be placed?
What is the maximum limit of records can be displayed in CRM grid view?
The maximum limit of records can be displayed in CRM grid view is 250.
What are the different data types we have in CRM?
Where can we change the number, currency, and time formats?
Where to change the #of records count limit that displaying in entity grid view?
Where to do the user related (personal) settings?
Where can we set the Default module and Entity to get on opening CRM?
How to see the CRM version information?
Can we add different BU related users to a single Team?
What are the high level steps to enable field level security?
• Enable field-level security for an attribute
• Create a field-level security profile
• Associate users or teams with the profile
• Add specific field permissions, such as Create, Update or Read for a specific attribute to the profile
Can we control the field level security based on security role?
Field Level Security Interview Question in MSCRM
2. What are the permission we can restrict on specific field with field level security?
3.What are the high level steps to enable field level security?
4. What will happen if a field is enabled for field level security?
5. What a field level security profile contains in CRM?
6. Can we add user/team to more than one field level security profile?
7. Can we delete System Administrator field level security profile?
8. Can we set field level security for OOB fields?
9. Do Audit history maintained for enabling and disabling field level security by setting “IsSecured” on a field?
10. What will happen if the user don’t have “Read” security on a field?
11. How can we know what are all attributes can be secured in CRM with field level security?
12. Do all attribute data types support to restrict all permissions with field level security?
13. Which security roles allow you to see secured fields?
14. What will happen if multiple profiles assigned to user/team?
15. How do secured fields behave for create or update?
16. How do secured fields behave for Retrieve and RetrieveMultiple?
17. How do secured fields behave when records are shared?
18. How do secured fields behave for filtered views?
20. How do secured fields behave for offline synchronization?
21. Can we control the field level security based on security role?
Featured Post
-
Merging PDF Files Based on Name Segments in C# In this blog post, we will explore how to merge multiple PDF files using C#. The me...
-
Dynamics CRM Questions and Answers Q251) How do you create and manage multiple forms for a single entity? + T...
-
Automating Email with VBA In this blog post, I will walk you through a VBA script that automates the process ...