For this article I want to review a part of a Customer Collaboration System that can be used to share documents with clients and cooperative work on common projects. This "proof of concept" was built using SharePoint Online and Plumsail Workflow Actions Pack.
Architecture description
The core of our system is a simple Document Library that contains various folders. Each folder matches one of the clients and contains common documents (and other folders) that will be available for a client. The permission restriction will be carried out using SharePoint Groups. Each of our clients will be created in their own SharePoint group. Each folder in the Document Library will be matched to a SharePoint group by name.
All the internal logic is included in two workflows that start on an “Item Creation” event. Additionally we will have two the custom lists "Companies" and "Contacts". We will use these lists as dictionaries to store information about clients. The “Contacts” list contains the user email and lookup to the “Companies” List.
The following is the common architecture scheme:
Figure 1: Invite External Users SharePoint Online
How it looks
How does it look for the end user? For example, we want to share a contract with our contractor. First, we need to add the contractor's company to the “Companies” list and add a couple of contractor's employees into the “Contacts” list. Right after that, we can upload any documents inside the contractor's folder into the documents library. All the contractor's employees will get an email invitation that look as in the figure below and will have access to shared documents.
Figure 2: Invite External Users SharePoint Online Invitation
Create new Company workflow
The “Create new company” workflow is very simple, it does only the following three things:
- Creates a new SharePoint group with the name of the company
- Creates a new folder in the “Documents” library
- Grants permission on the created folder
This workflow is configured to start on list item creation in the “Companies” list.
Figure 3: Invite External Users SharePoint Online Workflow
There is only one thing on which I want to pay attention, it is the parameter "Folder ID". It was provided in the following way. We need to know the folder ID to grant permission to the folder by a workflow action.
Figure 4: Invite External Users SharePoint Online Workflow
Invite External Users Workflows
There is another very simple workflow that contains only a few Workflow Actions, please pay attention that I used the Invite External Users workflow action.
This workflow is configured to start on list item creation in the “Companies” list.
Figure 5: Invite External Users SharePoint Online Workflow
Before using this workflow action, please turn on the option “Allow external users who accept sharing invitations and sign in as authenticated users” in the site collection administration interface (usually it is at the URL “https://yousite-admin.sharepoint.com/_layouts/15/online/SiteCollections.aspx”).
Conclusion
In this short article I briefly reviewed a part of the implementation of a Custom Collaboration System, based on SharePoint Online and Workflow Actions Pack. I hope you will go ahead and do more complex systems. Additionally I want to mention that using external users allows you to save your money on licenses for Office 365 users.
Please feel free to comment on this article, I am curious about your cases and implementations.