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 Power Portal that 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 in the Oil & Energy, and Professional Services industries, I was responsible for onboarding 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.
Set up a Power Portal to allow customers to view and edit tasks and upload documents!
This 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 article is also very thorough and helpful as there are several steps within this step. This is step 2 however in the article. Document Management was already enabled for my environment.
- Enable document management on tasks and contacts
This is also step 3 in the previous article. There is a link for more instruction in that step if needed.
- Run document management wizard to create folders
This was not exactly in the article although step 1 would take care of it if it were a first-time setup. I merely went in to ensure that the contact and task folders were created.
I included the link to the article but honestly, it confused me a bit, and eventually, I realized the best way to do this was to set up the 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 in the SharePoint document article 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 setup 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 acknowledgment 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.
- Create entity permission for SharePoint documents with task entity permission as a 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.
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.
- 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.
- 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 and am so happy about the ease that the Power Portal brought to our clients. Please feel free to contact us or connect with us on Twitter and LinkedIn to share feedback, helpful tips, etc.