CRM 2013 – MB2 703 – Manage user access, Teams and sharing

In this blog post I will continue looking at the security features in CRM with regards with understanding the information for the MB2-703 – CRM 2013 Customization and configuration exam.

I will be focusing on

  • Manage access.
    • This topic may include: manage users and teams; configure sharing; manage Security Roles for users and teams; create Access Team Templates; add Access Team subgrids to forms

To see the topics in CRM 2013 then watch the video

This involves users/teams and sharing records and components and a little bit about authentication

 

Authentication

 

The security authentication in CRM is not really handled inside CRM.  A bit like the way CRM lets outlook/email router do all the emailing, CRM also gets another piece of software to do the authentication of users.

 

on premise

most commonly user records are linked to active directory

You can also used Internet facing deployment (IFD) where the authentication is either

AD FS (active Directory Federation Services)

STS (Secure Token service)

 

online

Microsoft Online Subscription Program (MSOP)

 

Either type of authentication the security authentication is done and then if successful the user are signed into CRM and then CRM applies the correct security roles, privileges.

Managing Users

There are a number of functionality to manage users and you can find these by going to Settings – Administration

  • Creating users, teams, Security Roles
  • assign/move users to teams, assign security roles to teams and users
  • Disable business units
  • Delete Security roles, Delete teams
  • Move users between teams
  • Manager

 

each user can have one manager assigned to them.  The manager look-up can be found on the user record, I  think it’s used in routing.

access

Security roles – Security Privileges

Business management tab has the security privileges

Security role

Team

User

User Settings

Business Unit

Field Level Security

access 2

Miscellaneous Privileges

Enable or Disable user

Re-parent business unit

enable or disable business unit

re-parent team

 

Disable a user

you cannot delete users in CRM you can only disable them

If you disable a user the user won’t be able to log into CRM

a disabled user doesn’t use a CRM license

 

The records assigned to the user are still active.  Best practice is to assign all the records assigned to the disable user to another enabled user.

 

You need to work out if the user is used in the workings of any workflows, these will still work but it’s not good practice to assign records etc to an disabled user.

Teams

Teams are optional

Two types of teams Access teams and owner teams

Owner Team can own records

Owner Teams can be assigned security roles

Access teams cannot own be assigned security roles or own records.

An owner team can be converted to an access team

An access team cannot be converted to an owner team

Business units and default owner teams

Business units have a team created automatically, the team name will have the same name as the business unit.  Any members created and assigned to the business unit will automatically be added to the default business unit team.

 

It’s a dynamic team which CRM keeps up to date.

It cannot be edited but you can assign security roles and these security roles will apply to all members of the business unit.

default business unit team cannot be re parented, deleted or renamed and it’s members cannot be modified.

default teams can be converted to access teams but you cannot convert access teams to owner teams.

SHARING

In CRM you can share records between users and teams.  Sharing gives the user being shared to the same privileges to that individual record as the user who is sharing.

Sharing bypasses business unit – access level parts of security because when you share records it basically ignore the level (organisation, business unit, user)

 

Sharing records to a team is like sharing the record with every member of the team, except in the PrincipalObjectTable this is only one entry

using the business unit default team you can share records to all users in different business units.

 

Share more than records

 

Not only can you share records but also Charts, Views and Dashboards.

 

Users can only share their personal views, charts and dashboards.

 

When a user shares the components (charts, views and dashboards) they also choose what privileges you want the user/team to have with the component

 

Read

Write

Delete

Append

Assign

Share

access 4

Re-parenting users/teams

 

Re-parenting a user/teams business unit has a drastic effect on the security roles the user or team had, it REMOVES THEM ALL.

 

So if you ever change a user/teams business unit you will need to assign the user or team some security roles in the new business unit.

 

This sounds drastic but it actually makes sense if you think about it logically.  Each business unit has it’s own set of security roles, these are usually copied down from the parent business units.  So when you move business unit, it removes all the security roles and it can’t automatically add them all back because not all the security roles may exist in the new business unit or the security roles could be vastly different with completely different privileges, so the user must add new security roles.

 

This is also true if you reparent a whole business unit because all the users will have had all their security roles removed.

 

Remember users without security roles cannot log into CRM.

 

If a user is re-parented they lose their security roles but they won’t be removed from any teams, this would probably allow them to login to CRM but the user won’t be able to change any personal settings, or view any components the user created.

 

If a team is re-parented then every member of team will lose all their security roles because the team will have had all it’s security roles removed.

 

An efficiency trick is if you want to remove all the security roles for a user or team is to move business unit

 

CRM 2013 – MB2-703 – Business Units and Security Roles Study Information

15 percent of the exam is based around security so you need to know it and know it good.

In this blog I will cover one part of the security concepts

This topic may include: describe Business Units; describe Microsoft Dynamics CRM security features; describe privileges and access levels

I have found 3 blog posts which I often find my way to when searching for CRM Security.  So I would recommend you go through those because they will give you a good idea how security roles work in CRM 2013, links to them can be found in the blog post below.

To learn about security and business units the best way is to get into your CRM trial and try adding business units and security roles.

First have a good look

second get in there and add some new business units and security roles

thirdly get renaming and deleting them

I will run through this in the video but I recommend you do it yourself, this will help cement the knowledge into your brain and provide more paths to the information (which means you will be able to recall it easier in the exam, yippee).  The blog post and the video work together, the video shows you security roles and business units in CRM and the blog post is a succinct summary of it.

 

I am only going to skip through what I think are the vital points, I expect you to read the three blog posts below, watch my video explanation and have a play in your CRM trial

I will first start with this great table from the power objects blog, this is a good introduction to security

http://www.powerobjects.com/blog/2014/02/14/microsoft-dynamics-crm-2013-business-units-and-data-silos/

 

To help understand how this works, consider the following definitions of the Dynamics CRM security components:

Component Description
Business Unit A scoping mechanism that defines a grouping of users for security modeling purposes; business units are hierarchical in nature. Business Units are a framework upon which a security model is built.
Security Role A collection of privileges (that are given a name) that reflect common user roles of your organization and/or business units; security roles are assigned to users or owner teams. See below for more details on Security Roles.
Privilege (access rights) The definition of a specific type of data access or action that can be granted as a right; privileges are granted through a security role and are cumulative. The following Privileges that can be assigned:

  1. Create
  2. Read
  3. Write
  4. Delete
  5. Append
  6. Append To
  7. Assign
  8. Share
Access Level While the Privilege defines the type of data access, the Access Level defines exactly to which records the privileges apply. You can assign the Access Levels of:

  1. None
  2. User
  3. Business Unit
  4. Parent: Child Business Unit
  5. Organization

For example, if you assign Read privileges to a Security Role at the Access Level of “Business Unit”, users with that Security Role will only have the privileges to see records owned by a user within their Business Unit.

Business Units

As you can see the security in CRM is created from a few pieces of functionality working together.  You have business units and security roles, within these you have privileges and access levels.

Access level controls what the user can see(read)/edit

Privilege controls what you can do to the entity

 

It all starts with business units and the Parent Business unit which is also known as the Root business unit, you can think of this as the mother of all business units.

The Root business unit is a default business unit which has the same name as the organisation.

You cannot delete the Root business unit, you cannot disable it

You cannot create a business unit above the Root business unit, e.g. you cannot give it a parent.

 

Business Units = Tree Structure

Business units are used to create a hierarchy and this is in a tree structure.  The Root business unit will be at the top.

Here are two examples of some very simple Business unit structures.  The common way people use business units is geographical or departmental, although you can split up your organisation and business units anyway that suits you.

Here is a geographical structure

business units 2

 

Here is departmental

business units 1

 

You can see from the pictures above that the business units have create a hierarchy and the root business unit is at the top.

 

What can you do to Business Units

Classic certification questions usually revolve around what you can and can’t do in CRM.  Examples of things they will test

You cannot delete or disable the root business unit

you can rename, disable non root business units (e.g. all the other business units)

 

Disabling Business Units

You need to know what happens when you disable a business unit, what happens to all the users who have that business unit as their default business unit?

When you disable a business unit, it also disables all the child business units below it (and thus all the users who those business units as their default business unit).

none of the data is affected by disabling business units, its only the users who cannot then log in but it is important to take into account all the child business units will also be disabled.

The users are not disabled but cannot login into CRM whilst the business unit is disabled.  As soon as the business unit is enabled they will be able to log into CRM again.

Deleting Business Units

It’s possible to delete business units (not the root business unit) but you have to clear them up ready to be removed.

Firstly you have to disable the business unit and you can only do this when

you have removed any the child business unit, now you can either disable and delete them or you can re-parent them.  To re-parent a business unit you can select a new parent business unit.

If you re-parent a business unit this will have the effect of removing all the security roles from the users, this is because security roles are inherited and can be different in each business unit.  This will mean all the users in the business unit you are re-parenting will now have no security roles and won’t be able to log into CRM.  This is explained by an excellent comment by CRM MVP Adam Vero (also a CRM Master)

if you want to delete the business unit then you will need to change all the users/teams that are assigned to that business unit.  You also need to disable the business unit before you delete it.

You cannot delete the default business unit team but it won’t stop you deleting the business unit because this will be deleting automatically when you delete the business unit.

Like all things in CRM, Microsoft recommend you disable business units rather than delete them, the reason being disable business units just like disabled records can be re-enabled but once something is deleted it’s gone forever.

 

Security Roles

Security roles are a vital part of the security in CRM because if a user doesn’t have a security role he cannot access the system, so every user must have at least one security role.

Security roles are linked with the user business unit to calculate what records the user can access.

Users receive their permissions to work on records or use features based on the combination of Security Roles they are assigned and the Business Units to which the users belong.

Security roles can also be assigned to teams and if the team a user is a member of has higher security privileges then this will override their individual security roles.  The user will also use the highest security levels it is assigned, whether that’s from a security roles assigned to the team or individual security role

Users can be assigned multiple security roles, this means it’s possible to create security roles just for single purposes.

 

Default security roles

There are 15 default security roles in CRM, this provide a good basis to start creating your security roles.  The default security roles are all created in the root business unit.

You need to understand how security roles work with business unit, they can be a bit cheeky.  A security role stays in the business unit it is created in and they copy down to any child business units.

The above line is import because if you create a security role in the root business unit then the security role will be copied to all the child business units below it.

So you should be careful about creating security roles not in the root business unit because this means you will have a security role that doesn’t exist in any parent business units and in particular the default business unit.  Another consideration is only security roles which exist in the root business unit can be added to a solution file.

What I am saying is don’t create security roles not in the root business unit because you cannot export these out and it may cause a bit of headache if you need the parent business units to use the same security role.

User can be assigned any security role which exist in their business unit.

 

Modify, Don’t create security roles

When you set up a new security role there are hundreds of settings you need to setup, there are 8 privileges for each entity.  The quickest and easiest way to do this is to copy an existing role and modify it.

Microsoft recommend you don’t delete the default security roles so you can have them as a reference but once you have a few security roles I personally don’t think it matters but remember the MB2-703 certification is written by Microsoft and they want the answers they are expecting.

 

System Administrator Role is all powerful

All security roles are the same except the System Administrator role which is a super role.

The System Administrator role automatically has access to all records and entities, including all custom entities.  It has the default access level of organisation for all privileges.

One user must have the System Administrator role, this is by default given to the user who installed CRM.  Multiple users can be assigned the System Administrator role and you can remove the role from users but you cannot remove the role if that user is the only user who has the System Administrator role.

The System Administrator role also is given the System Admin field level security role, which as I’m sure you can guess gives them access to all field level security.

It’s possible to copy the System Administrator role and it will create a security role but the security role will not automatically have access to any new custom entities added and it basically won’t have the special powers of the System Administrator role.

 

Security roles Privileges and access levels

At this point I am going to refer you to the excellent blog on security roles written by CRM MVP Richard Knudson, this blog post has 40 comments, which shows you how many people have read it.

I would also say that this part of the CRM security can be tricky to understand but with regards to the exam does not have as many gotcha’s.

http://www.dynamicscrmtrickbag.com/2011/07/20/dynamics-crm-2011-security-roles/

This blog post about understanding access levels and roles is also very useful

http://www.dummies.com/how-to/content/understanding-access-levels-and-roles-in-microsoft.html

There are some privileges which do not have organisation levels these are always show under miscellaneous privileges and these are either true or false.  These are things like

Go Offline

Export to Excel

Publish articles

 

This is a good place to leave security with more to come

I published the video before the blog article and very kindly Adam Vero (CRM MVP and an expert on CRM as he wrote some of the MOC’s on the subject) left me a couple of excellent comments where I got slightly mixed up in the video.

 

When you disable a Business Unit, it disables the BUs below it, that is correct. But it does NOT disable the users in the BU or any of the children. They are prevented from logging on while they are in a disabled BU, but when you re-enable the BU they can. (If it disabled them all then when you re-enabled the BU it would have no way to know which users to re-enable if some were already disabled manually previously).
Reply
 ·

good point, I think you have basically said what I was thinking and meant to say.  I guess it can seem like the users are disabled because they can’t login but you are right because they aren’t disabled but stopped from being able to login.

Great Comment thanks CRM Master.

Notice that when you change the parent business unit of a BU, this is not just changing the position in the hierarchy and therefore changing the impact of the access levels that people have to records in that BU. It will also REMOVE all inherited Security Roles (and rebuild them) – it does not move the roles with it. So at the moment you move it, the users in that BU have no roles other than any that exist directly in that BU (which often is zero, if everything is always created in the root or imported via Solutions). In most cases this means those users just stopped being able to log on, and you’d better remember who had which roles originally. Users may be able to log on if they are a member of a team that has a suitable role, and they have logged on at least once before, but this is an edge case – expect problems with logons when you move a BU.

so changing the parent business unit of a BU can remove all the security roles from the users in that business unit.  I guess this makes sense because it (as you say) has to rebuild the security roles because you are potentially removing all the inherited roles it had.

This is a good point to consider for the CRM exam.  I will include this in my Security role exam cram notes and maybe make a test question on it.

Thanks again Adam, excellent comment.

 

 

 

CRM 2013 – MB2-703 – Customization and Configuration Certification Solution Test Questions

The best way to prepare for an exam, is to take practice questions and test your knowledge with questions in a similar way the exam will.

I have created a YouTube video where I go through the questions and explain the answers, I would definitely recommend watching that for the first time at least

http://youtu.be/JKmvKLxJvfY

So with this in mind I have created some questions for you.

I have also created the questions as slides, which you have seen in the video

Multiple choice questions

http://www.slideshare.net/hoskinator/hosks-mb2703-solution-question

Quickfire Yes/No Questions

http://www.slideshare.net/hoskinator/hosks-solution-quick-fire-question

 

HOSK’S TEST SOLUTION QUESTIONS

 

  1. Which statements are true about solutions?
    1. Saving your changes in a solution is mandatory
    2. It’s possible to export the Default Solution
    3. You cannot create more than 50 solutions
    4. Publisher is a mandatory field on a solution
  2. Which components can be added to a solution
    1. Team
    2. Message
    3. Business Rule
    4. Business Unit
  3. Which components cannot be added to a solution
    1. Subject
    2. Service Endpoint
    3. Goal
    4. Site Map
  4. What is true about solutions
    1. Deleting an unmanaged solutions doesn’t delete the components if there is data for them.
    2. Deleting a managed solutions deletes the components and the data
    3. You can only export the default solution as an unmanaged solution
    4. You can add plug-in assembly to a solution
  5. What is development and not customization or configuration from the list below
    1. Create a plug-in to run on the creation of an account to set reference number
    2. Create a custom entity to hold venue information
    3. Javascript validation on a phone number field
    4. Creating a business rule to disable a field until another field has a value
  6. What is removed when you delete an unmanaged solution in CRM 2013
    1. Just the solution record
    2. The solution record, the components and all the data
    3. The solution record and the components
    4. The solution record, it’s components and dependant components.
  7. What does the Version number show
    1. major.build.minor.revision
    2. major.revision.build.minor
    3. major.minor.revision.build
    4. major.minor.build.revision
  8. you import a managed solution which contains the account entity, you then import an unmanaged solution which also contains the account entity, both solutions change the Account Number field to have a different name, what name is on the account form
    1. Account Number, you cannot change the name of the account number
    2. The name given to Account number in the managed solution
    3. The name given to the Account Number in the unmanaged solution
    4. The name given in the solution which was imported last
  9. Which of the below is true
    1. You cannot export the Default Solution
    2. You can export the Default Solution from CRM OnPremise to CRM Online
    3. You need a special security privilege to import solutions
    4. Unmanaged solutions have to be published
  10. What is false about managed solutions
    1. Managed solutions can only be changed or altered by the publisher
    2. importing a managed solution is automatically published
    3. Managed solutions have versioning, unmanaged solutions do not.
    4. managed solutions are additive, you cannot remove any components by importing a managed solution

 

 

 

Answers

  1. b,d
  2. b,c
  3. a,c
  4. b,c,d
  5. A,C
  6. A
  7. D
  8. D
  9. C, D
  10. C

 

HOSK’S QUICKFIRE QUESTION (YES/NO)

 

  1. Can you export a managed solution
  2. Can you export an unmanaged solution
  3. Can customization and configuration be used and refer to the same components.
  4. The correct format for version is major.minor.revision.build
  5. Subjects can be added to a solution
  6. There is no limit to the number of solutions you can create
  7. The prefix in the publisher is added before schema name for entities, fields
  8. The changes to components when importing an unmanaged solution cannot be undone
  9. Queues can be added to solutions
  10. managed properties are customizable by default
  11. It’s not possible to export  an unmanaged solution
  12. managed solution must be published after importing

answers

  1. false
  2. true
  3. true
  4. false
  5. false
  6. true
  7. true
  8. true
  9. false
  10. true
  11. false
  12. false

 

 

 

CRM 2013 – MB2-703 – Customization and Configuration Certification Solution Exam Cram Notes

Here are the exam cram notes for solutions, I am assuming you have

read my blog post on solutions and you understand how solutions work and the functionality

CRM 2013 – Understanding Solutions and how they work

watched the youtube video running through adding solutions

CRM 2013 – Understanding Solutions and how they work in CRM 2013

The video going through the Solution Exam Cram notes is here

All the study notes for the MB2-703 exam can be found on the page link above or clicking the link below

https://crmbusiness.wordpress.com/mb2-703-crm-2013-customization-and-configuration-certification/

These notes are the to revise the key concepts of solutions for the MB2-703 – Microsoft Dynamics CRM 2013 Customization and Configuration certification

  • Config – teams, security roles, business units, Entities, views
  • Customization – standard GUI changes, forms, entities, views, GUI workflows, business rules
  • Extending CRM – Code changes – javascript, .NET, plugins, custom workflow, console application
  • Configuration and customization could be used when talking about changing the same components e.g. Entities, Views
  • Extending = code related changes.
  • Microsoft Dynamics CRM 2013 Software Development Kit is used to create and deploy plugins, Web Resources and custom workflows.

 

What cannot be added to a solution

  • Business Units

  • Teams

  • Queues

  • Goals

  • Subjects

  • Product Catalog

The items above must be either created manually or imported.  If you want to create manual data and use the same guids between systems then you will need to export and import the data so you can specify the guids used.

What Can be Added to a Solution?

The following is a list of solution components that you can view within a solution

  1. Application Ribbon

  2. Article Template

  3. Business Rule

  4. Chart

  5. Connection Role

  6. Contract Template

  7. Dashboard

  8. Email Template

  9. Entity

  10. Entity Relationship

  11. Field

  12. Field Security Profile

  13. Form

  14. Mail Merge Template

  15. Message

  16. Option Set

  17. Plug-in Assembly

  18. Process

  19. Report

  20. Sdk Message Processing Step

  21. Security Role

  22. Service Endpoint

  23. Site Map

  24. Web Resource

 

  • Solutions in Microsoft Dynamics CRM is a method to let you group and manage your custom components for a particular set of functionality or release

  • solutions are optional

  • When an organisation is created a Default Solution is created which contains all the components

  • You can export the default solution but only as an unmanaged solution

  • Solution best practice is use it to split up business requirements probably either in Sprints/releases or in business requirements.

  • It’s possible to export the Default Solution and import this solution into another CRM Instance but you cannot export Default solution from  a CRM On Premise to a CRM On line or vice versa.

  • There is no limit to the number of solutions you can create

  • Before you can create a solution you must create a publisher, Publisher is a business required field on solution

  • A publisher has a prefix, The prefix will then be added before the schema name for the entity or field e.g.

    • hosk_newField

    • hosk_entityName

  • Managed solutions cannot be exported

  • unManaged solutions can be exported

  • Managed solutions can be deleted, this will delete the solution and all the entities and data

  • Managed solutions can’t be changed or altered, except by the publisher/owner

  • There are privileges needed to import a solution and publish it.

  • Managed solutions use managed properties

  • Managed solutions automatically publish on import

  • unmanaged solutions have to be published

  • Unmanaged solution components cannot be uninstalled

  • when you delete an unmanaged solution you are only deleted the solution file, all the changes remain in the default solution

  • Unmanaged solutions can be exported as an unmanaged or managed solution

  • Managed solutions can expose some components to be customized by the end user

  • solutions have built in versioning, if version 1 is imported and then solution 2 is imported, CRM will prompt you to see if you want to overwrite the changes in version 1.

  • Solution version is major.minor.build.revision

  • Custom solutions developed using Microsoft Dynamics CRM 2011 can be imported into Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online organizations.

  • Custom solutions developed using future versions of Microsoft Dynamics CRM cannot be installed into earlier versions without first being ‘down-leveled’ to match the earlier version.

  • When you export a managed solution, you can’t import it back into the organization it was imported from.

  • be careful when importing an unmanaged solution because those changes cannot be removed and they will overwrite any current changes

  • Solutions are additive, you cannot delete any components by importing a solution

  • You need the System Administrator role to import solutions

  • You cannot import entities or fields with the same schema name to components that exist in the CRM database.

  • All imported security roles are created in the root business unit

  • managed properties are fully customizable by default.

  • Solutions created in Microsoft Dynamics CRM 2013 cannot be imported into a Microsoft Dynamics CRM 2011 database.

  • The maximum size for a solution file for Microsoft Dynamics CRM online is 29.296 MB

  • For On-premise CRM 2013, the default maximum size for a solution is 6 MB but this can be increased.

  • You must have the System Administrator security role to import , organization settings,  security roles, plug-in assemblies, sdk message processing steps.

 

CRM 2013 – Understanding Solutions and how they work

Today’s  video is about Solutions this is useful for Developers and people who are studying for the CRM Customizations and Configuration exam.  Solutions are one of the fundamental parts of CRM customization and CRM Development, they  provide a way to manage and package your changes in CRM and importantly a way to move customizations between CRM instances.

If you want to watch the Hosk CRM Dev video on Solutions click the link below

http://www.youtube.com/watch?v=2Ft1GIhqWOE

Otherwise keep reading

Exam criteria

 Create and Customize Solutions (10-15 percent)

  • Plan for customization.

    • This topic may include: differentiate between configuration, customization, extending, and development; design appropriate customizations

  • Manage solutions.

    • This topic may include: understand business requirements; understand the benefits of Solutions; create Solutions; export managed and unmanaged Solutions; import Solutions; specify a Publisher; work with multiple Solutions; describe Solution components; describe component dependencies

  • Manage customizations.

    • This topic may include: describe customization concepts for entities, fields, forms, views, and charts; publish customizations

 

Some of the information below has been taken from the excellent Customization and Configuration in Microsoft Dynamics CRM 2013, although I have tried to remove any direct quotes.  I would recommend you read the Microsoft Official Curriculum on Solutions.

 

Plan for customization is odd because it would seem rather difficult to create questions for, it is very important because one of the important skills of a good CRM developer is choosing the right tool for the right moment and you need knowledge of configuration, Customization and extending

Config – teams, security roles, business units

Customization – standard GUI changes, forms, entities, views, workflows, business rules

extending – javascript, .NET, plugins, workflows etc.

To be honest I’m not entirely sure what they are getting

 

What is a solution

Solutions in Microsoft Dynamics CRM is a method to let you group and manage your custom components for a particular set of functionality or release but remember solutions are optional, you don’t need to have them and you can if you wish just edit the default solution.

 

Default Solution

You don’t have to have a solution file you can edit the DEFAULT solution by going to

SETTINGS → Customizations → Customize the system

DON’T RECOMMEND THIS

1.  You could only export these changes as unmanaged which would overwrite the other systems with no way of removing them

2.  It would be hard to tell what changes you had made

3.  it would take longer and longer to deploy them, manage and update them.


Solution best practice is use it to split up business requirements probably either in Sprints/releases or in business requirements.

When an Organisation is created, by default a solution called Default Solution will be created which will include all the components in the system.  Customizing the default components without a solution is customizing the default solution.   The default solution will also be customizated if you make changes in a new solution because all changes will be made to the custom solution (unless you have imported a managed solution)

It’s possible to export the Default Solution and import this solution into another CRM Instance but you cannot export Default solution from  a CRM On Premise to a CRM On line or vice versa.

Why Use solution, how do people use solutions

A solution is a way to package a group of customization’s.  There is no limit to the number of solutions and you can package them up and deliver a whole set of changes in one solution.

Solutions provide ways to organize the deployment and development of customization’s.  You can provide releases or new functionality.

How do you group the changes, this is personal preference

you can group the changes in terms of functionality e.g. reports, project management solution, easy navigation changes

Or you can group the changes in terms of a release or sprint

you can create solutions for different types of changes, e.g. workflows, entities, plugins

 

Publishers and Prefixes

Before you can create a solution you must create a publisher.

When you create a certain customizations like entities or fields, CRM will automatically prefix the change with the prefix value held in the publisher specified in your solution.  If you are making the change in the default solution, you will be using the default publisher which has the prefix of new

The prefix will then be added before the schema name for the entity or field e.g.

hosk_newField

hosk_entityName

This means if you have two different customizers changing the system with different publishers then they will create components with different prefixes.

If you export your Solution as a Managed Solution, the publisher is especially important because after the solution is imported in the target system only solutions with the same publisher will be able to update those components.  So either you can update the components with the same publisher with an unmanaged solution or you can delete the solutions.

Work with Multiple Solutions

Important concept

Solutions are containers, on the original (DEV) system they do not stop anyone changing anything

Solutions are containers to manage and show the changes on on the original system.  What these means is if  you had a solution, and you changed the Account entity in your solution.  These changes would show in the Default solution, your new solution and any other solutions which had the account entity in.M

Your new Solution is a container for a set of components that work together to provide the functionality for which you are asked. To modify the components, you can create new components in your Solution, or add existing components from the system to your Solution.

Even when you are working in your own Solution, any components you create or modify are changed in the Default Solution, because your Solution only contains references to these components, not copies of the components. This means that if you delete the Solution that you are customizing this removes the “wrapper” around the components – the components remain in the system.

This means two customizers can modify components, these changes will automatically be changed in the default solution.  In programming terms this is because solutions only contain references to the components not copies.   Solutions can be seen as wrappers.

IF YOU DELETE AN UNMANAGED SOLUTION THE CHANGES WILL STILL BE THERE.  To remove those changes you have to edit those components

Managed and unmanaged solutions

When you export a solution, you can choose to export the solution as a managed or unmanaged type.  I usually remember this by the fact managed solutions are read only when imported into the target system.  What I mean by this is you cannot edit or change any of components.

When you import a unmanaged solution all the changes are really changing the default solution, all your changes are copied to the default solution.  Then if you delete the unmanaged solution later the changes will remain.

Importing unmanaged solutions will overwrite any changes you had previously made and this cannot be undone and I wouldn’t recommend import unmanaged solutions unless it is from an unmanaged solution from people you work with (and even then think twice)

 

Managed solutions

Managed solutions on the other hand can be edited and only removed by uninstalling/removing the solution, all the components and all the data.  It’s all gone permanently, even if you then remimported the managed solution all the data would be gone

 

Solution versions – Minor changes

one of those questions which once again personal opinion

small changes to a current set of functionality or solution then you can modify the solution and increment the version number.

if it is new functionality then you have to decide whether to add it into an existing solution with version number increment or create a new solution

 

Removing Components from your Solution

Removing a component from a solution will remove it from your solution but it is not deleted and will still exist in the Default Solution.  You remove a component, you select the component whilst inside your solution and then press the Remove button.  This will remove the component reference from your solution but not delete/remove it from the default solution.

Don’t get Remove mixed up with Delete.  Pressing the Delete button will delete the component.  Important System entities cannot be deleted from the system (Case, Account etc), custom components can be deleted.

Dependent Components

When you try and delete a component that has a dependency, it will pop up a dependent component dialog that informs you there is a dependency and stops you deleting the component

if you try to delete a component which has dependencies then you will need to delete the components which depend on the component you are trying to delete.  You may have to remove multiple dependencies.

Required Components

You can see the required components for a component by selecting the component and clicking show dependencies.   This will show dependent components and required components.

Required components will not prevent you deleting the component.  They are often things like Webresources with JavaScript, plugin, a view.  You don’t need these things in your solutions every time but you will need these components to have been imported into the target system at some point.

If you are missing a required component you will get the Missing Required Components Dialog When Adding Components to a Solution.  This won’t stop you exporting the solution.

What Can be Added to a Solution?

The following is a list of solution components that you can view within a solution: taken from this blog

  1. Application Ribbon
  2. Article Template
  3. Business Rule
  4. Chart
  5. Connection Role
  6. Contract Template
  7. Dashboard
  8. Email Template
  9. Entity
  10. Entity Relationship
  11. Field
  12. Field Security Profile
  13. Form
  14. Mail Merge Template
  15. Message
  16. Option Set
  17. Plug-in Assembly
  18. Process
  19. Report
  20. Sdk Message Processing Step
  21. Security Role
  22. Service Endpoint
  23. Site Map
  24. Web Resource

 

What cannot be added

  • Business Units
  • Teams
  • Queues
  • Goals
  • Subjects
  • Product Catalog

The items above must be either created manually or imported.  If you want to create manual data and use the same guids between systems then you will need to export and import the data so you can specify the guids used.

 

How solutions are applied: taken from this great blog post, although I think I have seen the picture on the CRM SDK somehwere but I can’t remember where

All solutions are evaluated as layers to determine what your CRM application will actually do. The following diagram shows how managed and unmanaged solutions are evaluated and how changes in them will appear in your organization.
Solutions2

 

Publishing

The majority of components work in the usual way

You make the change (the change is not visible or saved, so if you closed the browser the change is lost)

You save the change (not visible to the users yet)

you then publish the change to make it visible to all user

 

When you import a managed solution it will publish the changes automatically but if you import an unmanaged solution then you will need to publish those changes.

Some components do not need publishing and some do

These components need publishing

  • Application Ribbon
  • Entity
  • Entity Relationship
  • Field
  • Form
  • Message
  • Option Set
  • Site Map
  • Web Resource

One final point regarding the publishing customizations, users may experience some problems, slowdown so it’s best practise not to publish customizations during working hours and to publish the customizations at time when the system is not busy

Export and Import Solutions

To move the customizations between systems you can export your solution from one CRM instance and import it into another CRM system.  The solution is exported as a zip file.

Inside the zip file there will be a few XML files

solution

[Content_Types]

customizations

depending on what customizations you have in your solution there could also be javascript js files and plugin dll’s, image files etc.

It’s good policy to keep backups of your exported customizations in case you need to roll back your customizations.

Don’t forget there are more videos on the youtube channel Hosk Dev CRM or if you are just interested in Videos for the MB2-703 Certification – CRM 2013 Customization and Configuration exam there is a playlist you will find useful

https://www.youtube.com/playlist?list=PLsOVDEkdRUuyY0xRq8flZ-ePOcBvZ-XpJ

 

 

CRM 2013 – MB2-703 – CRM 2013 Customization and Configuration Study information

I will be covering the information in the exam but whilst I am making some study information, you will also need to do some studying yourself and below I will go through what material I would advise you to use.  If you are not sure if you want to take the exam read this and then come back ready to study.
Looking at the exam criteria you may think that the MB2-703 – CRM 2013 Customization and Configuration exam will be easy because most of the topics and functionality you use on a regular basis

  • Create and Customize Solutions (10-15 percent)
  • Customize Entities and Entity Relationships (10-15 percent)
  • Customize Fields (10-15 percent)
  • Manage Forms (10-15 percent)
  • Manage Views (10-15 percent)
  • Create and Customize Charts and Dashboards (10-15 percent)
  • Manage Security (10-15 percent)
  • Manage Business Processes and Rules (10-15 percent)

HA, don’t be fooled the exam is still hard, you need to get 70 percent that isn’t many you can get wrong   You will need to know the topics in exact detail, this means you will need to revise and be able to answer precise questions.  Roughly knowing the answer won’t be good enough because in most questions there will be two possible answers which could be right   What I am basically saying is you will have to study and revise so the knowledge is

Exam Criteria

Make sure you know what is going to appear on the certification, look at this document regularly and make sure you have revised and tried out all the functionality http://www.microsoft.com/learning/en-us/exam.aspx?id=mb2-703

CRM 2013 Trial

The best way to learn about features and functionaity in the exam is get stuck in and try it.   I have even made a video to walk you through getting a CRM 2013 setup. http://www.youtube.com/watch?v=gRSyOEt-MUQ

MOC

Customization and Configuration in Microsoft Dynamics CRM 2013

If I were to use only one source material to study for the exam, then the MOC above would be it, it goes through all the functionality that will appear in the exam.  It has examples and tasks, not to mention practice questions.  I think you have to work for a Microsoft partner

MB2-866 study notes from mscrmgeek.com by Buddy Guido took the exam and he has given some hints and tips to me and everyone, he also has a link to the study notes from mscrmgeek.com.

The study notes are very useful, 46 pages of good notes about the CRM 2011 Customization and Configuration exam. http://www.crmanswers.net/2014/01/crm-2013-mb2-703-exam-my-experience.html

The “Overview” and “Skill Measured” sections give you a good summary of the exam, and clarify the targets. Because this exam is the natural evolution of the CRM 2011 version and several concepts are still the same, I studied again the MB2-866 study notes from mscrmgeek.com (the site is currently offline, so I made a doc from the google cache and shared here: http://sdrv.ms/1bzq6Ny)

Notes From Dynamics CRM Chat

This blog has a great page on what you need to know to pass the exam and then some very detailed and free notes helping you study for the certification.

Microsoft Exam MB2-703 – CRM 2013 Customisation

CRM SDK 2013 – Customizing CRM – Entities, forms, dashboards, views

http://msdn.microsoft.com/en-us/library/gg328235(v=crm.6).aspx

Solutions – FROM CRM SDK

http://channel9.msdn.com/Series/DynamicsCRM2011/Solutions-Managed–UnManaged

CRM SDK Solutions

http://msdn.microsoft.com/en-us/library/gg334530.aspx

The Exam will focus on new features in CRM

Access Teams White Paper

Access Teams with Microsoft Dynamics CRM 2013

Good blog from powerobjects

http://www.powerobjects.com/blog/2013/11/06/access-teams-in-dynamics-crm-2013/   http://blog.customereffective.com/blog/2014/02/design-and-scalability-considerations-when-using-access-teams.html

Business Process Flow

Describes business process flows in CRM 2013 and how to use them in your custom solutions

Business Process Flows White Paper

http://blogs.msdn.com/b/mvpawardprogram/archive/2013/11/11/microsoft-dynamics-crm-2013-business-process-flow.aspx

youtube video

http://www.youtube.com/watch?v=9cXoivs0ZMA

Business Rules

http://www.powerobjects.com/blog/2013/10/24/become-pseudo-developer-business-rules-crm-2013/ http://www.crmsoftwareblog.com/2013/10/business-rules-in-crm-2013-equals-more-power-to-the-business/

Quick Create forms

http://www.powerobjects.com/blog/2013/10/29/quick-create-forms-in-dynamics-crm-2013/ http://msdynamicscrmblog.wordpress.com/2013/11/01/quick-create-forms-in-dynamics-crm-2013/

MOBILE

http://www.crmsoftwareblog.com/2014/02/go-mobile-with-dynamics-crm-2013-tablet-apps-frequently-asked-questions-answered/

Hosk CRM 2011 – Exam Cram Notes Finally I have some study notes I made for the CRM 2011 Configuration and Customization exam, these notes are not detailed but for the final revision stage of the exam, they are basically exam cram notes My exam notes will show you the detailed knowledge you will need for the exam because any of the information below could appear in the exam.

  •          a maximum of 2 columns can be used to sort a view
  •          The CRM Administrator can see everything
  •          Audit logs management is done by a system job
  •          decimal precision is set on each currency attribute AND in system settings
  •          Connection roles, security roles, optionsets, Web Resources, templates, field security profiles are all included in Solutions
  •          editing CRM website files is unsupported
  •          Auditing is enabled in System settings and then for each individual entity
  •          business units can have separate security roles, even with the same name!
  •          When assigned a security role to a user, the choice is filtered by business unit and the security roles in that business unit
  •          Disabling a business unit (and child business units) will mean all the users in that business unit won’t be able to login to CRM.
  •          Teams have security roles (this can affect which form is used)
  •          moving business units is done by changing the business units parent
  •          Managed solutions cannot be exported
  •          unManaged solutions can be exported
  •          Managed solutions can be deleted, this will delete the solution and all the entities and data
  •          Managed solutions can’t be changed or altered, except by the publisher/owner
  •          There are privileges needed to import a solution and publish it.
  •          Managed solutions use managed properties
  •          Managed solutions automatically publish on import, unmanaged solutions have to be published
  •          when you delete an un-managed solution you are only deleted the solution file, all the changes stay.
  •          To add 3d effects or modify charts you need to export the chart, change the XML and then import it.
  •          Optionsets can be used by many entities
  •          Many to Many relationships can be either Manual or Native
  •          Native many to many (N:N)  is done automatically by CRM (it creates the intersect entity but hides it)
  •          Manual Many to Many relationships are done manually an entity to sit between the two entities and have a 1 to many relationship with them both.
  •          Custom fields can be used for field level security
  •          built in fields cannot be used for field level security
  •          Each form has a fallback form
  •          A Teams  security role can influence what form is used
  •          Queue functionality cannot be unticked once it has been ticked
  •          Relationships – Cascade active – assigns active entities
  •          Relationships – Cascade all – assigns all entities
  •          Primary keys, created by, creation on, modified on cannot be audited
  •          Find columns are set in the Quick Find view for entities
  •          Business required fields don’t have to have a value if they are not included on a form
  •          importing data does not go through the same validation (e.g. business required) because validation is done only on the forms.
  •          an entity can only have one 1:M (one to many) parental relationship
  •          Display option must be filled in for Many to Many relationships
  •          WEB RESOURCE – Silverlight  XAP
  •          WEB RESOURCE – Web page HTML
  •          WEB RESOURCE – Script (JSCRIPT)
  •          WEB RESOURCE – Data (XML)
  •          WEB RESOURCE – Style Sheet (XSL)
  •          WEB RESOURCE – graphics – JPG, PNG, GIF
  •          Mapping fields must be the same type
  •          mapping optionset values must be the same
  •          APPEND – the entity you want to append
  •          APPEND TO –  The entity have things appended to it
  •          fields used in reports do not create a dependency and can be deleted

CRM 2013 – Why you should take and pass the Configuration and Customization Certification

I am going to talk about the CRM 2013 certification MB2-703 or otherwise known as Microsoft Dynamics CRM 2013 Customization and Configuration.  One reason I am talking about the CRM 2013 configuration and customization certification is I have recently started a YouTube channel Hosk’s CRM Dev and although CRM Developers will be required to do a lot of coding they will also need to do a lot of customization’s using the standard GUI tools and functionality in CRM.

I myself am going to pass the certification and I am interested in learning the new CRM 2013 functionality so I thought I would create some YouTube video’s on the exam criteria and would like you all to join me on the journey of passing the CRM 2013 Configuration and Customization exam.

There are probably a bunch of people reading this blog going I would like to pass that certification but I’m too busy, I will get round to it at some point later in the year.

STOP RIGHT THERE BUDDY

stop procrastinating and do it, give yourself a two month deadline and study and pass that certification and what’s more I’m going to help you do it, The Hosk will be cheering you on.

If you are still not on board let me tell you why you are going to do it (if you haven’t already), you have a choice you can see and hear me

or you can read why you should

1.  Money

People who have certifications get paid more.

“43 percent of survey respondents report salary increases as a result of Microsoft Certification.”

– Redmond magazine’s 2006 survey of compensation for Microsoft IT professionals

A certification is something you can take into your next pay review to help persuade your bosses to give you more cash.  The way I see it if you have a certification and your colleagues don’t, if over the year you have both done a good job then that certification is going to be something extra you have, not only do you have a certification but you also have all the knowledge to go with it.

2.  Learn the new features in CRM 2013

The certifications always have sections on the new features, so this is a great way to learn the new CRM 2013 features and get certified at the same time.  In fact it will give you focus and motivate you to get the learning done.  The other benefit will be you will brush up on some of the other parts of system you might not use.

3.  Broad range of knowledge

I have taken the CRM 4 and CRM 2011 Configuration and Customization certifications and I found them very useful in learning parts of the CRM that I wasn’t currently using in the projects I was working on.  I learnt about Goals, Dashboards, reporting, security, solutions before I used them at work.  In the CRM 2013 exam I will have to learn about Business Process Flows, Business Rules, Access teams, quick create forms.  What I am trying to say is I will learn about the functionality before I have to use it in my job, so if it comes up I will already have an idea of what it does, how it works.  A lot of being a good CRM Developer is knowing the correct tool to use at the correct time.

4.  (some) People respect certifications

if you have 2 or 3 CRM certification then people in the workplace will start to see you as  knowledgeable in CRM, their perception will change and this is particularly useful if you are starting out in your CRM career.  Certifications don’t make you a better CRM Developer or Consultant but it does mean that you have a good knowledge of CRM because you have to do a fair bit of studying to get the certification.

5.  Companies like Certifications

Companies like certifications because they need certified employees so they can get the Microsoft Gold or Silver partner status.  Companies also like certified employees because it sounds great to tell perspective clients about are certified developer/consultant.  If you have a certification you are more valuable to your company and they will often reward you for the time and effort it took to obtain the certification.

6.  Success feels good

It feels good to pass a certification, it may only be a piece of paper and something to put on LinkedIn/Rockstar 365 cv but you have set out to pass a certification and by golly you did it.  Once you get that certification no one can take it away

7.  You are committed to becoming a great CRM developer/Consultant

Life hacker has a nice paragraph in this article Will certification help me get a better job

Ultimately, getting one or two certifications will prove you’re capable of learning and retaining knowledge (or at least passing a test) but several under your belt shows that you’re committed to a career path, well versed in it, and knowledgeable. As those certifications grow to require experience and dedication to earn, they’re exponentially more valuable and prove that you’re familiar with industry best practices, have worked in the field, and have retained your knowledge (especially if it’s a cert that has to be renewed or kept up to date). So even if you don’t think the low-level ones are useful, don’t shy away from them—at best they’re a slight differentiator, but at worst they’re a stepping stone to greater things

8.  You know most of it already

Here is the headline skills measured, come on, you know at least half of that stuff already, you are half way there

  • Create and Customize Solutions (10-15 percent)
  • Customize Entities and Entity Relationships (10-15 percent)
  • Customize Fields (10-15 percent)
  • Manage Forms (10-15 percent)
  • Manage Views (10-15 percent)
  • Create and Customize Charts and Dashboards (10-15 percent)
  • Manage Security (10-15 percent)
  • Manage Business Processes and Rules (10-15 percent)

click here to read the skills needed in more details.

So after reading all that and knowing I am going to create some Video’s and information to help you (AND ME) study for the certification, what excuse can you (I will accept you already having passed the certification) have

I have written about the benefits of certifications before if you still aren’t quite persuaded.