Friday, July 9, 2021

When will you use workflow?

The answer would likely be: it depends on the characteristics of the task that is under consideration. And the same thing applies to plug-in.

CRM default solution has its own default publisher with the name "Default Publisher for"

We can create our own Publisher for a solution and can define the “Prefix” for the custom components and start the value of Option set values.

What is meant by the publisher and why we are using it in Dynamics CRM Solutions?

Every solution in CRM has a Publisher. Publisher record stores the information like address and contact information of solution publisher.

What are all the new components we create from the solution?

Below components can be directly created from the solution file: 1. Entity 2. Option sets 3. Web Resources 4. Processes 5. Dashboards 6. Reports 7. Connection Roles 8. Security Roles 9. Templates (Email, Mail merge, contract, and Article) 10. Field security profiles

What are all the components require to Publish when they update in the system?

Below solution components require publishing when they are updated:
         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?

The following is a list of solution components that you can view within a solution: Application Ribbon 1. Article Template 2. Business Rule 3. Chart 4. Connection Role 5. Contract Template 6. Dashboard 7. Email Template 8. Entity 9. Entity Relationship 10. Field 11. Field Security Profile 12. Form 13. Mail Merge Template 14. Message 15. Option Set 16. Plug-in Assembly 17. Process 18. Report 19. SDK Message Processing Step 20. Security Role 21. Service Endpoint 22. Site Map 23. Web Resource

What are the minimum privileges required to create a solution?

Below is the minimum privileges required to create a solution. 1. Read-write of Customizations 2. Read-write of solutions 3. Read-write of publishers 4. Read-write of web resources 5. Import and Export customizations 6. Publish customizations

How Do Secured Fields Behave For Retrieve And Retrievemultiple?

When user call the Retrieve/RetrieveMultiple messages, CRM evaluates if the user has access to each retrieved record and each secured field. CRM wont show error message if the retrieve column set contains secure fields instead null values are returned for secured fields.

What Type Of Operations And Data Can Be Audited In Crm?

Below data and operations can be audited in CRM: Create, update, and delete operations on records. Changes to the shared privileges of a record. N:N association or disassociation of records. Changes to security roles. Audit changes at the entity, attribute, and organization level. For example, enabling audit on an entity. Deletion of audit logs. When (date/time) a user accesses Microsoft Dynamics CRM data, for how long, and from what client.

Maximum Number Of Processes, Stages, And Steps In Business Process Flow's?

To ensure acceptable performance and the usability of the user interface, there are some limitations you need to be aware of when you plan to use business process flows: There can be no more than 10 activated business process flow processes per entity. Each process can contain no more than 30 stages. Multi-entity processes can contain no more than five entities.

How Should Is Change Execution Order Between Synchronous Workflow And Plugin?

we have tool synchronous event order in ToolBox by using we can able to update Rank of workflow.

Business Rules,javascript Method Which One Trigger The First?

Javascript method is clientside program and syncronous and business rules are asynchronous process so javascrit execute first.

What Is Discovery Services?

The discovery services function for determining the correct organization and URL.MSCRM has many servers, each of which it, might be dedicated to multiple Organization

What Is Meant By Metadata Services Of Mscrm?

The metadata of MSCRM holds the information about the attribute and the entity. For instance, platform name, datatype of attribute, size of the attribute, display name, etc

How Can You Enable Or Disable The Form Assistant? And How To Be Sure That The Form Assistant Is Expanded Or Not?

One can use the following pathway to ensure this– Navigate to Customization >> Open the Entity >> Open Forms and Views >> Open Form >> Select Form Properties >> Open Display Tab >> Check/Uncheck the “Enable the Form Assistant” and “Expanded by Default”.

Does My Active Directory Domain Should Have Microsoft Exchange Server Installed In It?

No, it is not neccesary. One can use in-house or external SMTP and POP3 services.

What Is E-mail Router In Microsoft Dynamics Crm?

E-mail router in MS CRM forms the software component which creates an interface between the Organization’s messaging system and the microsoft dynamcs CRM deployment.

What Is The Difference Between Plug-in And Workflow With Regard To Security Restrictions?

The user requires an system admin or system customizer security role and membership in the development administrator group, in order to register a plug-in with platform. Whereas, the user can use the web application for workflow.

What Is Workflow?

Workflow involves the automation of business processes from one party to another whose actions are in accordance to a set of rules.

What Is The Difference Between Dialogs And Workflow?

Dialogs refers to synchronous processes which requires user input, a wizard like interface. Where as Workflow refers to Asynchronous process which requires no user input and its an background process

What Is Plug-in MSCRM?

A plug-in is an custom business logic which functions for integrating microsoft dynamics CRM 2011 with microsoft dynamics CRM online. This integrating is to augment or modify the standard behavior of the platform.

How To Join Two Table Using Query Expression?

Using Linked entity. You should always try to minimize the number of SWS calls that we make in the database. Often during code review it is explored that the number of Microsoft CRM web-service could have been reduced by making use of the Linked-entity concept. So we should always look for the opportunity to minimize the effort.

Suppose If I Have 20 User License And I Have Created 20 Users. What Will Happen If I Create 21st User?

The 21st User will get created in MSCRM but that user will be in disabled state.

How To Enable/disable The Form Assistant? How To Make Sure The Form Assistant Is Expanded/collapsed On A Form?

Navigate to Customization >> Open the Entity >> Open Forms and Views >> Open Form >> Select Form Properties >> Open Display Tab >> Check/Uncheck the "Enable the Form Assistant" and "Expanded by Default".

I Am Using Singleton Pattern And Found That Two Objects Are Created , How Is It Possible?

If you have multiple worker processes configured then not all of the requests are handled by the same process and thus not the same singleton. so if multiple singleton are handling requests then obviously multiple objects will be created.

Can We Hide Tab In Ms Dynamic Crm Form Using Javascript? How?

Yes we can hide particular section using following line of code. Xrm.Page.ui.tabs.get("tab_name").sections.get("section_name").setVisible(false);

What Tables Get Effected When A New User Is Created In Ms Crm?

When CRM creates a new user, it writes data to three different tables: [MSCRM_CONFIG].[dbo].[SystemUserAuthentication] [MSCRM_CONFIG].[dbo].[SystemUserOrganizations] [XX_MSCRM].[dbo].[SystemUserBase] The steps for creating the user in CRM is as follows: The first table is populated as soon as you press ‘Save’. Amongst other data, the users GUID in Active Directory is added to the table. Next it tries to bind the user to the chosen organization. Lastly CRM populates the table in wich is used to display CRM users in CRM.

What Are All The Steps To Export The Solution As Managed Solution?

Navigate to Settings – Solutions Select the solution that you want to export Click on “Export” Follow the Wizard and select “Managed” solution type in “Package Type” page. Follow the remaining steps in wizard and save the solution

What Are All The Steps To Create A Solution?

Navigate to Settings – Solutions Click on New Fill the required fields like Name, version. Select the Publisher record (Create if not existed)

What Is The Difference Between Remove And Delete Buttons On Solution?

Remove button release the components from the solution whereas Delete button removes the component from CRM system.

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.

You can now step through your code to debug.

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.

Which type of plug-ins contains “Output Parameters”

 Post-Operation Plugin

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 is the namespace for IPlugin Interface?

 Microsoft.Xrm.Sdk

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?

Connect using the Plug-in Registration Tool 1. After you download the Plug-in Registration Tool, click the PluginRegistration.exe to open it 2. Click create new connection to connect your instance 3. Make sure Office 365 is selected. If you are connecting using a Microsoft account other than one you are currently using, click Show Advanced. 4. Enter your credential and click Login 5. If your Microsoft Account provides access to multiple environments, you will need to choose an environment. 6. After you can connect, you will see any existing registered plug-ins & custom workflow activities

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?

The following steps are below: 1. Create a new CRM workflow process. Run this workflow in the background is required for any timeout condition 2. Click on the “Add Step” and select “Wait Condition” 3. Click on the Wait until (Click to configure) 4. Click the drop down to select the local values – Process (bottom of the list after all the Related Entities) 5. Click on the next drop down and select Timeout 6. Set the Timeout condition to 1 day after the current execution time as an example.

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

Query Expression:- It is the mostly commonly used way for querying information in CRM. Probably because it uses the object-oriented style of coding and so you have distinct classes for query, condition, columns etc. You have intelligence to support you when writing a query using Query Expression. However, it has its own limitations, one of them being the inability to provide a column of a linked entity to be returned as the query result. This perhaps because the Query Expression would return a dynamic entity or a strongly typed base entity and so it is unable to return columns of related entity. Fetch XML Query :- Fetch XML requires the query to be specified in XML format and the result set is returned in XML format as well. This allows Fetch XML to return related entity columns as well as this is just another node in the xml doc.

Difference between Organization owned entities and User Owned entities

When we created a new entity in CRM, we have to option for “ownership” as “User or Team” and “Organization”. Below are the main differences between these two types of 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

Workflow :- Are asynchronous processes, and do not allow/require user input to run to completion. These processes run in the background. Dialogue :- Are synchronous processes and require user input to run to completion. When you run these processes, a wizard-like interface is presented to you so you can make appropriate selections to run the processes.

Difference between Plug-in AND Workflow in MSCRM?

• When we are using Plugin, we have a number of triggers available (called as Steps/Message) to trigger the plugin execution, • Where Custom workflows are triggered by standard workflows available in CRM, that make the custom workflow triggers limited(Create, Update, Status Change, Delete and on assign). • Workflows and by extension, custom workflow activities, execute totally asynchronously. Plugins can execute both asynchronously and synchronously. • Plugin overall execution time is lesser then workflows and if validations are required to be performed then plugins should be preferred. • Workflows can be manually executed, or automatically triggered by selected events. Workflows can be limited to automatically execute within specific organizational scopes (i.e. Org, BU, Parent and Child BUs, or for the Owner only). Plugins are always triggered by the messages to which they’re subscribed, though some Messages allow limiting execution based on whether certain attributes have been passed into the Message. • Workflows can be turned off (by unpublishing). Plugins are always on. Custom workflow activities can be used in many Workflows. Workflows can be developed through the Workflow design interface. Plugins must be developed in Visual Studio. Workflows do not require compiling (though custom workflow activities do). Plugins and custom workflow activities must be compiled and deployed through processes external to CRM.

Difference between Managed Solution AND Unmanaged Solution

Unmanaged Solution : All solutions starts out as Unmanaged. When it is in the Unmanaged state, you can add, remove, update, and test any of the components of the solutions. You can delete components of your unmanaged solutions, while leaving it available for use in the rest of the system some on the MS CRM dev team have linked this to your ‘Source’ code of your system. The great thing about an unmanaged solution is that during developments, you can create restrictions (like ‘not customizable’) on the components as they evolve. Managed Solutions : When your unmanaged solution is ready for the show, you simply export it too ‘Managed’. You could think of this as ‘compiling’ you code. You set the restrictions (i.e., prevent customizations on certain components) and the end user lives by those rules. But remember, they can still customize the components of the solution that are unrestricted. You cannot add or remove components of a solution, even if the component is unmanaged. Once you have packaged the Managed Solution, it can be installed into another organization. They can also be deployed across multiple deployment types (Online, Partner Hosted, On-Premises) and all CRM Clients (web, Outlook, Mobile Express, and Offline via Outlook Client).

Difference between Discovery service AND Organization service

Discovery Service : The Discovery service web service is used to determines the organizations that a user is a member of, and the endpoint address URL to access the OrganisationService Web service for each of those organizations this discovery service is necessary because Microsoft Dynamics CRM is a multi-tenant environment a single Microsoft Dynamics CRM can host multiple business organizations. By using the discovery web service, your application can determine the endpoint address URL to access the target organisation’s business data. Organization Service : It is a primary web service that accesses data and metadata of an organization. This web service contains the methods that you use to write code that uses all the data and metadata in Microsoft Dynamics CRM.

What is meant by publisher and why we are using it in CRM 2016?

Every solution in a CRM has a Publisher. Publisher record stores the information like address and contact information of solution publisher. CRM default solution has its default publisher with the name “Default Publisher For” We can create our own Publisher for solution and can define the “Prefix” for the custom components and start value of Option set values.

What is meant by Managed Properties?

We can’t customize managed solution components. By using managed properties of managed solution user can customized these managed solutions

What is meant by web resources and how many types of web resources we have?

Web resource is one of the components in CRM to create JS, HTML, Silverlight, Image, and style sheet files. We can create below types of web resource in CRM: • WebPage (HTML) • Style Sheet (CSS) • Script (Jscript) • Data (XML) • Image (JPG) • Image (PNG) • Image (GIF) • Silverlight (XAP) • Stylesheet (XSL) • Image (ICO)

What are components we can add from solutions?

• Application Ribbon • Article templates • Business rule • Chart • Connection Role • Contract Template • Entity • Entity Relationship • Field • Field Security Profile • Form • Mail Merge Template • Message • Option set • Plug-in Assembly • Process • Report • SDK Message Processing Step • Security Role • Service End point • Web Resource

What are the minimum privileges required to create solution?

• Read write of Customizations • Read write of Solution • Read write of Publisher • Read write of Web Resource • Import and Export Customizations • Publish Customizations

How can we know the Owner of Managed solution?

Each managed solution is linked with Publisher. Publisher indicates the owner of the managed solution who developed it

What is the process to update Managed solution?

By using managed properties of managed solution

Can we update the components in Managed solution?

No, we can’t Update the component in managed solution

What is Unmanaged Solution?

Unmanaged Solution is a group of unmanaged customizations. Any unmanaged customized solution component can be associated with any number of unmanaged solutions. we can export an Unmanaged solution as Managed solution. We can’t rollback the customization once import into CRM instance

What is Managed Solution?

Managed solution is a kind of completed package that we can distributes to others to install in their CRM Organization

Can we export Default solution as “Managed Solution”?

No, We can’t

What are types of solutions in MSCRM?

There are two types of solutions • Managed Solution • Unmanaged Solutio

What is the importance of “Manager Properties” on CRM components?

We can’t customize component of managed solution by the using of manage properties we can customize the components of managed solution

What are the settings we need to do to see the entity relations from Advanced find?

First, make the relationship visible by customizing the relationship and setting it to “Use Plural Name”. Then save and publish your customizations. However, when setting the relationship to visible it will automatically be put into the Course Form left hand navigation pane. Then, go into the course form and remove the course category item from the navigation pane. And remember to Publish your Customization The end result look the same, but relationship is searchable.

What are the options we can rollback if we enable them while creating custom entity?

Removing all dependencies and Deleting the entity

What are the options we can’t rollback if we enable them while creating custom entity?

Backup and restore of your instance

What are the different type of N: N relationships we have in CRM?

There are two types of N:N Relationship in CRM • Native N:N Relationship:- CRM automatically created the relationship between two entities • Manual N:N Relationship:- A combination of two N:1 relationship that share a common intersect entity

What will at backend on creation of new custom entity in CRM?

In 2011 On a creation of new custom entity in CRM the following tables will be created on backend EntityName+Base, EntityName+ExtendedBase And if you create an entity bank then following tables will be created at CRM database new_bankbase, new_bankentensionbase But in 2016 it is only one table new_bankbase

What are the types of Ribbons we have in CRM 2011?

• Entity Ribbon • Grid Ribbon • Sub-grid Ribbon • Form Ribbon

What is the difference when the ownership is user vs organization for a custom entity?

When you create an entity, you are presented with a choice to make the entity user based or the organization based. User level means the record in the entity are created as User level. (When privileges on this entity are user level only the user who created them will be see or modify them) Organization level means all the member of the organization have the right on this entity.

What will happen if we set “Searchable” as “No” for a field from customizations?

Setting Searchable Property to No, makes the field disappear from the available fields for the Filter configuration, but it won’t hide the field when adding column to the view. This property has no impact on behaviour of the global and Quick find search.

What are the different changes you observer between custom entity and custom activity?

• Custom activity entities are available to those users who have access to other activity entities • We can create a custom activity from a custom entity

How can we create a custom activity in CRM?

• When you create a new entity, there is a check box • Define as an Activity Entity • If you tick this checkbox your new custom entity will be a new custom activity

What are the different types of views we have in CRM?

• Public View • System View • Personal View

Can we enable/disable the plug-in steps from CRM solution?

• Go to Settings  Customization  Customize the System • In the left navigation you can see the ‘Plug-in Assemblies’ and ‘SDK Message Processing Steps’ • Go to SDK Message Processing Steps • Then, you can select the plug-in step you want to Disable or Enable

What are the different web resource supported by CRM?

• WebPage (HTML) • Style Sheet (CSS) • Script (Jscript) • Data (XML) • Image (JPG) • Image (PNG) • Image (GIF) • Silverlight (XAP) • Silverlight (XSL)

What are the limitations of Quick view form w.r.t controls and design?

• Sections, spacers, fields, and sub grids are the only form component allowed to be place on the Quick View Form • Quick View Form only supports a single column tab, and this cannot be modified or changed • IFRAME are not allowed to be placed on the Quick View Form • Web Resources are not allowed to be placed on the Quick View Form • Notes are not allowed to be placed on the Quick View Form • Header and footer are not allowed to be placed on the Quick View Form

What are the limitations of Quick create for w.r.t. controls and design?

• Quick Create Form only supports 1 three-column-section-style tab to be placed on the form • Quick create Form only support fields and spacers to be placed on the form • Quick Create Form doesn’t support header, footer, sub-grid, IFRAME, composite control or web resource to be placed on the form • By default, all 3 sections on Quick Create Form will have the same percentage width, however this can be modified as required • Since Quick Create, Form are also exposed to client API, the form event will also be triggered (Business Rules, etc.) • Since users can create multiple Quick Create Forms, the one that is the topmost in the order will be displayed

What is the importance of Application Ribbon component in CRM?

In Ms CRM Application Ribbon component will help to add button to all entity forms

What is the importance of Site map in CRM?

Site maps define the navigation for your app. Create a site map for your app with ease by using the tile-based site map designer. Use the designer to drag components onto the design canvas, preview your work, and instantly publish the site map. Administrators and any user with the required privileges can quickly create site maps for apps. The site map designer also lets you define the area, subarea, or group titles in the languages supported by the environment. A default site map is available. You can edit this site map or configure site maps for new apps by using the site map designer. The site map designer is integrated with the app designer

What are the different types of forms we can create in CRM 2015?

• Main Form • Mobile Form • Quick Create Form • Quick View Form

What are filtered views?

Filtered views allow the report developer to query underlying SQL data directly. Filtered view are fully complaint with the Microsoft Dynamics CRM security model. When you run a report that obtain data from filtered view, the Microsoft Dynamics CRM security role determines what data you can view in the report.

How can you add Custom buttons to Ribbon?

Using “Ribbon Workbench” Tool

How can you Hide system ribbon buttons?

Using “Ribbon Workbench” Tool

How can you override system ribbon button functionality?

By using “Ribbon Workbench solution”

Where the Option set field options are stored in CRM?

StringMapBase

What are the “Relationship behaviours” in CRM and explain each of them?

There are different types of relationship behaviours: • Parental • Referential • Referential, Restrict Delete • Configurable Cascading  Cascade All  Cascade Active  Cascade User  Cascade None  Remove Links  Restrict

How many types of relationships are available in CRM?

There are three types of relationships in CRM: • 1-to-many (1:N) Relationship • Many-to-1 (N:1) Relationship • Many-to-many (N:N) Relationship

Where can we get Organization and Discovery service URLs in CRM instance?

Navigate to Settings --> Customizations --> Developer Resources

How can you customized the CRM Ribbon?

Using “Ribbon Workbench” Tool from Solution and from XRM Toolbox Ribbon workbench.

What are the default settings for Field level security and Auditing?

• Field level security : Disable • Auditing : Enable

What are requirement levels we have to create a new field for an entity?

• Optional • Business Recommended • Required

Where does CRM store Option Set values in SQL Server?

StringMapBase

What is the char limit for custom components pre-fix?

2-8

What is the lookup data type and where it will be placed?

It will be created in 1:N relationship mapping and will be placed at “N” side entity

What is the max chars limit for “Multiline textbox”?

1048576

What is the maximum limit of records can be displayed in CRM grid view?

250
The maximum limit of records can be displayed in CRM grid view is 250.

Can we create a new field from form customization?

Yes, We can

What are the different data types we have in CRM?

• Single line of text • Multiple line of text • Currency • Date and Time • Whole Number • Decimal Number • Floating Point Number • Option Set • Two Option Set • Image • Lookup

Where can we change the number, currency, and time formats?

Steps are below: • Click on setting icon at top right corner of the CRM Instance • Select Options • Under format tab • Click on “Customized” • Here, User can change the Number, Currency, Date and Time

Where to change the #of records count limit that displaying in entity grid view?

Steps are below: • Click on setting icon at top right corner of the CRM Instance • Select Options • Under general tab, select the value for record per page (25, 50, 75, 100 and 250)

Where to do the user related (personal) settings?

Steps are below: • Click on setting icon at top right corner of the CRM Instance • Select Options • Here, User can update general settings like default module, #record per grid view, currency, email settings, format settings, synchronization settings, email templates etc.

Where can we set the Default module and Entity to get on opening CRM?

Steps are below: • Click on setting icon at top right corner of the CRM Instance • Select Options • Under General tab, select default pane and default tab

How to see the CRM version information?

Steps are below: • Click on setting icon at top right corner of the CRM Instance • Select About • A Pop-up window will be opened with version information

Where we need to change the prefix for custom components?

Under Publisher record

Can we add different BU related users to a single Team?

Yes, We can add different Business Unit users to a single Team in MSCRM

Can we have 2 BU’s for a single user?

No, Single user has only one Business Unit

Can we modify the name of root business unit?

No, we can’t. We have to re-create the CRM instance

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?

No we can't. It can be managed only via Security Profile.

Field Level Security Interview Question in MSCRM

1. What is the importance of field level security in CRM?
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

Construction Result Summary Jun-2019