Tuesday, 26 July 2011

MS Dynamics CRM 2011 Interview Questions

Microsoft Dynamics CRM Interview Questions:

Following are the some of the questions which are asked most frequently in the Microsoft CRM interviews. Generally the during the recruitment of MS CRM Functional consultant, Technical Consultant or Test Consultant the answer to this questions are expected.I will add few more questions in this post.

Typical Questions :

1. What are near features of new crm version (CRM 2011)?.
2. How many implementations you have done ?
3. Whats your experience with development ?
4. Have you done SRS reports development ?
5. Any integration experience ?
6. Whats your role in CRM ?
etc etc

Some technical Questions :
1. What is a Plug-in?
2. What is a Workflow?
3. What are the differences between Plug-in and a Workflow?
4. What are the differences between Asynchronous Plug-in and a Workflow?
5. When will you use a workflow and when will you use a Plug-in? Give some Real-life scenario.
6. What is an Email-Router?
7. What are the steps to configure an Email router?
8. How the Plug-in and Workflow will behave in case of Off-line client?
9. What is Metadata?
10. What is CRM Discovery Service?
11. What is Sales and Marketing life cycle in MSCRM?
12. What is Queue entity in MSCRM?
13. What is 1:1, 1:N and N:N relationship in Microsoft Dynamics CRM?
14. How a Plug-in is different from a Call-out?
15. What is 'Append' and 'Append To' privilege in MSCRM? Give one example of it?
Ans: 'Append' and 'Append To' priviledges works together. 'Append To' priviledge will allow other entities to get attached with the entity. 'Append' priviledge will allow the entity to attach the records to the entity with 'Append To' privildege.

Let us understand this with simple example:
Let us say that you want to attach a note to a case then note entity should have 'Append' access right and case entity should have 'Append To' access right.

Let us take one more example to understand this. Suppose you have two custom entities called 'TestCustomEntity1' and 'TestCustomEntity2'. You want to attach the 'TestCustomeEntity2' records to 'TestCustomEntity1'records. For this you need to have 'Append' access right on 'TestCustomEntity1' entity and 'Append To' access right on 'TestCustomEntity2'.
Now guess will I be able to attach the records? Answer is "NO" because we need to create a 1:N relationship between 'TestCustomEntity1' and 'TestCustomEntity2'.
Now the user who has above mentioned access right in his security role will only be able to add 'TestCustomEntity2' records to 'TestCustomEntity1'.
16. How to create a Custom Entity record using SDK?
Ans: Using Dynamic Entity.
17. How to join two table using Query Expression?
Ans: 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.
18. Can we modify the name of Root Business Unit?
Ans: No; We will have to re-install MSCRM.
19. Suppose if I have 20 user license and I have created 20users. What will happen if I create 21st User?
Ans: The 21st User will get created in MSCRM but that user will be in disabled state.
20. What are the maximum number of tabs allowed on a Microsoft Dynamics CRM 4.0 form?
Ans: 8
21. How to enable/disable the form assistant? How to make sure the form assitant is expanded/cllapsed on a form?
Ans: 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".

The interviewer will always try to figure-out whether one is comfortable with the basic concepts of Microsoft CRM (MS CRM) or not and after that; questions will be asked from your previous experience (if you have any experience in CRM). Those questions will be something like this:
1. What was you role in the MSCRM implementation project that you have worked on?
You should be honest while giving answer to this question and should give a brief overview of the project and your role. This is very important question because the answer of this question will tigger so many questions. You should highlight the key skills you have; this way you will divert the attention of the interviewer to your key skills and try not to expose the area in which you are less confident.
2. What was the most challenging task you have faced till now?
Here you should give answer that exihibit your positive attiude . e.g. for a techincal consultant it may be something like ... "I was new to the suppport and during this experience i faced challenging issue related to plug-in that impoved my debugging skills. Email-to-case plug-in was really diffcult as we had to take care of so many conditions. I have learnt one thing during my previos assignment and that is 'Never give-up'".
3. What was the size of the implementation? (i.e. the number of user-licenses)

Q: What is CRM Service of MSCRM?
Ans: CRM Service is the main web service and it exposes Six methods such that you can write your code against CRM entities. To perform operation other than the six operations (six methods provided by mscrm) we will have to use the Execute method.
Q: What is Metadata service of MSCRM.
Ans: Dictionary meaning of the word METADATA is data about data and similarly the metadata holds the information about MSCRM means the information about the entity and attribute e.g. Display name, platform name, size of the attribute, datatype of attribute etc. If we want to access any information about any entity (Dynamic or system) we will have to make use of the Metadata service. In the database we can find the metadata table and name of these table begins with keyword Metadata.
Q: What is discovery Service?
Ans: The Discovery service is a global service that helps the caller to detemine the correct organization and URL. Microsoft CRM server may include several servers. Each server might be dedicated to multiple organization. Each of these servers will have dedicated web-service URL for faster operations. Internally the Microsoft CRM server allocation may change so the discovery service directs the request to its corresponding web-server for further processing.
In short the Discovery service responsibility is to find the 'CRM Service' and 'Metadata Service' urls.

The discovery service returns the list of organization URLs that the current-requester (current user) belongs to. During the Outlook client configuration discovery service shows he list of organization the current-user belongs to.

This web-service is used to create authentication ticket in case of Windows live authentication.

Q. Suppose I want to migrate an Microsoft CRM implementation from one environment to other environment. Let us assume that there a published workflow for account entity. Now in normal usage there will be few accounts-records for which the workflow will be waiting/Waiting for Resource/Failed/Succeded state. So what should be our strategy for the migration. What will happen to the records which are in waiting state and what will happen to the records which are in-progress?
Q. Suppose there is a plug-in registered for account entity. When a user submits a request (e.g. account creation etc.) to the web-server then what will happen in the server?
Ans - The plug-in will get loaded into the memory and will perform the operation it is needed to do.
Q. Now what will happen if 100 users will submit the request to the web-server? The plug-in code will get loaded into the memory for 100 times?
Ans - Answer is NO. Noticable point over here is that the Microsoft CRM is a mananged application and runs under .Net framework. So whenever the first request arrives at the web-server the plug-in code is loaded into the memory and will perform its operation and susequently the same plug-in code will serve the process for other user as well. So this way it saves the amount of time required to load the plug-in into the memory. If the plug-in code is not being used for long then the Garbage collector will identify it and will sweep the plug-in out from the memory.
Q. How to add/remove columns in an entity lookup window.
Ans - Go to Settings >> Customization >> Select the entity >> Click 'Forms and Views in the Left Nav Pane" >> Double click the 'Entity Lookup View' >> Dialog box appears that contains the Add/Remove and Sorting options for a lookup view.
Q. How to Debug the java script that we write for some validation on entity pages.
Ans - Following are the steps that are needed to be followed:
1. Enable the Debugging in the Internet Explorer - Goto Tools >> Internet Options (wizard will appear >> Click the 'Advanced Tab' >> Under Browsing Section uncheck the 'Disable script debutting' checkbox >> Click OK.
2. Edit the java script code of the Entity Page that you want to debug.
3. Put the statement 'debugger;' above the line where you want do the debugging. e.g. suppose my java-script show 'Hello World' message and i want to debug this then following is the way I am going to add script:
alert('Hello World')
4. Save and Publish corresponding customization.
5. Perform the operation that would trigger the java script written by you
6. Debugger dialog box will appear and select appropriate debugger (Visual Studio new or existing instance)
And you may start debugging from the 'Debugger' statement of your javasript.
More to Come...

I hope this post will help you to crack technical interviews on MSCRM. All the best for your interview...

Ref: http://microsoftcrm3.blogspot.com/

Xcel Technologies Ltd- Leading CRM Customized Solutions Providers.

Monday, 25 July 2011

Microsoft Dynamics CRM 2011 Enhanced Features

Microsoft Dynamics CRM 2011Here’s a list of Microsoft Dynamics CRM 2011 features that you’ll want to be aware of when you’re considering upgrading from prior versions or when doing a new install. These features should have a positive impact on users, administrators, developers, and your business.

1. Dashboards

We’re happy to say that dashboards have been included into CRM 2011. These dashboards will allow your group to construct multiple sets of charts and grids that make the most sense for your business–several dashboards are shipped out of the box.

2. Charts

You’ll find the ability to view charts all through the application. These charts can be created and customized with the appropriate security roles.

3. SharePoint Integration (Document Management)

  • Ability to easily configure CRM to allow for SharePoint document management within CRM forms.
  • SharePoint 2007 and 2010 are supported. Microsoft SharePoint 2007 versions will be shown in Microsoft Dynamics CRM inside an iFrame, while Microsoft SharePoint 2010 can be shown with rich integration features if the Microsoft Dynamics CRM List Component is installed.
  • The two major advantages of using SharePoint 2010 are:
    1. The List Component enables you to achieve the appearance and behavior of a Microsoft Dynamics CRM view while using SharePoint functionality.
    2. You must have folders created in Microsoft SharePoint to store the documents for your Microsoft Dynamics CRM records. You can either create the folders manually or you can let Microsoft Dynamics CRM automatically create folders in the context of Microsoft Dynamics CRM records on Microsoft SharePoint. To let Microsoft Dynamics CRM automatically create folders and deliver the documents stored on SharePoint with the same appearance and behavior as the Microsoft Dynamics CRM lists, you can install Microsoft Dynamics CRM List Component on a site collection on Microsoft SharePoint Server 2010.

4. Auditing

Organizations need to track changes made to records for many purposes; these include maintaining security, examining the history of a particular record, documenting modifications for future analysis, and record keeping necessary for regulation compliance. Auditing allows customers to effectively track creates, deletes, and updates.

5. Field Level Security

Allows administrators to set permissions on each field to allow a user to Update, Create and/or Read that specific field. (limited to custom attributes in CRM 2011)

6. Multiple Forms

Microsoft Dynamics CRM 2011 introduces the capability to define more than one main form for each entity: use multiple forms to create forms that are customized to specific roles or tasks in the organization; use security roles to control which groups will be able to use the forms you create.

7. Team Ownership

Teams in CRM 2011 can own records. It’s also possible to assign security roles to teams which will allow customers to manage overall security at a team level, rather than a user level.

8. FetchXML Reports

In CRM 2011, it is possible to create both FetchXML reports and standard SQL RS reports. Fetch-based reports use the Microsoft Dynamics CRM proprietary FetchXML queries to retrieve data for reports. Because these reports use FetchXML queries instead of SQL queries, they do not need to use the filtered views in the Microsoft Dynamics CRM SQL database to retrieve data for reports. Since FetchXML reports no longer have to use filtered views in order to honor CRM security, the time that it takes to execute these FetchXML queries should decrease quite a bit.

9. Data Import Wizard (and reimport)

The Import Wizard facilitates a smooth data import process by providing an easy way to migrate your legacy data into the Microsoft Dynamics CRM System. Several new features in CRM 2011 are:

  • Support for CSV, TXT, XML, or ZIP file types
  • Support for Option Value Mapping (aka picklists)
  • Support for Lookup Mapping
  • Support for a single source file with multiple entities (Account & Contacts)
  • Support for Bulk Update of records via Import Wizard

10. Application Related

  • It’s best that CRM users be given some training before using the application. The system does have a great Help feature that will answer many of your CRM questions. New in CRM 2011 is the “Get started pane”. The pane provides your users with relevant information for the grids they are viewing.
  • In Microsoft Dynamics CRM 2011 you can create and view the relationship between two records by using Connections. You can also connect a lead to the account that referred it to you, connect one contact to another to show employer and employee statuses, or connect a record to yourself and identify each as a colleague, friend, employee, or other relationship. The Connections feature is available for most CRM entities.
  • It’s now possible to include attachments when sending bulk email. Only one actual attachment will be stored in the database when sending out multiple bulk emails with an attachment.
  • The Negative Pricing feature allows for negative quantities, amounts, and negative prices.
  • Decimal precision can now be set based off of the Pricing Decimal Precision (System Settings), Currency Precision (set at the currency level), or Field Precision (set at the field level).
  • Microsoft Dynamics CRM 2011 allows you to create Write-In Products on the Opportunity and also to create a Quote, Order, or Invoice directly from the opportunity.
  • Sales Goal Management is for users and managers who need to manage and monitor their achievements. They need to monitor things like how many units were sold and how much revenue was earned. The monitoring periods can be annually, semiannually, quarterly, monthly, or every four week period.
  • The recurring appointment type is available in CRM 2011 as a new activity type.
  • In Microsoft Dynamics CRM 2011, you can specify a query in the Marketing list. Depending on the list type, those Leads, Accounts, or Contacts that fulfill the criteria are automatically added as the members of the list, whenever the list is used. This is a change from Microsoft Dynamics CRM 4.0 where users can have only a static list of members.
  • Microsoft Dynamics CRM 2011 brings many enhancements to queues. These enhancements include:
      • Queues are securable through role privileges.
      • Default queue added to Users and Teams.
      • All entity types can be enabled for queues.
      • The Queue entity can be customized.
      • Queue and Queue Item are supported in Processes “Workflows”.
      • Separation of Queue Item assignment “Working On” and record ownership.

11. Solutions (Managed & Unmanaged)

Solutions are the new functionality in CRM 2011 that will allow you to move your customizations in and out of your CRM organizations. Solutions are used to author, package, and maintain a single unit of software that extends Microsoft Dynamics CRM 2011. You can distribute your customization work as Solutions so that organizations may use Microsoft Dynamics CRM 2011 to install and uninstall the business functionality as defined by the Solution. Solutions can be unmanaged (you can add, remove, update, test, and export or import any of the components of the Solution), or managed (cannot be modified or exported once it is imported and deleting a managed solution will uninstall all of the solution components….including any data that has been entered in the system from entities created by that solution). Using managed solutions is a great way to control the customizations that will move between your environments.

Once plug-ins are brought into an organization through the plug-in registration tool, they can be added to a solution. After that, the plug-in will be contained within the solution. Therefore, it will not be necessary to bring the plug-in over to the new organization in a separate manner.

12. Bulk Record Deletion

Allows users that hold the correct security role to bulk remove data from the CRM system via an advanced find-type tool.

13. Processes

You’ll notice that we now have Processes in CRM 2011. Processes are either workflows, or dialogs. For the most part, workflows have the similar look and feel to CRM 4.0. A dialog, when presented to an end-user can be a conversation and a guide, which helps achieve a set of tasks in a standardized and repeatable fashion. Dialogs enable any user (sales, marketing, support) to interact with the customer in a standardized manner using a script as a guide to enable an effective customer engagement. Since work typically involves complex interconnected tasks, a script detailing the tasks will be used as a guide to complete the tasks.

14. IFD/Claims Authentication

Since the release of CRM 4.0, a number of developments have happened in the Industry around standards based Authentication. A number of Authentic protocols have matured since CRM 4.0, WS-Trust , WS-Federation, and SAML 2.0(protocol) . Microsoft Windows Server released Claims based access platform where it added support for these protocols. Microsoft Dynamics CRM 2011 discontinues the 4.0 IFD design and snaps into the new Claims based options. After Claims is properly enabled in your environment, it will still be necessary to go through the CRM IFD setup steps to make your CRM application accessible outside of your network.

15. Administration & Customization

  • Microsoft Dynamics CRM 2011 now enables the use of Option Sets (previously picklists) on multiple entities, called Global Option Sets. Global Option Sets are sets of values that are available to be re-used.
  • Now possible to drag and drop customizations easily on the form.
  • Access to customize forms from the ribbon
  • Easily customize the form elements (ex. navigation area)
  • Web Resources are “virtual files” that are created within the context of a Solution stored in the Microsoft Dynamics CRM database, and can be retrieved using a unique URL address. They represent files that might normally be placed on a web server to extend Microsoft Dynamics CRM 2011. Using Web Resources, you can store and use common types of web content that will enable you to create rich client-side extensions such as HTML pages, JScript libraries, and Silverlight applications.
  • In Microsoft Dynamics CRM 4.0, lookup dialogs did not have any filtering capabilities. For example, a lookup dialog for an Account record would display all Account records in the system to which the user has access. Microsoft Dynamics CRM 2011 enhances lookup dialogs and offers several methods to filter lookup values. It is possible to easily do this through the UI in the customizations section. It is also possible to enable filtered lookups at runtime by programmatically filtering lookups using APIs included in the SDK.
  • Provides the ability to add new activity types to your CRM system. The Activity Party fields are automatically available to the custom activity when this option is selected.

17. Specify Server Roles via Wizard During Setup

Specify Server Roles (via setup wizard). It’s now possible to specify specific server roles for CRM server install when using the install wizard.

18. CRM Update Rollups & Windows Update

CRM 2011 will make Update Rollups available through Windows Update. If using Windows Update or WSUS to push out updates, this functionality will be very beneficial.

19. Dynamics Marketplace

The Microsoft Dynamics Marketplace will help customers discover applications and professional services that extend the value of Microsoft Dynamics. The Microsoft Dynamics Marketplace will be accessible directly from within Microsoft Dynamics CRM 2011, making it even easier to find solutions.

20. SDK Enhancements

  • Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online support the execution of plug-ins in an isolated environment. Plug-ins can be registered to this isolated environment, also known as a sandbox, and make use of the full power of the Microsoft Dynamics CRM SDK to access the Web services. Access to the file system, registry, system event log, network, and more, is prevented in the sandbox. However, sandbox plug-ins have access to external endpoints like the Windows Azure platform.
  • The sandbox is the recommended execution environment for plug-ins as it is more secure, supports run-time monitoring and statistics reporting, and is supported on all Microsoft Dynamics CRM deployments.
  • JScript libraries refer to JScript Web Resources that contain functions you can use to: 1) handle form and field events, 2) perform actions for controls configured in the Ribbon, and 3) support other functions.
  • JScript libraries allow developers to consume JScript libraries in multiple places such as forms and ribbon. With JScript libraries, you can more efficiently manage code used in Web Page (HTML) Web resources or Ribbon Commands by linking them to a shared library of JScript functions.
  • All form elements in Microsoft Dynamics CRM 2011 support the ability to be shown and hidden using the supported JScript method setVisible().
  • When a Microsoft Dynamics CRM 4.0 organization that contains JScript code is upgraded to Microsoft Dynamics CRM 2011, the existing code is automatically upgraded and should still continue to function.
      • Note: There is no guarantee that ALL Microsoft Dynamics CRM 4.0 client-side code will upgrade correctly (especially in the case of unsupported code). However, every attempt has been made in order to ensure most Microsoft Dynamics CRM 4.0 code will upgrade correctly.
  • Microsoft Dynamics CRM 2011 includes support for executing plug-ins developed for Microsoft Dynamics CRM 4.0. A limitation of using Microsoft Dynamics CRM 4.0 plug-ins is that they are not able to take advantage of any new Microsoft Dynamics CRM 2011 capabilities such as executing in the sandbox (isolation mode), which includes running on Microsoft Dynamics CRM Online using tracing to help in debugging, and more.
  • You can edit scripts through the Web Resource form or from the Events tab where you configure form libraries and event handlers. The ability to make changes this way facilitates small, easy changes as needed.