Setting up teams

As in CRM, users can access data based on security roles, so it may be that in our development team some user will have a user level security role so they won't be able to access entity records created by others unless they are shared with them or assigned to them. Teams provide the best option to share records with a group instead of sharing records with individual members of the team.

CRM 2015 provides us with the functionality to define access teams and owner teams. Access teams are considered lightweight teams as they don't require security role assignments; thus, they can't own entity records. In the case of access teams, individual entity records are shared with team members so individual record access is provided to team members using different access rights such as Delete, Write, Assign, Append, Append To, Share, and Read. To use access teams first we need to define an access team template based on the entity. We can only a create an access team template for an entity if the Access Teams option is checked under the entity definition.

Setting up teams

Once it is done we can define access teams by navigating to Settings | Security | Access Team Templates. After that we use the access team template in our entity by adding a sub-grid for the user entity.

As the name suggests, owner teams can own entity records and so require security role assignment. While creating owner teams, we need to assign a security role to the team and all the team members will automatically inherit this security role. The team members will be able to access data based on the team security role even if a less privileged security role is assigned to them.

In our application we need to set up two owner teams to work on the project. We are going to set up a development team. This team will include different technical and function consultants, with developers and team leads. We need another team that will be responsible for the QA testing and deployment; this team will include members who will be testing the project and will be responsible for the deployment from one server to another.

Let's set up our two teams. Perform the following steps:

  1. Navigate to Settings | Security | Teams.
  2. Click on the New command button and use the following information to set up a development team:

    Team Name: CRM Dev Team

    Business Unit: Keep as default

    Administrator: Select the user who we want to make admin of the teams

    Team Type: Owner

  3. Click on the Save button to save the team. Once the team is saved we can click the + sign under the Team members sub-grid to add a member to our team.

Similarly we need to set up our QA team and the members in it.

Sharing records with a team

Now our team is ready, so let's implement this requirement. As soon as any team is added to the project, we want to share that project with all the team members, so that they will have access to the project. There is no out-of-the-box way to share entity records with teams, but we could implement this requirement with the help of a custom development. Instead of developing this solution, we are going to use a free solution, Dynamics CRM 2015 Workflow Tools, which is available in CodePlex. This utility was developed by my colleague MVP Demian Adolfo Raschkovan.

Perform the following steps to use this utility:

  1. Download the utility from: https://msdyncrmworkflowtools.codeplex.com/releases/view/612295.
  2. Import it to our CRM application by navigating to the Settings | Solution | Import option.
  3. Navigate to Settings | Processes and click on the New button to create a new workflow.
  4. Enter the following details:

    Process Name: Share Project

    Category: Workflow

    Entity: Project

    Keep other setting as default and click on OK.

  5. Select Record is Created and Record fields change (select the Development Team field using the Select button).
  6. Click on Add Step and select the msdyncrmWorkflowTools.ShareRecordWithTeam option under msdyncrmWorkflowTools custom group as follows:
    Sharing records with a team
  7. Click on the Set Properties button and set the input arguments as follows:
    Sharing records with a team
  8. Save and Close. Now activate our workflow.

We need to set up a similar workflow for the QA team as well. This workflow will share the record with the Development and QA teams when a project record will be created or updated with these team lookup filled. We can set up our custom security roles where we can provide user level access to our custom entities. Then we can assign that security role to our development and QA team.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.144.56