如何用开源的系统来构建知识库平台?
好记性不如一个烂笔头,将工作中知识/问题进行沉淀、传承,这样新人就可以通过知识库迅速掌握必要的知识,这是任何企业都需要的,也是构建知识库平台的目标。
因此,知识库是企业必备的工具之一。
对于小企业,知识库可以用简单的文档管理,但是效率低下,也可以用GIT来存放,但是展示需要一定的技术门槛,并且支持搜索、分类有限。
对于中大型企业,我们希望可以开发出更强大的知识库,满足多种应用场景,那么如何通过开源的CMS构建一套灵活性和个性化的知识库平台呢?我们总结了一下几个核心要点,需要来解决:
(1)用户体系,用户可以登录、发布内容。
(2)权限体系,对部分内容可见、或者不可见。
(3)知识管理,知识的创建、发布、附件、搜索等功能。
(4)分类管理,对知识可以分类、打标签。
(5)内容追踪,知识库是多人编辑的,因此每次提交修改,都要有版本管理。
(6)界面定制,可以对界面进行定制,分类、搜索等。
CMS的实现方式
我们使用开源的Drupal来搭建一个知识库,适应场景是对知识库有一些特定的功能,比如内容管理、附件、搜索、权限、SEO以及后期的功能维护和升级等。
对于普通的知识库,没有预算,没有功能要求,那就使用在线文档,比如腾讯文档、印象笔记,都是可以内部写作的。
对于Drupal来讲,几乎能满足知识库的所有功能,比如知识管理、文件管理、分类和权限等,对应一下上面的要求,我们一一列出来:
Drupal的核心体系:
(1)用户体系,Drupal自带用户体系,无需新建user表。
(2)权限体系,Drupal最优秀的权限模型,无需代码,即可完成最灵活的权限管理。
(3)知识管理,内容管理是Drupal的核心,构建一个新的内容类型,可以自定义字段等,完全能非常灵活实现。
(4)分类管理,Drupal默认强大得分类提,可以完全实现对知识进行分类管理。
(5)附件管理,Drupal默认的文件管理,关联知识即可。
(6)界面定制,Drupal的界面可以进行各种各样的界面定制,也可以使用Headless的方式,做更modern的前端。
系统核心架构
根据Drupal的特性以及内容类型的构建,CMS主要存储内容,包括文字(知识)、附件(PPT/WORD/PDF)、视频、音频等,然后通过API可以将内容展示在各种界面上,包括手机、微信、网站、大屏等,并且API可以被其他的第三方平台使用,比如我们有一个官网,官网可以展示一些常见的知识(FAQ),就可以直接使用API。
其他功能
除了管理和展示,知识库也有一些特别的功能,比如全文检索,在线视频课程,评论、点赞、收藏等功能,那么能否使先呢?答案肯定是可以实现的,因为我们用了可扩展的Drupal做为内容管理。
(1)Search API:全文检索,可以通过Solr/ES等系统完成任何数据的存储和检索。
(2)评论:可以使用Drupal的comment模块,可以实现对知识的评论。
(3)Flag:可以实现收藏的功能。
(4)Fivestar:可以实现点赞、五星好评等功能。
(5)标签和专题:可以通过打标签,实现标签和专题的功能。
(6)邮件订阅:Drupal有很多的模块,可以实现邮件订阅的功能,不过发邮件需要SMTP服务,SMTP一般是购买收费的服务,如果公司本身有SMTP服务器,也可以用自己的,如果邮件量不大,可以用腾讯、Gmail的免费SMTP服务。
当然,能实现的功能,我们就不一一列举,也可以参考我们之前的一些文章,来了解更多的实现功能。
《CMS的如何实现审核发布机制?》
《开源的CMS如何实现问卷调研?》
《CMS怎么做视频管理?》
《如何基于开源系统构建资料库/文档库平台》
《文档资源库建设,搜索引擎如何搜索文件的内容?》
《如何用开源的Drupal来构建视频教学平台》