SharePoint 2013: A no Code Solution to Build a Change Management Request

SharePoint 2013: A no Code Solution to Build a Change Management Request


Brief Synopsis

A request had come in by a department to create a Change Management Request. This request is somewhat similar to a vacation (time off) request, however it does have some differences. Below is the basic outline of the request.
  1. The users should have the ability to fill a form. This form has certain questions which the users must answer. Let's call this a 'Change Management Request form'
  2. A "Management Committee" team will receive an alert which tells them that a form has been filled, submitted and waiting to be reviewed. They check to see if the criteria has been met and then forwards the request to an 'Awards committee'.
  3. The "Awards Committee" can only view the questions and answers, but does not have any access to who filled the form. Also, each awards committee member needs to approve or deny this request. Once the number of approved (or denied) reaches a certain quantity, the Management Committee receives an alert.
Sounds simple enough!...well...kinda. The primary and most important criteria is that all users, including the 'Awards Committee' should be able to view the existing suggestions that have already been made, however, they should not be to see who put in those suggestions. To explain how I went about setting this up I am going to break it into six separate sections. 
I am going to use a SharePoint (SP) 2013 enterprise environment with SharePoint designer 2013 and InfoPath designer 2010 to explain the steps. I am going to create three separate lists, three separate InfoPath forms and three separate workflows. One of the workflow is going to use the impersonation step. Below is the setup of my SharePoint 2013 farm.
  1. SharePoint 2013 standalone environment setup on Windows 2012 and SQL 2012 SP1.
  2. SharePoint 2013 Enterprise license.

Building the three lists

I have a SharePoint (SP) 2013 publishing site already setup as shown below:


User Input List

Create the first list called 'User Input'. Since we will be creating three separate lists, I am going to walk-through the process of setting up the first list in detail. You can create the remaining two lists using the same steps as shown below.
Click on the settings option and then choose 'Site contents' as shown below

In 'Site Contents' choose 'add an app' as shown below:


In 'Your Apps' choose 'Custom List'



Give your custom list a name. In my case I have named it as 'User Input':



You will now see the new list created. Click on it and then access the List Settings option.



Now we will be creating columns needed. Choose the 'Create column' option as shown below:




Below are the list of columns which we will need. Some of these columns are type Choice and hence I have provided the choices as well. When you create a list by default the Title column will be created. Rename the Title column to as Suggestion Topic. It is important that this change is carried out because the Title column also has a hyperlink built into it.


The Action column has the following choices. 

SU - Submitted by User
AMT - Approved by Management Team
RMT - Rejected by Management Team
AAC - Approved by Awards Committee
RAC - Rejected by Awards Committee







The State column has the following choices.

WMT - Waiting on Management Team
WAC - Waiting on Awards Committee
DONE




We will be reusing this list again so lets save it as a template. In the List Settings page choose the 'Save list as template option' as shown below:





Management Committee Input List

Now, we are going to create our second list, however, this time we are going to use the template that we saved above.
Follow the steps provided above to 'Add an app'. By default, the 'Apps You Can Add' option is selected, instead, choose the 'Your Apps' option as shown below:



Now you should be able to find the new 'ChangeManagement' template we saved. 


Click on the 'ChangeManagement' app and give it a name. In my case I have named it as 'Management Committee Input'. Now you should see the new list you have created which will contain the columns we built before.




In this list we are going to add a column. This will be a Multiple lines of text column called 'Management Team Comments' as shown below:


Awards Committee List

Now we are going to build our third and final list. Build the list in the same manner as the second list. The third list is called 'Awards Committee'
This list will be used to store the information of the Awards Committee. Each Awards committee member is going to have to choose a Yes or a No and leave a comment. We also need to a State column for each and every Awards committee.  Below are the three columns which need to be created for every Awards committee member.


Below are the screen shots for the User1 column



Below are screenshots of the User1-State column:




Below is a screenshot of the User1-Comment column:


You can add as many Awards committee members as you need. I have created a total of 5. Below is a screenshot of all my columns.



Setting up the permissions

As I had mentioned before, the primary and most important criteria is that all users, including the 'Awards Committee' should be able to view the existing  suggestions that have already been made, however, they should not be to see who put in those suggestions. Hence the permissions inheritance needs to be broken and specific permissions needs to be setup for each list. Since we will be changing the permissions of  three separate lists, I am going to walk-through the process of setting up the permissions of the first list in detail. You can setup the permissions of the remaining two lists in the same manner.

User Input list permissions

Go to the List Settings for the 'User Input' list and click on the 'Permissions for this list' as shown below:


Below is the default permissions settings. As you can see, currently this list is inheriting the permissions from its parent.


Click on the 'Stop Inheriting Permissions' option.  You will receive the below message, click OK.


For the sake of simplicity, I am going to delete all the existing groups I have and add the individual users/groups only. Since all users will need access to fill the form, I have given All Users Contribute level permission for this list. Below is a screenshot which also shows that this list now has unique permissions.


Management Committee Input list permissions

Below is a screenshot of the permission for the 'Management Committee Input' list. User7 and User8 are the two members of this committee and hence I have given them contribute access.



Awards Committee Input list permissions

Below is a screenshot of the permission for the 'Awards Committee Input' list. User1, User2, User3, User4 & User6 are the members of this committee and hence I have given them contribute access.



Building the InfoPath forms

I will be spending more time explaining step-by-step how to create the forms using InfoPath designer since it plays an important role in making the workflows work successfully. This section comprises of three separate forms for each list we created before. I have provided written steps to create these forms and also videos for each. As a reminder, you must have SharePoint 2013 enterprise level license to use the embedded forms features. 

Building the User Input form

Go to the User Input list and choose the Customize Form option (as shown below) which is on the top ribbon.


When the form is first created on InfoPath Designer, it contains all of the fields that were created in the User Input list as shown below.


For the initial Change Management Request form, we need only need the Suggestion Topic, Requester Name, Description, Solution and Result columns. The rest can be removed from the form. You can also add a title to the form to signify its use as shown below.


On the horizontal ribbon, choose Page Design and then click on New view as shown below.


Give the new view a name. In my case I have named it as 'AccessDenied'


Add some text similar to what I have shown below:

Go back to the Edit Item view and add two button control objects to the form. Name one as Submit and the other as Cancel. 
For the Submit button add an Action rule which runs the following actions- 
Submit Data 

Set the Action to SU 

Close the form


Below is what the Rule should look like

For the Cancel button add the Close This form action rule. Below is what the rule should look like.

On the horizontal ribbon, choose Data and then click on Form Load as shown below

Add the following two rules. 
NewForm rule as shown below


An AccessDeniedview as shown below

Go to File>Form Options and UNCHECK the Show InfoPath commands in Ribbon or toolbar as shown below. Confirm that Edit Item (default) is the Display view. This will prevent the end user from switching back from the AccessDenied view to the Edit view.


You can now publish the page by either going to File>Quick Publish or simply using the Quick publish button on the top left corner.

Now when you go back to your User Input list on SharePoint and choose New Item, below is the embedded form you should see.


Below is a video which walks you through the process described above to build the embedded form for Change Management Request form.


Click Here to view the same video in full size.

Building the Management Committee Input form

As we did before for the User Input form, go to the Management Committee Input list and choose the Customize Form option.
When the form is first created on InfoPath Designer, it contains all of the fields that were created in the Change Management Request list as shown below.


In this form there are a few new features we are going to add.
  •  We are going to add a two new rules in this form. The first new rule will NOT ALLOW the Management team to edit the Suggestion Topic, Requester name, Description, Solution and Result column. The second rule will FORCE the management committee to fill a comment if they deny the request.
  • Add three buttons, Accept, Deny and Cancel.
We need only need the Suggestion Topic, Requester Name, Description, Solution, Result and Management Team Comments columns. The rest can be removed from the form. You can also add a title to the form to signify its use as shown below. 


Add three Control buttons to this form and name them as Accept, Deny and Cancel. After adding the buttons below is what the form should look like.

Let's add the first new rule which will NOT ALLOW the Management team to edit the Suggestion Topic, Requester name, Description, Solution and Result column. 
This rule needs to be applied separately to Suggestion Topic, Requester Name, Description, Solution and Result field. I'm going to provide the steps for the Suggestion Topic field only, but the process is the same for the remaining.
Select the Suggestion Topic field, Click New, and then choose Formatting. Below are the settings for this rule.
Details for: Disable
Condition:  State = WMT
Formatting: check the 'Disable this control' box.
Below is a screenshot of what the settings are.


The same rule needs to be applied for remaining we mentioned above. To quicken the process, you can Copy the rule in the Suggestion Topic field and paste it in the remaining fields.

Now, lets add the second rule will FORCE the management committee to fill a comment if they deny the request. We are going to use the Validation Rule.
Select the Management Team Comments field, Click New, and then choose Validation. Below are the settings for this rule.
Details for: CommentsRequired
Condition:  Action = "RMT" and Management Team Comments is Blank

ScreenTip: Comments are required when request is denied.
Below is a screenshot of all the settings.


Now lets add the rules for each button.
Select the Accept button and add a new Action Rule. Below are the settings for this rule.
Details for: Accept
Condition:  None -Rule runs when the button is clicked.  (This is setup by default when you choose the Action rule for a button)
Run these actions:  
i) Set a field's value 


ii) Submit Data
iii) Close this form.
Below is a screenshot of all the settings.


The rules for the Deny button is very much the same except the Set a field's value Action = RMT. Below is a screenshot of all the settings.

For the Cancel button use the Action rule and use settings below as shown in the screenshot.


Go to File>Form Options and UNCHECK the Show InfoPath commands in Ribbon or toolbar. You can now publish the page by either going to File>Quick Publish or simply using the Quick publish button on the top left corner.

Now when you go back to your Management Committee list on SharePoint and choose New Item, below is the embedded form you should see. Some of you may be wondering as to why we can still edit the Suggestion Topic, Requester Name, Description, Solution and Result even though we set up the Actions in InfoPath designer. I'm glad you thought of that. The simple answer is because the we haven't setup the workflows yet to change the State. Hence, currently the State is blank and if you recall, the disable feature works only when the State is set to WMC.

Below is a video which walks you through the process described above to build the embedded form for the Management Committee form.
Click Here to view the same video in full size.


Building the Awards Committee Input form

As we did before for the Management Committee form, go to the Awards Committee Input list and choose the Customize Form option.
When the form is first created on InfoPath Designer, it contains all of the fields that were created in the list as shown below.



In this form there are a few new features we are going to add.
  •  We are going to add a two new rules in this form. The first new rule will NOT ALLOW the Management team to edit the Suggestion Topic, Description, Solution and Result column. The second rule will FORCE the awards committee to fill a comment if they choose No.
  • Add two buttons, Submit and Cancel.
There are selected fields that DO NOT need to be present in the form and hence after removing them and re-arranging the fields below is what the form looks like.

Let's add the first new rule which will NOT ALLOW the Management team to edit the Suggestion Topic, Description, Solution and Result column. 
This rule needs to be applied separately to Suggestion Topic, Description, Solution and Result field. I'm going to provide the steps for the Suggestion Topic field only, but the process is the same for the remaining.
Select the Suggestion Topic field, Click New, and then choose Formatting. Below are the settings for this rule.
Details for: Disable
Condition:  State = WAC
Formatting: check the 'Disable this control' box.
Below is a screenshot of what that looks like.


The same rule needs to be applied for remaining we mentioned above. To quicken the process, you can Copy the rule in the Suggestion Topic field and paste it in the remaining fields.

Now, lets add the second rule will FORCE the awards committee to fill a comment if they select No. We are going to use the Validation Rule.
Select the Comments field, Click New, and then choose Validation. Below are the settings for this rule.
Details for: WhenNo
Condition:  User1 = "No" and User1-Comment is Blank

ScreenTip: Comments are required when request is denied.
Below is a screenshot of all the settings.


The same rule needs to be applied to remaining four comments fields. To quicken the process, you can use the Copy and Paste feature.

Now lets add the rules for each button.
Select the Accept button and add a new Action Rule. Below are the settings for this rule.
Details for: Accept
Condition:  None -Rule runs when the button is clicked.  (This is setup by default when you choose the Action rule for a button)
Run these actions:  

i) Submit Data
ii) Close this form.
Below is a screenshot of all the settings.



For the Cancel button use the Action rule and use  settings below as shown in the screenshot.


Go to File>Form Options and UNCHECK the Show InfoPath commands in Ribbon or toolbar. You can now publish the page by either going to File>Quick Publish or simply using the Quick publish button on the top left corner.

Below is a video which walks you through the process described above to build the embedded form for Awards Committee Input form


Click Here to view the same video in full size

Building the workflows

Below is a diagrammatic view of what the workflow is going to be. I am excited to show you the new Copy and Paste feature in SharePoint Designer 2013 which makes things much, much easier and faster. 


We are going to create three separate workflows whose functions are as follows
a. Once a user fills the form and submits it, the Change Management Committee receives an email alert with information and links. A copy of this list item is created in the Change Management Committee  list. Since the permissions of both the lists are NOT THE SAME, we will be using the impersonation step.
b. Change Management Committee is going to review the user input. If the committee approves this request, then an alert email is sent to the end user and all the Awards Committee members.
c. Awards Committee members will access the form and make a decision. As the committee members are making the decision a count is kept on the total number of Yes and No. Once either one of them reaches at the value 3, an alert email is sent to the Management Committee.

Building the User Input Workflow

Open your SharePoint 2013 site using SharePoint Designer 2013. Below is what the designer should look like.


Under Navigation>Site Objects click on Lists and Libraries. Select the User Input List. Below are the two screenshots.




On the top horizontal ribbon, click on List Workflow, select SharePoint 2010 Workflow as the Platform type and give it a name. In my case I am naming it as User Input WF. Below are the screenshots.




In the horizontal ribbon, in Insert, click on Impersonation Step. You can now delete the Step 1.

Follow the steps provided in the below video to add the Conditions and Actions.  

In the Click Here URL you can put in either DispForm.aspx?=ID or EditForm.aspx?ID=

Click Here to view the same video in full size.

Building the Management Committee Workflow

Part of this workflow is to copy a list item into the Awards Committee list. In this case we will NOT BE USING the impersonation Step since the Management Committee users already have access to the Awards Committee list.

Follow the steps provided in the below video to add the Conditions and Actions.  


In the Click Here URL you can put in either DispForm.aspx?=ID or EditForm.aspx?ID=

Click Here to view the same video in full size.

Building the Awards Committee Workflow

Since SharePoint 2013 Designer now has the copy and paste feature available, building this workflow is much much easier. This workflow is keeping a count of to total number of approved and denied counts. If any one of them reach a total of 3 then an alert email is sent to the Management Committee.

Follow the steps provided in the below video to add the Conditions and Actions.  



In the Click Here URL you can put in either DispForm.aspx?=ID or EditForm.aspx?ID=

Click Here to view the same video in full size.


Finishing touches

Now that we have all the forms and workflows setup, we need to cleanup the look and feel of the default page and list views.
Home the home page, hide the lists from the Quick Launch as follows. Below is what the Quick Launch looks like

Go to User Input list, click on the List Tab and then choose List Settings as shown below


Under General Settings click on 'List name, description and navigation'


In Navigation, choose No and Save.

Do the same for the Awards Committee Input and the Management Committee Input list as well.

Also, in SharePoint 2013 the lists will still show up even though you have not displayed it due to the Recent navigation setting.
You can manually remove the Recent navigation from Settings-> Site Settings -> Navigation (under Look and Feel). 
Select the Recent navigation option and click Delete as shown below


Now when you visit the home page you will no longer see the lists in the Navigation as shown below

Lets add a few options to select from keeping in mind permissions.
Click on Settings and choose Edit


In the Page Content section, you can delete any unwanted text there and add something similar to the following. 


Save, check-in and publish the changes. We will be returning back to this home page to add URLs.
Go to User Input list, click on the List Tab and then choose Modify View as shown below


Below are the default settings of this list view.


Make the below changes:


Scroll down below and expand Style and choose Preview. Click Ok. Now when you go back to the User Input List, below is what you should see.


Right-Click on the User Input title, and copy shortcut as shown below


Go back to the home page, and  paste that URL to the 'Click Here' in 'Click Here to review existing Change Management request' .
Add the following URL to the 'Click Here' in 'Click Here to complete a new Change Management request.'
http://sp2013/Lists/User%20Input/NewForm.aspx

Go to Management Committee Input list, click on the List Tab and then choose Modify View. Make the below changes.



Scroll down below and expand Group By, choose State in the 'First Group by the column'. Click Ok. Now when you go back to the Management Committee List, you should see a view similar to the below screenshot.


Right-Click on the Management Committee title, and copy shortcut. 
Go back to the home page, and  paste that URL to the 'Click Here' in 'Click Here to review existing Change Management request'  in To Change Management Form.

Finally, Go to Awards Committee Input list, click on the List Tab and then choose Modify View. Make the below changes.


Scroll down below and expand Filter, select the 'Show items only when the following is true:' radio button and make the following changes. This will allow the Awards committee to only view those Change Management requests that are waiting for them to be reviewed and none other.


Right-Click on the  title, and copy shortcut. 
Go back to the home page, and  paste that URL to the 'Click Here' in 'Click Here to review existing Change Management request'  in To Award Committee Form.

Below is a brief video which walks you through the process of adding the text on the home page, filter the lists and adding the links.


Click Here to view the same video in full size

Demo

Finally, the below video shows a demo of how an everyday user (user10) would put in a request, the Change Management team (User 7 or User 8) would approve it and the Awards committee members would log in to approve it. 
For sake of demonstration I have created a personal view for lists with which I can view the control columns such as State and Action. This is not needed once the workflow goes live on your production farm.

(Here's a tidbit - In SharePoint 2013 the 'Sign in as a Different User' is not available, however you can use http://yoursite/_layouts/closeConnection.aspx?loginasanotheruser=true to do that.)


Click Here to view the same video in full size.

I would like to end by saying that there are several ways to perform this same function and tighten the security further, however, this demonstration should give you a quick and easy way to create a Change Management type workflow without any code!

See Also


Sort by: Published Date | Most Recent | Most Useful
Comments
  • Great article with a lot of great images and videos! Very impressive!

  • Thank you Ed, for the great compliment. I hope this article will help someone somewhere.

  • Test comment

  • Congratulations for winning a TechNet Guru gold medal: blogs.technet.com/.../technet-guru-awards-october-2013.aspx

  • I messed up the DispForm.aspx?=ID current value.  My user and management current ID value is different.

    How do I go about resetting the ID value to 0?

  • This article was featured on the home page of TNWiki: social.technet.microsoft.com/wiki

  • Ed Price,

    Thank you, thank you, thank you!! A great way to end a business week!

  • @Dan Christian,

    Thanks for the great illustration that represents an important aid just for me as a beginner to understand the features of SharePoint.

  • Hi Christian,

    You are most welcome!

    I am currently working on writing a Part-2 version of this article. This article is going to emphasize on the Loopback process. I'll be providing images and videos for this article as well.

  • Dan,

    You're welcome! This article seems to go on for forever. =^)

    Fantastic resource!

Page 1 of 2 (13 items) 12