Site Provisioning in SharePoint

One of the hallmarks of a successful SharePoint implementation, or any technology platform, is scalability. How well will my environment be able to adapt and grow with my organization?

To that end, clients frequently want to know how to make the SharePoint site provisioning process easier. Can we allow our end users to provision sites on-demand? Can we build a workflow that provisions sites after an approval process? How can we simplify the process, remove the burden on our technology staff, and move faster? The answer to those questions is Yes, Yes, and Keep reading.

There are 3 main components to this solution:

  • A SharePoint List
  • A SharePoint Designer Workflow
  • A Provisioning App

SharePoint List

This is a SharePoint custom list that will contain all the details about the new site. You will want to collect the following information from the requester:

  • Site name and description.
  • Permission information for the site.
  • Site template for the new site (if you offer multiple site templates).

SharePoint Designer Workflow

The designer workflow will be associated with the SharePoint List created previously. Here are some of the components that you might want to include in this workflow:

  • An approval process that begins when the request is created.
  • An update to the List item permissions so that only the requester and the admins can view the request.
  • An HTTP Web Service call to a custom provisioning app (more details on the app in the next section).
    • The workflow will pass the site URL, List name, and List item information to the provisioning app.

Provisioning App

The provisioning app is an MVC app created using Visual Studio. This app can be broken down into 3 parts:

  • Controller
    • The SharePoint workflow calls the ApiController. It uses the HttpResponseMessage Class to return the response back to the workflow based on the execution of the site creation and/or site permissions.
  • Model
    • The model instructs the workflow which information to pass through the app. In this case, the information passed includes:
      • The Site URL
      • The List Name
      • The List Item ID
  • Service
    • The service defines the methods to create the site based on the selected site template and designate permissions.
    • This method can also check if the site already exists before creating it.

Once the logic is in place, the app can be deployed to an IIS server in Azure. Keep in mind, the app will need to be accessible over the internet so that it can be called from the SharePoint workflow. If there are additional updates to be made after the site is created, these can be incorporated into the app.

Scalability is critical to building an effective collaboration platform. Workflow automation can reduce barriers and help your organization grow faster.

Have questions? Need help building a scalable platform? Send us an email at info@peters.com or call 630.832.0075 to start the conversation.

By |2017-05-07T07:26:49-05:00March 24th, 2017|Collaboration|Comments Off on Site Provisioning in SharePoint

About the Author:

Shraddha Shah, Sr SharePoint Developer at Peters & Associates focused on developing SharePoint solutions for clients. Work with clients to understand their requirements, challenges and providing solutions in SharePoint. She has spent over 13 years in the IT and Software fields having experience in web development and SharePoint applications. Shraddha holds a M.S. in Computer Science from New York Institute of Technology, and a Bachelor of Science degree in Computer Engineering.