Salesforce Knowledge — Article Management

DEX455 - Metadata、Platform Cache、Knowledge 与 Files 完全指南

📄 第 311 页 🎬 视频课程

课程章节介绍

同学们,我们来看看怎么用Apex代码来管理Salesforce知识库里的文章,也就是生命周期管理。 首先,Salesforce给我们提供了一个命名空间,叫`KbManagement`,里面呢,有一个核心的类叫`PublishingService`。这个服务可以帮我们编程实现很多操作。比如,直接发布文章、更新文章内容、检索文章、删除文章,还能帮我们提交翻译请求、设置翻译状态、把文章存档,甚至分配审阅任务。是不是很方便?这样就不用手动在界面上点点点了,自动化流程一下子就搭起来了。 注意一个小细节,所有涉及日期的值,都是基于GMT标准时间的,不是咱们本地时间。所以写代码的时候要心里有数,该转换的时候要转换。 再来看搜索这块。有时候我们想把某些文章重点推广,让它们更容易被搜到。这时候就可以用`SearchPromotionRulesObject`,用它能把特定关键词和已经发布的文章关联起来,这样用户搜索这些关键词的时候,相关文章就会排在更前面。 还有,如果你想在搜索框里实现自动建议,就像咱们在搜索框打字,下面会弹出一些推荐的文章标题,可以用`search.suggest()`方法。但这个方法需要一个过滤器,叫`KnowledgeSuggestionFilter`,通过它可以限定建议的文章只来自某种语言,或者指定文章的发布状态,比如只建议已发布的文章。这样推荐的结果更精准。 最后要记住,所有这些关于知识的代码操作,前提是你的Salesforce环境里已经启用了知识功能,不然调用这些接口会报错哦。 好了,这一页的核心就是,通过`KbManagement`和相关的类,我们可以完全程序化地控制知识文章的整个生命周期,结合搜索增强功能,让知识库更智能。下一节我们再深入看看具体怎么写代码。

关键词

Apex Salesforce Developer Guide