为什么Drupal适合做文档管理系统
文档管理平台,主要是对文件、文档、内容的管理,我们通常认为的云盘等存储系统,其实文档系统属于CMS的范围,而不是文件管理系统,因为文档的存储一般是在硬盘,或者云盘(阿里的OSS),但是文档的组织、审核、检索、元数据之类的都属于内容管理。
因此,文档管理平台应该是CMS系统之一,内容管理体系下的。
之前有过一篇文章,是讲如何通过Drupal来构建文档管理系统,有兴趣的可以点击查阅。本文对于构建就不做赘述,只是宏观的讲解一下文档管理的需求设计、建设过程、如何运维等。
系统架构
类似我们之前讲过如何个通过Drupal构建自建视频课程平台,整体的架构其实是一致的,后端是管理体系、元数据体系、检索体系、权限体系,加上存储体系,前端是展示体系,通过大屏、网站、微信等平台对数据和内容的展示。
先回顾一下整体的技术架构,如下图:
文档系统的整体需求
我们先分析一下文档管理系统的基本需求以及功能点,
#1 元数据管理,用于管理文档的基本信息、作者、摘要、标签等。
#2 扩展和集成,方便集成第三方系统,方便输出基础数据,灵活的API,方便扩展。
#3 检索功能,具有检索功能,能实现元数据检索、文档内容全文检索。
#4 内容识别功能,能将普通的PDF、图片等原始的扫描文件,转换成数字格式,提取文本,实现OCR等功能。
#5 存储功能,能存储大量/海量的文档,能对接云盘或者对接云存储体系,实现海量存储以及快速访问功能。
#6 权限/用户等基础的功能,用户管理、内容审核、权限分配等基础的功能。
Drupal对文档管理系统的实现
对于上面的几个需求,我们简单整理一下实现思路和实现方式,
#1 元数据管理,Drupal天生的就具备灵活的元数据构建、存储、管理、标签管理功能,具体也可以参考什么是一个基本CMS应该具备的功能,里面对Drupal的元数据管理功能做了简单介绍。
#2 扩展和集成,Drupal有4万多个第三方模块,上千个发行版,因此扩展性和集成方面是比较强的。
#3 检索功能,Drupal本身有检索功能,并且与Apache Solr和Elastic Search的模块集成,所以检索功能是非常强大的。
#4 内容识别功能,Drupal的扩展性来言,可以集成第三方面的OCR模块,之前我们讲过Drupal与微软的AI集成就有OCR的识别功能,具体可以查看Drupal的AI功能模块助力网站智能化。
#5 存储功能,Drupal可以对接第三方的云存储,比如亚马逊的S3,或者阿里云的OSS。
#6 权限/用户等基础的功能,用户管理、权限管理、审核流程都是Drupal自带并且非常成熟的功能,这块完全不用担心,并且非常容易扩展,功能也很灵活。参考CMS审核机制如何设置?
构建一个文档管理系统的流程
接下来,我们分析一下构建一个文档管理系统的流程,同时也不妨参考一下网站的建设流程(成本分析之Drupal开发网站需要多少钱)
构建一个文档管理系统,我们主要包括以下几个步骤:
#1 需求调研
#2 分析文档管理的具体操作流程
#3 分析文档管理的元数据
#4 分析文档管理的审核流程以及合格要求
#5 开发阶段,设计和开发
#6 测试和部署,上线。
所以,综上看来,系统的分析阶段是比较重要的,前4个步骤都是分析和需求调研,因此对于一个业务稍微多一点的系统来讲,业务分析是核心重点,建设开发只是时间和成本的问题,也就是说开发比较难,正因为开发比较难,成本比较高,前期的需求分析和功能分析更要做到面面俱到,而不会因为一个点导致开发做大量的返工,或者一个漏洞,导致系统的开发逻辑出现了重大的偏差。
UI和管理界面
基于Drupal的本身,就内置了文件管理,并且后台的管理界面是可以定制和修改的,可以参考下面的界面
另外,我们也基于Drupal做了前后分离的管理,基于VUE的后台管理,分为文件管理、视频管理、图片管理三个分类,具体可以参考如下。
基于前后分离的架构,可以参考我们之前的Headless的文章介绍,更多资料,请参考我们之前的文章:
2. Headless CMS:以API为输出的内容系统的构建