Applies to Employee Training Management.
In this post I will show you how to create training events for a certain group of people only, for example for a certain department.
Of course there is more than one approach but I think the following is the easiest one. I will use a simple SharePoint Designer Workflow to set the permissions.
I will assign two different permissions, one for the organizers (contribute) and one for the individuals (read) of the department.
Instead of creating two new columns I can also use existing ones. The Scheduled Training Events list already has 2 user fields, one is called “Organizer” and one is called “Target Audience”.
I’m going to use these two fields instead of creating two new ones. The fields are both hidden in the content type, so I’m going to change this to optional.
The two fields are now at the end of my “Schedule Training Event” form.
Open the Scheduled Training Events list in SharePoint Designer
Create a new workflow
Add an impersonation step.
Add a “Replace List Item Permissions” workflow action (only available in an impersonation step).
Click on “these permissions” and add two permissions.
For the first one select the Organizers column.
Then assign the “Contribute” permission.
Assign “Read” for the “Target Audience”.
Lastly select “Current Item” to complete the “Replace List Item Permissions” action.
What’s still missing is a condition that permissions are only replaced if one of the two user and group fields are set. If they are not, we have to inherit the permissions from the list.
That’s it, now you have to configure the workflow to start automatically when an item is created or updated.
Let’s publish the workflow and run some tests.
To test the workflow I added a new training to the Scheduled Training Events list and selected some users and groups as the organizer and the target audience.
Because I have no specific SharePoint Groups on my test site, I just selected the site members and a user as the target audience and another user as the organizers. Of course here you can also use Active Directory groups.
After saving the training I checked the items’ permissions.
Looks good to me! The next test is to clear the two user and group fields and to check if the item inherits permissions from the list again.
So everything seems to work.
Of course this is only an example. There are a lot of different approaches and permission models.
What you can also do, for example, is to create another custom list where you add all your departments. For each department you can assign a manager and individuals. To assign them you can use SharePoint groups, Active Directory groups or just select the users. In the Scheduled Training Events list you can create a lookup to select the department(s). Now you have to modify the SharePoint Designer workflow to look up the manager and the individuals from the selected department(s) and assign permissions in this way.