34 Star 195 Fork 80

自邮之翼 / 知了-轻量化知识管理

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-3-Clause

“知了”——面向中小团队的轻量化知识管理应用

产品介绍

“知了”是自邮之翼团队研发的一款面向中小型团队的轻量化知识管理应用。自邮之翼团队是一支主要由北京邮电大学教师和研究生组成的科研团队。“知了”在功能上突出“知识管理”,使用中力求“轻量化”。

logo

“知了”以知识管理的全生命周期为核心,围绕知识的分享再利用,构建中小团队的知识库和知识分享社区,保证知识管理的核心功能。产品的主要特点如下:

  • 汇聚知识:聚合多元知识,积累知识资产;
  • 发现知识:便捷精准搜索,分级搜索查找;
  • 分享知识:组内便捷共享,组间受控隔离。

“知了”的目标人群为中小团队,在保证知识管理的核心功能的基础上,提出更简单、易维护的技术架构,力求界面UI的简洁明了,降低用户使用的门槛,达到全方位的“轻量化“:

  • 功能聚焦:保证核心功能,降低使用成本;
  • 部署方便:基于容器部署,一键快捷上线;
  • 运维简单:系统架构简洁,提供系统管理。

特色功能

2023年10月10日更新

“知了”新增外部访客角色,支持区别内部用户与访客,外部用户将只能看到公开资源,权限管理更加安全。

输入图片说明

2023年08月30日更新

“知了”现已支持资源、评论的自动保存功能。在编辑时如若断网,只需在网络恢复后刷新页面即可自动恢复已编写的内容。

输入图片说明

2023年01月08日更新

“知了”现已支持新增资源、编辑资源、搜索时使用标签搜索功能,仅需输入汉字的首字母、拼音或任意一个字即可快速模糊检索出所需要的标签。

输入图片说明

2022年04月07日更新

“知了”现已支持正式针对附件的解析(支持word、excel、txt、pdf等文本类型),并提供支持附件正文内容及评论内容的全文检索,搜索结果列表中将会通过logo 的标识反映检索该资源的出处,同时资源详情列表将展示附件的解析状态。

输入图片说明

输入图片说明

基于“知了”Open API构建的第三方应用Demo(具体场景为数据集发现门户)现已发布,目前前端样式已支持响应式布局,后端配置可在配置文件中自定义。代码仓库为https://gitee.com/free4inno-team/dataset-set,用户可以基于此模板快速配置不同场景下个性化的类信息查询应用。

2022年02月23日更新

“知了”提供了Open API,用户可以通过知了的开放能力快速构建不同场景下的知识管理类应用。例如下图为一个数据集发现门户的demo,正是基于知了的Open API 快速实现的。

输入图片说明

2021年12月26日更新

“知了”本次更新提供了资源导出为PDF的功能,欢迎大家试用并提出问题~

输入图片说明

2021年10月15日更新

“知了”强大的 书籍 功能,可以便捷地将大量 零散 的资源 汇聚 起来,便于日后对于知识的查看、编辑、分享等一系列管理。

“书籍”功能使用指南

自邮之翼有一个优良的传统:每位同学会将自己在某一领域的宝贵的学习成果做成教程。因此长期以来,团队内部积累了大量有价值的资源,例如近期团队的 大数据分析实战入门 系列讲座教程,这一系列的教程正是依托“知了”聚合成了一本 有分量 的书籍,为团队成员和未来加入团队的新人提供了一个丰富的“ 资源池 ” 。各位有兴趣的朋友可以点击链接观看。

大数据分析实战入门书籍

我们将在“知了”的后续版本中,提供开放API,届时用户可以通过更加便捷的方式,将所需的知识汇聚起来,形成一本本具有自身 特色的“书籍” ,例如:数据集、教师信息、工作文档、通知公告等。同时,我们期望从技术上,实现对外部资源的 自动化 “挖掘——解析——分类——聚合”,让每一本“书籍”可以实现高效持续的更新。

产品截图

图1-首页

图2-登陆后首页

图5-新建

图3-书籍

图4-搜索

功能概述

图6-功能概述图

技术架构

图7-系统架构图

目录说明

├─config: 项目配置文件

├─kmses: ES模块(待解耦)

├─kmstika: 附件解析模块

├─knowledgems: Web模块

└─zhi-docker: Docker部署方案
    ├─docker-compose.yml: 容器编排配置

    ├─zhies: ES镜像配置

    ├─zhimysql: MySQL镜像配置

    └─zhiweb: Web端镜像配置

安装部署

现有版本提供基于Docker 一键部署项目及所有依赖环境的Standalone 部署模式,后续版本考虑提供Cluster 部署模式。

1 部署环境

  • 建议硬件配置不低于:CPU2核/内存4G;

  • 建议操作系统:CentOs 7/Ubuntu 20.04;

  • Docker 20.10.0 及以上;

  • Docker-Compose 1.25.5 及以上。

2 部署前准备

部署前需要在宿主机中完成三个简单的操作。

  1. 修改系统参数,保证ES能够正常启动:

    echo "vm.max_map_count = 262144" >> /etc/sysctl.conf
    /sbin/sysctl -p
  2. 暴露主机端口:

    • 8081:Web访问的端口,必须开启;
    • 3306:MySQL服务端口,可以选择开启;
    • 9200、9300:Elasticsearch服务的相关端口,可以选择开启;
    • 9100:Elasticsearch-head服务端口,可以选择开启;
    • 8090:nginx文件系统端口,可以选择开启。
  3. 重启Docker

    sudo systemctl daemon-reload
    sudo systemctl restart docker

3 安装部署

方式1 Docker-compose启动(推荐)

①下载docker-compose.yml

② 使用docker-compose up -d运行

③访问8081号端口,知识管理应用正常启动

方式2 Docker Pull启动

①首先拉取三个镜像

docker pull free4inno/zhi3.0_es
docker pull free4inno/zhi3.0_mysql
docker pull free4inno/zhi3.0_web

②建立自定义网络

network create zhi_network

③依次运行三个镜像

docker run --name="zhi_es" -it -d --network zhi_network  free4inno/zhi3.0_es /bin/bash /etc/init.d/run.sh
docker run --name="zhi_mysql" -it -d --network zhi_network  free4inno/zhi3.0_mysql /bin/bash /etc/init.d/run.sh
docker run --name="zhi_web" -it -d -p 8081:8081 --network zhi_network free4inno/zhi3.0_web /bin/bash /etc/init.d/run.sh

④访问8081号端口,知识管理应用正常启动

方式3 离线启动

下载离线镜像

链接:https://pan.baidu.com/s/1OzC_bCkZV7ncCBmQlu1EDw?pwd=afpt 提取码:afpt

①加载离线镜像和docker-compose.yml

docker load -i zhi3.0_mysql.tar
docker load -i zhi3.0_es.tar
docker load -i zhi3.0_web.tar

② 运行 docker-compose up -d

③访问8081号端口,知识管理应用正常启动

启动成功,打开浏览器访问Web页面

# Web项目首页
主机公网ip:8081
默认的超级管理员账号为11111111111,密码为666666

方式4 使用您自己的数据库

当然我们也非常欢迎您使用自己的mysql数据库来部署应用。

①下载docker-compose-nomysql.yml

②确保您的数据库已启动并添加用户(用户名:zhi_user 密码:123456DockerName:zhi_mysql)

③导入初始化结构数据zhi3.0_mysql

③使用docker-compose up -d运行yml文件

开发进度

v1.0.0 -- 已完成

设计并实现了“知了”的第一个版本,主要功能如下:

  1. 资源
  • 资源支持富媒体格式,包括:文字、图片和文档附件(富文本编辑器基于TinyMCE)
  • 支持为“资源”打标签(即分类功能、支持用户自定义多级标签)
  • 支持为“资源”设置可以访问的用户组
  • 支持对资源进行评论
  • 导入“free 分享”中的历史数据
  1. 用户与群组
  • 支持用户申请、添加、删除、修改
  • 用户权限划分为超级管理员、内容管理员、用户管理员、系统管理员、普通用户、游客
  • 具有群组创建者、群组管理员、群组成员等三级权限
  • 一个用户可以同时属于多个用户组
  1. 搜索及高级搜索(基于ES)
  • 支持基于关键字(资源标题、正文、作者、群组、分类)的搜索
  • 支持基于标签、用户组的高级搜索
  • 支持直接查看用户组中的资源,直接查看带有该标签的资源
  1. 前端基于BootStrap + jQuery,支持响应式布局

v1.1.0 -- 已完成

这一次的迭代周期中,在 1.0 版本的基础上,参考原有模板重写了前端的css,对后端进行完整的测试并重写了问题代码,完成对知了前后端目前存在问题的一些修复,主要更新内容如下:

  1. 前端重构工作
  • 清理冗余静态资源
  • 设计并实现新的前端方案(含css 命名规范、使用说明、使用范围、图例)
  • 修复现有前端样式的问题
  1. 后端优化工作
  • 后端所有入口出口日志埋点
  • 进行测试,定位“问题”代码块,并解决性能问题
  • session 时长、图片转存时长设置
  • 搜索结果列表分页修复
  1. 功能新增
  • 模板发文功能
  • 书籍功能
  • 系统设置功能
  • 富文本编辑器顶栏吸附
  • 评论区支持富文本编辑及分页展示

v1.2.0 -- 已完成

1.2 版本的迭代主要着眼于后端系统的优化和完善

  1. 文件服务模块方案的重新设计及代码的重构
  • 基于现有的文件读写方案(newfreedisk.jar),进行重构
  1. 面向多环境的多套配置文件的机制
  • 清晰区分开发环境,生产环境,发布环境的不同配置
  • 根据上述配置梳理现有代码
  1. 依赖的版本升级
  • TinyMCE升级到5.9.1版本,支持markdown形式输入
  1. BUG修复
  • 修复配置文件乱码的问题

v1.2.1 -- 已完成

本次版本更新的主要目标是提供系列开放API

  1. 提供开放API
  • 查询接口
  1. BUG修复
  • 修复书籍权限调整为公开后,进入书籍仍然需要登录的问题
  • 修复书籍编辑页面JSON输入框某些情形下退格的BUG
  • 修复被推荐资源删除后spec表中仍然存在的空指针问题
  • 新增部署后时区不正确的解决方案
  1. 新增ES相关的功能接口
  • 备份ES索引
  • 删除ES索引
  • 重建ES索引

v1.2.2 -- 已完成

本次版本更新的主要目标是继续完善后端模块和新增一些实用功能

  1. 完善文件服务模块
  • 调整文件下载逻辑:图片链接直接在浏览器打开,附件链接通过浏览器下载

  • 修复附件解析模块,调整文件io逻辑,重新上线该模块

  1. 新增功能
  • 资源导出pdf
  1. BUG修复
  • 修复资源详情页面中的图片的下载问题

  • 修复点击单个标签搜索失败的问题

  • 修复评论区分割线异常的问题

v1.2.3 -- 已完成

本版本更新的主要目标是更新一些有用的新功能,并修复若干BUG

  1. 新增功能
  • 资源导出pdf支持PNG、JPG、GIF、WEBP、BITMAP等多种格式
  • 资源导出pdf支持中文名
  • 优化资源导出PDF时的缓存机制
  1. 新增开放API
  • 详情查询API
  1. 基于开放API实现单页静态页面应用实例

  2. 调整ES搜索规则

  • 标签间关系取与
  • 按照hitScore降序
  • 在hitScore降序基础上,保持createTime降序
  1. 修复若干BUG
  • 修复资源导出PDF时图片大小无法自适应宽度及越界的问题
  • 修复新建资源页面模板按钮点击偶尔错乱显示的问题
  • 修复评论折叠后换行符无效的问题
  • 修复模版按钮多次选择时高亮失效的问题

v2.0.0 -- 已完成

本次大版本更新的主要目标是全面支持附件内容、评论内容的全文检索,并完善基于Open API 实现的第三方应用的Demo的通用性

  1. 新增功能
  • 全文检索支持附件正文内容、评论内容(基于Elasticsearch 的嵌套文档实现)

  • 搜索结果页新增搜索来源的标签图形(附件/评论)

  • 资源详情页展示附件解析状态

  • 用户管理新增分配及更新用户Open API 的AppKey

  • 系统管理新增Open API Public Key 、默认密码等配置

  1. 部分权限调整
  • 限制群组外部成员(除超级管理员、内容管理员)访问群组内部资源

  • 实现基于AppKey 的Open API 校验方案

  1. 基于Open API 实现的第三方应用Demo(数据集发现门户)
  • 高级搜索支持显示和实际搜索内容分别设置

  • 美化前端样式,支持响应式布局

  • 梳理配置项并提取到配置文件中

  1. 修复若干BUG
  • 评论折叠不能保留换行的问题
  • “重新搜索”按钮无法正确同步搜索条件的问题
  • 部分场景下未登录状态搜索结果为空

v3.0.0 -- 已完成

1.用户体验优化

  • 新增“访客”角色:支持区别内部用户与访客,权限管理更加安全;
  • 新增资源自动保存功能:支持正文与评论的自动保存避免断网丢失已编辑内容;
  • 新增标签检索功能:支持更快速的检索到想要的标签;
  • 优化文件上传功能:支持内容管理员和超级管理员上传大文件;支持一次性上传多个文件;对文件未上传给出提示
  • 优化评论交互体验:支持编辑评论;长评论自动折叠功能;评论操作按钮位置优化;

2.代码质量提升及BUG修复

  • 修复了评论发表异常的相关bug
  • 修复未登录不能搜索、无登录按钮的bug
  • 修复附件加载异常的bug
  • 修复Elasticsearch若干bug
  • 修复前端若干bug

贡献说明

本项目由自邮之翼团队研发,指导老师为北京邮电大学徐鹏老师,贡献人员名单如下:

  • 北京邮电大学 2020级硕士研究生 胡裕竹
  • 北京邮电大学 2020级硕士研究生 郝一
  • 北京邮电大学 2020级硕士研究生 李运泽
  • 北京邮电大学 2020级硕士研究生 高齐鸿
  • 北京邮电大学 2018级硕士研究生 刘珂琪
  • 北京邮电大学 2018级本科生 赵浩天
  • 北京邮电大学 2018级本科生 刘新元
  • 北京邮电大学 2018级本科生 刘鸿洁
  • 北京邮电大学 2018级本科生 徐子雯
  • 北京邮电大学 2023级硕士研究生 王欣玮
  • 黑龙江大学 2020级本科生 王闯
BSD 3-Clause License Copyright (c) 2021, 胡裕竹 All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

“知了”是自邮之翼团队研发推出的一款面向中小型团队的轻量化知识管理应用。其核心特征是:功能聚焦知识管理(汇聚知识、发现知识、分享知识),基于容器一键部署,运维简单上手便捷。 展开 收起
Java 等 3 种语言
BSD-3-Clause
取消

发行版 (7)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/free4inno-team/zhi.git
git@gitee.com:free4inno-team/zhi.git
free4inno-team
zhi
知了-轻量化知识管理
branch-v3.0.0-open

搜索帮助