I am sure that most of you have gone through this, to create a security role from scratch. It is one of the painful tasks. When you have around 20 50 entities. It gets worse when this number goes higher. Rather than spending hours on this, my way of doing this is to plan what security roles you need first. Then you can check whether the exiting out of the box Security Roles can be used or not.
After doing this initial investigation, you can use an existing Security Role as a template to create a new one. But be careful when you picking up the security role. You may end up in the same situation as if you were creating the role from the scratch if it doesn’t match your security requirements. Try to pick up the one with minimal changes. And above all you need to have a good understanding of what privileges it gives to the end user.
First select the security role you want to use and add it to your solution.
One of the cool features of the CRM 2011 is, for entities we can create multiple forms. In this way you have more control over what the end user will see. Even more you can create multiple forms to control the visibility and data entry which allows more privacy over data.
In the example bellow I wanted to have a separate lead form for data entry, keeping the default form intact. My intention here is to control the displaying of information.
So I created a new Lead form as follows.
I have created a virtual machine and deployed CRM 2011 to do some R&D work recently. After creating the solution and adding all the necessary entities to the solution I have started do my work. First I wanted to check the Async service functionality, so I created a simple workflow to create a Task activity when a Lead record is created.
But when the record was created the workflow didn’t get fired. When I checked on the System Jobs, only the Workflow Expansion Task was started and it was waiting for resources. I did some googling and found different solutions, but few, that didn’t helped me at all.
Instinctively I opened the Deployment Managed and Checked the organization settings. There I found that the State of the Organization is Failed. So I deleted the failed organization and created a new one. Of course I had to recreate the solution, but after creating the same workflow and when I created the new Lead record, this time the work flow executed successfully. So the bottom line was that the Failed state of the organization made the Async service not to initiate the system job to execute the workflow.