Knowledge on Communities

See also KnowledgeCommunitiesPartner CommunitiesPublic Knowledge for Mobile, Web and Facebook

So the Public Knowledge for Mobile, Web and Facebook (or PKB3) app is terrible, so I decided to push forward to communities and use the new community builder to make a simple public knowledge base using the Napili template. I thought it would be a great start to when my client moves to communities and it provides them a community framework to start with as a pilot project. 

Although I would have preferred to use Koa template, it had to be Napili because it is the only one that allows you to show Custom Objects and multi language is only supported on Napili. And the Salesforce communities showcase site - Eway is on Napili - and it has a PKB, so I thought it would all work fine. 

Start with Setting up Knowledge on Communities to do the setup and see all the gotchas. 

(Sorry, the community in this example is not working right now. I will have to get it up and running again in my spare time. Lolz, what even is spare time). 

So here is the problem. 

Here is my community https://jodiem-developer-edition.na12.force.com/branda/s/ 

Here is an article in my community https://jodiem-developer-edition.na12.force.com/branda/s/article/Test-Article - publicly available. 

 

Having this bug in the community templates means that I would have to either.

  1. Have no linked knowledge articles at all - this is how https://go.eway.io have gotten around this issue
  2. If I maintain the two PKB apps for Brand A and Brand B, it means I would have to replicate ALL The content in my knowledge articles to create completely new knowledge articles for Brand C then ensure there are no Smart Links used.
  3. If I go to three (or more - we are planning more) branded customer communities using the community templates, which is the goal and why we first created this first community as a testing ground rather than using the awful PKB3 app again, we would have to replicate EVERY ARTICLE THREE TIMES and ensure there are no smart links used. And of course you can't just clone articles, you have to copy and paste into a new article. 
  4. Create 301 redirects on EVERY article manually so that they redirect back to the community. (That's what I did). 

This can NOT be the answer. The whole idea of Knowledge, and Smart Links is that you can use one article for various channels and various customer or partner communities - and the branding on the community is just picked up from that community, or the language of the article is just picked up by the language the reader has selected. 

 The whole idea of a community site is that you can keep people on your community site and have them Contact Support if they can't find what they are looking for in the PKB and the contact support page handles deflection to other articles. 

Why would a company trying to produce enterprise level software and really push communities as the future of the way things are done, have such a glaring bug that means you have to duplicate content multiple times. That is just such the antithesis of what Salesforce is about. 

This idea and this idea both seem to suggest that Salesforce Support say it is a feature and by design!!!!! It can NOT be a feature, this can NOT have been thought about and the answer be that it is the way it is meant to work!!! it is a BUG - pure and simple - a BUG. 

 This is so disappointing that this bug exists when it seems to be such a simple fix.

The only way to work around it is to do manual 301's for each and every article that is linked from a SmartLink. 

Multi-language

OMG, Multilingual Public Knowledge bases now seem to work! 

This tiny little insignificant release note on Winter '17 seems to have fixed everything! 

The home page for Napili has a list of trending articles (What Others Are Reading on Eway). These topics are now in the Translation Workbench as a "Managed Topic". There is nothing in translation workbench to translate article titles - of course not, because that is baked into articles already. 

However, there is a Gotcha - of course there is. Even setting these Managed Topics as Translations did not make the articles appear in Chinese for me. I had to re-set EVERY TOPIC on every article that was published in Chinese. Then they magically appeared - of course I found this by accident.

Here's what I had to do. 

  • Open the Knowledge tab in regular Salesforce - filter on all articles that are in the data categories that are shown on your PKB, and filter on the language (in my case, Chinese). You will then see a list of all articles that should be visible on your PKB. 
  • Open each article one at a time (right click to open in a new tab so you don't lose the list). 
  • Edit the Article
  • Copy the Article Number
  • (Or do a report grouped by Article Number and with a status of Published and showing the Language and isMasterLanguage field so you can see which articles are in which language, but beware, you can't filter on DataCategories here so you might end up with too much displayed). 
  • In another tab have Article Management in Community Management open
  • Search for that Article Number
  • The article name will be shown in English
  • Edit that article
  • Remove all topics
  • Save it
  • Edit that article again. 
  • Add the topics
  • Save it. 
  • Check that the article now appears in the community in your selected language. 
  • Check that the article now appears in the public view of the community in your selected language. 

Note: If you have an article that is only in the other language, and not translated from English, then the article will not show in Article Management and you can't assign topics to it. The article can still be navigated to directly on the community but it will not show up on any lists on the community because all lists are topic driven only. And it won't even appear in search results. 

This whole thing of separately managing topics for each article to be published on the community AFTER you have already published the article. 

Now, there is a known issue that some buttons or static text aren't translated - and the resolution is to not use Napili at all. And another known issue about search results but none of those are showstoppers for me. Having to manually set redirection links etc - that is a showstopper.  

Places to enter Translations

  • Administer > Translation Workbench > Translate
    • Custom Field > Case > Field Label - any fields added to the Global Action for submitting a support case
      • Note: Despite hover help text being available in Communities in Winter '17 the Help Text does not show as translated. 
    • Custom Field > (your Knowledge object) > Field Label - all your custom Knowledge fields. 
    • Managed Topic > Field Label - all the topics displayed in your Community. 
    • Navigation Menu Item - the main navigation - weird that it's here and not in Navigation. 
  • Customize > Tab Names and Labels > Rename Tabs and Labels
    • Choose Language from the drop down list. 
    • Edit the Case to change the labels for the fields to appear on the Global Action for Support Cases. 
  • Customize > Communities > All Communties > Builder
    • Go through each page and each object on each page, whilst in the other language view, and update all static text and button and help text.