The series that discusses the
installation of SharePoint 2016 in Azure can be found at C# Corner from the
below links,
Nintex is a premium technology partner for SharePoint. With the announcement of SharePoint 2016, Nintex has made the announcement of the general availability of Nintex Workflow 2016 on July 11th 2016.
In this article, we will see how to check whether a SharePoint Group exists or not, using Nintex Workflow, based on the list item created in a configuration list. The scope of the article will be,
- Create a configuration list that will hold the information above the SharePoint Group to be checked for existence.
- Create an item in the list which will include SharePoint Group Name.
- Trigger a Nintex Workflow on item creation or modification and check if the SharePoint Group exists with the name as the configuration list item column value. Update the list back with the result.
So, the first step is to create a list with the name, say: SharePoint Group Operations in SharePoint.
Add the following two columns to the List:
1. SP Group Name – Name of the SharePoint group.
2. Group Already Present? – Create this column to update back the result of the check.
Now, the basic infrastructure is in place. Let’s go ahead and design the Workflow. Click on ‘Create a Workflow in Nintex Workflow’ from the Workflow Settings option.
This will open the Nintex Workflow designer. Before adding the Workflow activities, declare 2 Workflow variables which will be used within the Workflow.
From the Workflow Settings option, click on Variables. It will open the form where we can add new variable.
Create the first variable of the name ‘SPGroups’. It will hold all the groups within the SharePoint Site collection.
Create a second variable of the name ‘Group already present’ and of type Boolean. It will hold the result of the group existence check.
Thus, we have created the required variables.
Now, let’s add the Workflow activity that can be used to check the presence of a group. Add the web service action, as shown below.
The action will show the below warnings as some of the configuration values are missing.
From the drop down, click on ‘Configure’.
The configuration page contains the details that will be used for checking the presence of the SharePoint group. In the URL field, add the URL for the usergroup.asmx web service. We will fetch the web URL dynamically and append “_vti_bin/usergroup.asmx” to it, so that a full web service URL is created. From Insert Reference tab, add Web URL.
Add the site collection administrator credentials which will be used by the Workflow to connect to the web service. Click on Refresh. This will populate the web methods in the drop down.
The web service URL will be shown in a pop up.
Click on OK. Select the web method which will be used to fetch the group collection from the site. Since we are fetching the groups from the site collection, let's go with ‘GetGroupColletionFromSite’. If we have a web with unique permissions and we want to check group existence in that web, we can chose ‘GetGroupCollectionFromWeb’.
The configuration form, after settings entry, will look as the following. Make sure we specify the Workflow variable ‘SPGroups’ in the field ‘Store results in’. This variable will be used to check group existence.
Now, let’s add a Regular expression activity so as to check the existence of the group .
Click on Configure option to add the condition check in the regular expression activity.
Within the ‘Pattern’ field, add the List Column ‘SP Group Name’. This will be the name of the group whose existence we are checking in the site.
Change the ‘Operation’ to ‘Check match’ and in the field ‘Input text’, add the Workflow Variable ‘SPGroups’.
Thus, we will be checking if ‘Pattern’ is present in ‘SPGroups’. Store the result of the check, a Boolean value, into the Workflow variable ‘Group Already Present’.
Now, let’s update the value of the condition check back to the list. Drag and drop ‘Update Item’ action on to the designer.
Specify the field that we will be updating in the list and the value that will be assigned to it. Here, we will be updating ‘Group Already Present?’ list column with the Workflow variable ‘Group Already Present’.
The entire Workflow will look like the following image.
Now, let’s mention when the workflow will run. Select Workflow Settings.
Specify the Workflow name and description, and set the start conditions ‘Start when items are created’ and ‘Start when items are modified’ to Yes.
Go ahead and publish the Workflow.
The publishing of the Workflow has started.
Finally, the Workflow is published.
Let’s create a list item with the name of the SharePoint Group to check for existence.
A new column by the name of the Workflow has come up in the list and it shows the status of the Workflow. The status is ‘In Progress’ and currently ‘Group Already Present?’ shows the default value’ No’.
Once the workflow has run to completion, the value of the ‘Group Already Present?’ has changed to Yes. ‘Members’ is an Out of the Box SharePoint group and the workflow has successfully validated the group’s presence.
Conclusion
Thus, we have seen how to check if a security group is present in SharePoint 2016, using UserGroup.asmx web service and Nintex Workflow 2016.