Communities Documentation
So, after a frustrating 19 day Premier Support Case when I was Setting up Knowledge on Communities only to find out it was on a Summer '16 release note, I thought what am I doing wrong, how did I not see this in the documentation (and yes, I did look back through the docco before I submitted the case. So I asked Salesforce Docs on Twitter. Wow, so it is documented. Why did I not find that? Why, even when I knew the answer, could I not find anything other than the Release Note and a Knowledge Article (which I would not have found as I was not searching the exact keywords). This is my post trying to find out why.
Searching Salesforce Documentation
I started working on Salesforce 6 years ago and quickly learnt to never ever use the Search functionality inside Success or Help because it is so slow and brings you back such irrelevant answers. So I always defaulted to Google Searching.
Maybe now that H&T has a complete revamp, maybe it's better. Maybe that's why I never found this docco. Let's see.
So, the document that I was working on to do this project, and reported to Salesforce Docs that it did not have any links back to the document they pointed to, is now removed. Ooh but here is a link that works https://resources.docs.salesforce.com/204/latest/en-us/sfdc/pdf/salesforce_communities_implementation.pdf. This document was a Winter '17 document (so current as of now), and it was what looks like to me a full and comprehensive guide to how to set up Communities. It is also based on the Developer Documentation - Getting Started with Communities. When you have to go through ALL the steps, I do find using a PDF is easier. Note: There still is a download PDF of this content button on this page. Looks like the docs team is scrambling to fix this issue.
The Document
Here is the downloaded document in case it disappears again.
salesforce_communities_implementation.pdf
I know they have deleted it now, but why doesn't this document mention on page 3 where it mentions templates - "to configure templates go to this guide to templated communities!" WHY? Even as you go through and look at the page Tabs vs Community Builder and it talks about templates there - why doesn't it point to the templates guide? Then we've got the Enable Cases for Communities Users - nothing pointing us to the right place there either. Nothing on the Force.com Sites page also - this setting is a Force.com Sites setting. Finally we get down to the section Use Community Builder with Templates. I read this document many times and did not see that I had to go to another document to find this key info.
Now look at the Dev Documentation site.
Searching the Getting Started with Communities developer site for "Guest Access to the Support API" - the exact setting that needs to be enabled to make Guest Support function returns no results in the Developer documentation. What? a setting about the "Support API" returns zero results in Salesforce Developer Documentation? That's because Support API is not a thing, and this function looks like it has been hurriedly hacked together for some security issue and slipped into a release. (You can tell this because this field is ONLY available on the Edit page of the Site Details page - it's not on the View page of Site Details and it's NOT in Community Management settings. This is just BAD Salesforce UI. But I digress, let's get back to Documentation).
Searching through the whole of the Dev site for the setting does turn up some interesting topics. Yeah, nah, I would not have been searching through Service SDK for iOS docs. Geez the iOS people get ALL the info - this setting is mentioned THREE times in the iOS SDK docs, but NO WHERE in the developer Communities docs or Knowledge docs or Sites docs - where you would expect it. Really? And how come, unlike searching in Success, Knowledge Articles do NOT get searched when doing an EVERYWHERE search query. WHY OH WHY are Developer docs different to Salesforce Docs?
So what if I try to go to the top menu in developer docs and drill down. Well Communities and Knowledge are NOT topics in the list. Whereas Salesforce Docs now has thousands of topics in their nav, Developer has about 10. Let's try Service Cloud (again, I'm NOT setting up Service Cloud, this is an NFP org who has paid for Knowledge and Communities - they don't have Service Cloud). Not anything about communities there. So how would I even navigate to the Communities documentation listed above - no idea. If enter the keyword of Communities I get that Getting Started with Communities. So that's it. Developers get no knowledge of how to set up support on communities correctly. This feature is NOT about just Napli, it is a Sites stetting so it's NOT about a templated community only.
Aha! finally a breadcrumb! I searched for Support within the Getting Started with Communities and find Using Community Builder with Templates. At first I clicked on Enable Additional Features in the hierarchy which is where I would expect anything about the Contact Support button to be, because it is right next to the Ask a Question button in the community builder, which is mentioned in that section. I'm not going to think that I have to look at a special guide for templated communities to find out how to do support. When I got really stuck I expected the answer to be in "Enable Public Access to a Community" because that is what I was trying to do - get unauthenticated users to submit support cases. Why isn't there a link to "Now to do the rest of the stuff you need to do go to the templated communities documentation".
I knew about Lightning Bolt and that the Napili community set up is now done through Lightning Bolt, but what I did not know is that they nave now separated their documentation out into setting up "templated communities" - eg communities using Napili, Koa or Kokua and general communities stuff that has not much info.
OK, so moving on.
Let's try finding this gem of a piece of information using Salesforce docs site.
From the home page, I go to Set Up and Maintain Communities, which takes to you Salesforce Communities Overview.
Enable Salesforce Communities which is where you think you would start, mentions nothing about templates. If the branch between setting up a templated community and setting up a tabbed based community is so important - why not mention it here. See I should not be able to get to Brand Your Community unless I know if I'm doing templates or tabs. Here it refers to templated communities as Community Builder-based communities.
Same documentation here as what's in developer docs really, just differently formatted. Enable Public Access to a Community doesn't mention support at all.
Again, like the dev docs, they get down to Activate your Community and Change your Community Template before you've even got anywhere near Community Templates.
In Docs, different to Dev docs, under Use Other Features In Your Community which has the same topics as Enable Additional Features in Dev Docs, it actually mentions Cases. Support docs are one up on Dev docs here then.
Nothing in Enable Cases for Communities Users mentions guest users, it only mentions External Users (I assume this means Authenticated Users). This page needs to say, "both External Users and Guest Users can created cases... here's how".
Enable Salesforce Knowledge in your Community also mentions nothing about that Knowledge can be public, or only accessible to Authenticated Users.
So finally we get to Community Templates.
I would not have gone here because I KNOW I can only use Napili for Knowledge and Cases - it's the only way to do it.
Now we get to the Napili checklist. It mentions Web-to-Case. It mentions profiles and permission sets. It mentions configure the guest user profile. It mentions give read and create permission for the case object. It mentions all the stuff about topics and data categories - important.
Set up Web-to-Case mentions nothing about all the steps around Global Actions for using Cases on Communities - it is just the generic Web to Case info. Profiles just goes to the generic profiles info - nothing about all the importance of guest user profiles etc.
So there is nothing on this checklist about anything to do with setting up Support. Given that Support is a KEY FEATURE of Napili, It's a bit useless.
So now we get to Customize Templates with Community builder. You know what, I would not have looked here either becuase I don't want to "customise" (as in change the css or code) of the community, I want to SET UP and ENABLE the Community so it works.
So I may have clicked on Manage your Community's Pages in Community Builder. Here is our first mention of Support - in one of the screen shots. But no, it's just about what to click.
I don't want to create custom pages, so I won't go there - Contact Support is a standard page.
I don't need to do anything with page visibility because it's all public.
Skip down to Manage Your Communities Settings in Community Builder - there has to be something here, surely? OK, here is a link to the Using Templates to Build Communities Guide under the heading of Guest User Profile. (But this setting that we need is not in the Guest User Profile, it's in the Sites setup.
No NOTHING.
There is NOTHING on the whole Communities navigation that can help me set up all the steps required to set up Support for Guest Users in a Napili template.
So let's try search.
"Guest Users Napili Support" because that's what I want to do.
Aha! If I had searched for that exact search string inside Salesforce docs I "may" have come across the knowledge article. It also mentions a known issue. I DID look in Known Issues - ALL OF IT. But why doesn't that search actually tell me HOW to set up Guest Users to log a support case, generally. Oh that's right, there are no support pages for that.
Why oh why can you not right click open in new tab to Developer Docs, but you can to everything else. Searching 101 - don't take me off the page to view the individual results. (At least it opens in a new tab).
I do the exact same search in Google. NOTHING. That knowledge article is not shown, but the Templates document is. Even with my having searched for and visited that document now many times. Weird.
OK OK OK, it's time to read this magical document to see if all my answers lie there.
Again similar stuff to what's on the support site.
Similar checklist with links to similar useless information.
We get to the Guest User Profile link - yep, it tells you how to set up your guest user profile and ensure cases are Read and Create. Good. But wait.. there's more to it... nope not mentioned.
ooh one mention of create a case publisher action NO it's a Global Action - they haven't been called publisher actions for a while now. Thankfully if I search for publisher actions it does find Global Actions at least so you might get pointed in the right direction.
Ok it says "enable Web-to-Case along with a case publisher action for guest users" - people would think they go to Cases > Actions to do this - NO! It's a Global Action. little bits of (mis)information but nothing concrete yet.
Now we are down to the major heading Let Guest Users Create Cases. And we have this key missing piece of info. But Wait! That's not it. That is NOT ALL the steps you need to do to "Let Guest Users Create Cases" Come On! This is ridiculous! Here are the steps I have found that MUST BE DONE to let guest users create cases.
- For a start this is only mentioning the standard Global Action NewCase, not the "publisher action" already talked about that you were told to create.
- Secondly this setting is a Sites setting, it has nothing to do with Web-to-Case.
- Then it says it's "unnecessary to set up the other options on the Web-to-Case Settings page" but it previously said to set up your auto responses, which is ON THE WEB-TO-CASE PAGE.
Now we go all the way down to the appendix to the Customer Service (Napili) Template's pages.
Contact Support Page - finally we are here - this should say how to set up contact support. "To let guest users create cases, you need to set up Web-to-Case and create a case publishing action for guest users". Again, it's NOT a case publishing action it's a Global Action to Create a Case. Nothing is mentioned here about customising the Create Case Form that is required to set the Global Actions to use here. I guess they want you to use NewCase only then. Finally this is mentioned way down the book in the Create Case Form. But no, nothing here to say that you also have to set it in the Search button on the home page AND you have to go and enable the use of this in Sites settings! Of course not!
Index. Nothing about Guest Support. Create Cases is not going to get you the information you want.
Once again, this is the type of documentation (as I've mentioned on Drawloop - (formerly Nintex Document Generation) pages too) that it tells you what all the buttons do - NOT HOW TO MAKE SOMETHING WORK!
One last thing to try.
Search "Let Guest Users Create Cases" in Salesforce Docs help. Finds the knowledge article. But it also finds this knowledge article https://help.salesforce.com/articleView?id=000232960&type=1&language=en_US that finishes with "Once this has been done, Cases should be created without issue" NO that is not correct.
Search "Let Guest Users Create Cases" in Dev Docs. No Results.
Search "Let Guest Users Create Cases" in Google
- ooh there are some Winter '16 release notes, do these help?
- "create a case quick action" no, it's a Global Action.
- "create a case page layout for unauthenticated users" What - we've just been through ALL this documentation and this is the first time this is mentioned AND you don't have to do it, even on Winter '17.
- Nope, a big fat nothing, except a link to the same PDF document.
Even Trailhead doesn't mention Support in learning about additional features in Communities. Oh damn, Trailhead resources include the deleted Communities Implementation PDF/.
Conclusion
No. After spending another 2+ hours researching this, there is no way I would have found that snippet of information on my own. And it took 19 days of a premier support case and getting through to Tier 3 to get someone to spot it.
One tiny snippet of knowledge not linked to anything else about ALL the other things you need to set up. This is just not good.
Hopefully someone can find my guide to Setting up Knowledge on Communities to find out exactly how to Enable Support for Unauthenticated Guest Users on Napili.