For a large retail corporation that manages 800+ vendors, it helps to automate as much of the set up and day to day tasks as possible. Not only does this reduce time spent on creating a managing a site, it also reduces the margin of error and vastly improves uniformity and consistency across all sites. This also grants a notable bonus when dealing with site and content security. By automating the process for all sites created, site security groups are created and granted permissions properly and accurately.
Implement a method to automatically create sites while following guidelines and adding customized content.
In this instance, each site will contain content that is pushed down from the parent site. This content will be uniform across all sites and will be updated often. Additionally, information specific to the site, such as contact information, will need to be included on the home page. Finally, each site will require its own unique security groups with custom permission levels. These security groups will also have limited permissions to the parent site.
The first step is to provide a method for gathering all required information. A simple solution for this is to create a custom list with fields for each requirement. For this particular case, there is a need for two contact fields, in addition to the mandatory site title and URL.
List containing site information and site creation status column
The items contained in red boxes pertain directly to the site creation process. The SiteCreated column is simply a status column - "Yes" means the site has been successfully created, and setting the field to "No" will kick off the site creation process. The sites are created based off a site template with two notable functions: content query web parts to display content pushed down from the parent site and a content editor web part where the contact information is dumped.
Successfully created vendor site
The most crucial function for this site creation tool is to apply the appropriate security. In this case, there are three major tasks:
Create site security groups and apply custom permission levels
Push site security groups to parent site and apply custom permission levels
Pull in security groups from parent site and apply the appropriate permission levels
The end result is site permissions that look like this:
Site permissions and permission levels applied on vendor site
The parents site's site permissions now has two additional groups that have been granted access:
Vendor site security groups granted custom Read permissions on parent site