朱治龙个人博客 - CMS
type: channel
link: https://blog.zhuzhilong.cn/tag/CMS/
items: 记一次KBS项目实施经验分享

记一次KBS项目实施经验分享
type: item
date: 2022-09-20T12:44:00+00:00
description: 背景介绍技术调研及产品选型项目实施过程1、搭建示例效果知识库首页产品首页内容详情页搜索结果页2、系统功能改造3、技术实现细节1、知识库前台模板获取栏目列表及栏目信息获取内容列表及内容信息模板嵌套当前位置内容分页分页嵌套模板(inc_page.html)超级方便的app自由模版2、应用资源文件分离改造1、application.yml 增加分离文件相关根目录配置信息2、启动应用时对目录进行初始化3、改造模板、索引文件、上传资源资源文件的代码逻辑4、系统资源目录中的静态资源文件提供对外访问服务3、后台界面支持并行蓝风格和北龙红风格1、配置中心增加 kbs.theme-mode 配置项2、全局注入主题风格变量，名称为themeMode3、修改后台jsp视图文件实施成果后台效果前台效果并行知识库北龙知识库背景介绍KBS 是我入职并行后接触的第一个项目，该项目之前有同事基于 OpenKB（采用 Node + Express + Mongodb技术栈的开源知识库应用，github地址：https://github.com/mrvautin/openKB） 搭建过一个简单的知识库，但是初步实施后的效果不是很符合预期，便安排我着手知识库相关的后续工作。以前在 TRS 的时候有接触过三一项目的知识库项目，该项目基于 TRS 自主研发的企业知识门户产品 —— TRS EKP V6.5 进行实施，是整合了公司的EKP、全文检索系统、数据网关系统等产品综合实施的一套企业内部知识分享的平台，是一个将公司内部各领域专家们的经验进行梳理沉淀的知识管理工具。经过前期的了解，我们将要做的知识库跟之前实施的三一知识库项目有非常大的出入，主要是用于一些产品文档的发布，类似阿里云、腾讯云的产品文档生成工具。最开始有考虑采用纯前端的方式实现，如当前较主流的VuePress实现，这样可以很方便的实现markdown文档编写 + algolia全文检索，并能基于git很方便达到文档版本控制的目的，但在深入沟通后，发现该方式不能满足其他的需求，如支持审核发布、支持用户认证后才可浏览。所以只能考虑其他的解决方案了。经过沟通后，决定先找个开源的 CMS，做个基础效果，再论证可行性技术调研及产品选型结合以往工作经验，经过沟通，最终考虑采用CMS的方式来实现我们的知识库项目。可考虑开源 CMS 或低成本的采购商业 CMS。以下是一些当时(2021-07-05)调研的一些开源 CMS 情况：经过沟通，最终选择了基于 jspxCMS 来进行项目可行性验证实施工作，主要有如下原因：1、jspxCMS 采用 SpringBoot + FreeMarker 跟我们团队技术栈较接近2、编辑器支持Ueditor 和 Markdown 两种编辑模式，适合给运营人员进行富文本排版及程序员轻量内容排版3、可商用，但需在页面底部保留jspxCMS版权声明，购买商业版后可去除，商业版价格也就几千块钱，且商业版支持站群模式，功能试用满足运营要求的话，可购买商业版License。项目实施过程1、搭建示例效果项目初期在本地部署了 jspxCMS 应用，准备基于该CMS实现基本的内容管理及网站发布工作。有阿里云文档做参考，主要是仿站，经过两天的实施工作，在没有UI参与的情况下实现了站点的最初的界面效果：知识库首页产品首页内容详情页搜索结果页按照目前的规划，KBS 系统可以通过栏目的方式很方便的做成公司整个产品体系的知识库门户。2、系统功能改造经过需求梳理，整理了如下待办事项：1、知识库站点模板{x} 知识库首页模板 zzl{x} 产品页模板 zzl{x} 内容页模板 zzl{x} 实现检索功能 zzl{x} 用户登录、认证对接 zzl{x} 北龙超云版知识库模板(优先级低) zzl2、后台改造{x} 改造成并行蓝风格 zzl{x} 改造左侧菜单导航样式 zzl{x} 改造顶部显示逻辑 zzl{x} 将列表中的操作列调整到表格最后一列 zzl{x} 去掉左侧菜单中商业版相关菜单入口 zzl{x} 去掉系统业务界面中商业版相关的功能入口 zzl{x} 将启动方式改成 spring-boot 模式，即 java -jar [xxx].war ，不用放到 tomcat 里 hx{x} 调研是否能支持多例 hx{x} 用户认证对接 hx{x} 支持多环境配置，即有生产，stage 和本地。 使用配置中心 hx{x} 支持 JDK 17 hx{x} 购买商业版后整合商业版相关功能模块 zzl{x} 应用资源文件分离改造。将上传文件目录、模板目录、索引文件目录从war包中分离 zzl{x} 后台界面支持并行蓝风格和北龙红风格 zzl3、技术实现细节完成该项目后主要有如下可圈可点的部分技术细节用于分享1、知识库前台模板制作网站模…