One of my favorite aspects of consulting is the constant challenge of a new requirement, especially when I get to learn something new. In this case, I was asked to set up a Customer Portal which would allow contacts to be assigned Tasks which they would update, upload documents for verification and then mark Tasks completed.
Before my career as a Consultant, as an End User I was responsible for on-boarding new Clients. The process consisted of a manual checklist of ToDo items and Documents across multiple Clients. Things were always getting missed – it was a mess. So when I was given the Customer Portal assignment, I was extra thrilled for this opportunity!
I always start these adventures with research and while there were certainly articles associated with nearly every step, I could not find a cohesive step by step to solve this problem. After some trial and error, however, I was successful. I have documented my steps below with links to the articles as well as screenshots that I would have found helpful.
NOTE: Links to supplemental instructions from Microsoft Learn are included in the titles of each section below.
The linked article article is very easy and straightforward, but I went ahead and included screenshots as well.
Here is where it starts to get more fun. This linked article is also very thorough and helpful as there are several steps within this step. This shows how the built in SharePoint integration can be setup in just a few clicks as shown below. One catch is that you must have the appropriate permissions to complete this step.
3. Enable document management on tasks and contacts
In your solution, edit the advanced properties for the Task and Contact entities. Enable SharePoint document integration on each table.
4. Run document management wizard to create folders
I merely went in to ensure that the contact and task folders were created.
I realized the best way to do this was to set up a main form like I always do that I would like the contact to use when submitting info in the portal. I do recommend setting up a custom field for the contact to update regarding status that is not the status reason. That way you can monitor status but ultimately have control over the final record status (or use the out of box field “Percent Complete” as I did below). Also, you will need to add the document location sub grid per step 4 above.
Like the form, I wrestled with the instructions on this and landed on creating a special view on my own as usual. I saved the All Tasks view as All Portal Tasks and configured it to include my portal status field. All of this set up is going to pay off shortly!
Here is the big revelation step! If I had known about this prior, I could have saved myself a lot of time. The article even starts with an acknowledgement of complexity in this set up. Basically, this wizard takes your pieces of set up above and knits them together nearly perfectly. Why they put this at the bottom of the navigation bar is beyond me. It is totally worth the scroll though. Just click it, make your selections, and hit Create.
Now your page has been set up! Like other WYSISYG editors, this allows simple updates. Navigate to the page you just created and click on the view. Then update as needed in the menu on the right.
Now all that remains is making sure your contact has all the privileges needed to read, edit, and upload documents to their tasks. The wizard already created the task entity permission for you. Just find and update it per the screenshot below.
10. Create entity permission for SharePoint documents with task entity permission
as parent.
Also, per step 5 of the SharePoint article (that was the best article in my opinion), create the document location entity permission and save.
11. Create Web Role
Web roles stitch all these entity permissions together to allow a simple assignment per contact. While this may seem tedious, it helps in the long run. You could also just skip this step if you already had a role set up or wanted to use the default web roles.
Use the Related menu to add the entity permissions for task and documents.
13. Assign web role to contact
Use the Related menu to add that existing web role to your contact. You did it! Although you will need to test in the next step.
14. Create a test task regarding contact
Once you create this task, be aware that this did take a few minutes to show up. At first, I was disheartened, thinking I missed a step. But then, I saw this beautiful display!
Be sure to test it fully including editing and uploading a document.
And finally, make sure your edits came through.
You can also check from within your model driven app.
I hope this was helpful! I had wished for an article like this when I started this journey.
If you could use some support building or streamlining your business with Microsoft Power Platform, we would love to help. Contact Us today.
Comments