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.
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.
You can find more details on how to create and use access teams from: http://www.microsoft.com/en-us/dynamics/crm-customer-center/create-a-team-template-and-add-to-an-entity-form.aspx.
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:
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
Similarly we need to set up our QA team and the members in it.
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:
Process Name: Share Project
Category: Workflow
Entity: Project
Keep other setting as default and click on OK.
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.
3.15.144.56