You are on page 1of 5

CRM Questions

Difference between CRM discovery Service and CRM metadata services


CRM Service: when we need ORG Related information like ORG name, Properties,
CRM Service path for this ORG then we use CRM Discovery Service. This is only
to get ORG related information.
Metadata Service: We use this when we need to interact with the CRM Records.
Create, Update, or delete anything it is very specific to the CRM Records. When
we need to interact with the CRM entity and attribute. Like create an entity (not
record) or attribute. Add a value to pick list. Retrieve the pick list value , retrieve
the entity properties.

Differences between plugin and workflows in MSCRM


Requirement

Plug-in

Needs a synchronous action to happen before


or after an event occurs
The same piece of logic will be executed for
different events and possibly on different
entities
The logic needs to be executed while offline
Needs elevation of privileges
Needs to execute on events other than assign,
create, update and set date
The process / logic may take a long time to
complete or will be a persistent process
(multiple long running steps)
Needs an asynchronous action

End users will need to modify the process logic

Workflo
w

X
X
X
X

X (Configure the
plugin to be
asynchronous)

When you install MSCRM what all user groups get created in the Active
directory?
1. UserGroup: All Microsoft CRM Users. This group is updated automatically when
users are added / removed from CRM
2. ReportingGroup: All Microsoft CRM Users. This group is updated automatically
when users are added / removed from CRM. Users in this group have read-only
access to the filtered views in the MS CRM database
3. PrivUserGroup: Privileged MS CRM user group for special administrative
functions.
4. PrivReportingGroup: Privileged MS CRM user group for special administrative
functions relevant to CRM Reporting Services.

5. SQLAccessGroup: A group that contains MS CRM ASP.Net account and other


service accounts. Members in this group have full access to the MS CRM
database. End uses should never be added to this group.

What is the difference between Secure and UnSecure parameters


of the Plug-In
Unsecure Configuration

Secure Configuration

Unsecure configuration
information could be read by
any user in CRM. Remember
its public information (Ex:
Parameter strings to be used
in plugin could be supplied
here)

The Secure Configuration


information could be read only by
CRM Administrators.(Eg: Restricted
data from normal user could be
supplied here)

Imagine that you include a


plugin, plugin steps and
activate them in a solution.
Later solution was exported as
Managed Solution to another
environment. In this scenario,
the supplied unsecure
configuration values would be
available in the new
environment.

The plugin with secure configuration


in a solution was exported as
Managed Solution to another
environment. In this scenario, the
supplied secure
configuration information would NOT
be available in the new
environment. The simple reason
behind this is to provide more
security to the contents of Secure
Configuration

Below are key differentiations between Secured and Unsecured


data configuration

Access
Data passed through Unsecure section is PUBLIC (i.e., It can be
read by any user in CRM).
Only users with System Administrator role have access to the data
passed through Secure configuration section
Storage
Unsecure config data will be stored along with the Plugin Step
registration information (i.e., In SdkMessageProcessingStep entity)
Secure config data will be stored in a separate entity named
SdkMessageProcessingStepSecureConfig
Only System Administrator has Read access on this entity, hence
only users with Sys Admin role can access this data

Both Secured & Unsecured configuration data stored as Plain


text in DB

Outlook Sync

Unsecured configuration data is downloaded to the users


computer when they go offline making it Unsecure
Secured configuration data is NOT downloaded to Users
Computer when they go Offline

Other Management related Questions


If you have multiple jobs that are requested, and your time capacity is not
enough to fit all of these jobs. What would you do?
If you have angry stakeholder that is requesting a feature / function that you
believe it is not feasible (because of either time or technical constraints). How
would you manage this situation?
How would you manage conflicts between team members / stakeholders?
What project management tools were used on your project?
Tell me about a time when you had to make a decision without all the
information you needed. How did you handle it?
<<Another question about types of documentation that the user has used>>

Practical Quiz
An anagram is a word formed from another by rearranging its letters, using all the
original letters exactly once; for example, orchestra can be rearranged into carthorse.
Write a function that checks if two words are anagrams of each other.
For example, AreStringsAnagrams("neural", "unreal") should return true as arguments
are anagrams of each other.

using System;
using System.Linq;
public class AreAnagrams
{
public static bool AreStringsAnagrams(string a, string b)
{
char[] arra = a.ToCharArray();
char[] arrb = b.ToCharArray();
Array.Sort(arra);
Array.Sort(arrb);
return Enumerable.SequenceEqual(arra,arrb);
}

//throw new NotImplementedException("Waiting to be implemented.");

public static void Main(string[] args)


{
Console.WriteLine(AreStringsAnagrams("neural", "unreal"));
}