总览
原始 DeepWiki 页面https://deepwiki.com/mayan-edms/Mayan-EDMS/1-overview
概述
相关源文件
本章引用的主要源码文件:
.gitignoreCONTRIBUTING.mdDCOREADME.mdREADME.rstdocs/__init__.pydocs/_static/book_cover.jpgdocs/_templates/message_area.htmldocs/callbacks.pydocs/conf.pydocs/patches.pydocs/utils.py
目的与范围
本文档提供了 Mayan EDMS 的高层概述。Mayan EDMS 是一个基于 Django 构建的开源文档管理系统。文档涵盖了系统的核心目的、架构组件、主要功能和技术栈。
有关安装和部署的详细信息,请参阅安装与部署。如需全面了解核心文档管理模型及其关系,请参阅文档管理核心。有关 API 集成的详细信息,请参阅 REST API 架构。
什么是 Mayan EDMS
Mayan EDMS 是一个文档管理系统,旨在存储、检视和分类文件,并着重于保留文档的上下文和业务信息。该系统提供了从入库到组织、处理和检索的完整文档生命周期管理。
核心能力:
- 文档存储与版本控制
- OCR(光学字符识别)处理
- 文档转换与预览生成
- 元数据管理与标签
- 基于工作流的业务流程自动化
- 基于角色的访问控制与权限
- 跨多个后端的全文搜索
- 用于程序化集成的 REST API
目标用例:
- 企业文档管理
- 合规性与记录管理
- 业务流程自动化
- 数字归档与保存
- 内容组织与检索
来源:README.md:37-41, README.rst:9-13
系统架构总览
下图展示了 Mayan EDMS 的主要功能区域及其交互方式:
高层系统组件
Mayan EDMS · 系统架构总览 · 图 1
来源:基于聚类分析图和 README.md:37-41
核心架构与代码实体
此图将系统组件映射到代码库中的实际实现:
Django 应用架构
Mayan EDMS · 核心架构与代码实体 · 图 2
图示说明:基于聚类分析和 Django 应用结构整理。
技术栈
核心技术
| 组件 | 技术 | 用途 |
|---|---|---|
| Web 框架 | Django | 主应用框架 |
| 数据库 | PostgreSQL/SQLite | 数据持久化 |
| 任务队列 | Celery | 异步处理 |
| 消息代理 | Redis/RabbitMQ | 任务队列后端 |
| 搜索引擎 | Whoosh/ElasticSearch | 全文搜索 |
| 文件存储 | 本地/对象存储 | 文档文件存储 |
| OCR 引擎 | Tesseract | 文本提取 |
| 图像处理 | Pillow/ImageMagick | 文档转换 |
开发与部署
| 组件 | 技术 | 用途 |
|---|---|---|
| 容器化 | Docker | 应用打包 |
| 编排 | Docker Compose | 服务协调 |
| 持续集成/持续部署(CI/CD) | GitLab CI | 自动化测试与部署 |
| 文档 | Sphinx | 技术文档 |
| API 框架 | Django REST Framework | REST API 实现 |
来源:README.md:64-69, docs/conf.py:19-29
主要功能总结
文档管理
- 支持多种格式的文档(PDF、图片、Office 文档)
- 文档版本控制与修订历史
- 自动页面提取与缩略图生成
- 文档类型分类与模板
内容处理
- 支持多语言的 OCR 文本提取
- 将文档转换为 Web 友好格式
- 自动内容解析与元数据提取
- 数字签名支持
组织与搜索
- 通过
IndexTemplate和IndexNode实现层级文档索引 - 通过
Tag和DocumentTag模型实现基于标签的分类 - 通过
Cabinet层级结构实现文件柜/文件夹组织 - 跨文档内容和元数据的全文搜索
- 支持多后端的高级搜索
工作流与自动化
- 基于状态的工作流引擎,包含
Workflow、WorkflowState和WorkflowTransition - 自动化业务流程管理
- 事件驱动的操作与通知
- 可配置的审批与审核流程
安全与访问控制
- 通过
Permission和Role模型实现基于角色的权限 - 通过 ACL 系统实现对象级访问控制
- 用户与用户组管理集成
- 审计日志与活动追踪
集成与 API
- 支持完整 CRUD 操作的 RESTful API
- 支持外部集成的 Webhook
- 导入/导出功能
- 支持多种认证后端(LDAP、TOTP)
来源:README.md:37-41, README.rst:9-13
硬件要求
最低系统要求:
- 内存: 2 GB RAM(若禁用 OCR 则为 1 GB)
- CPU: 多核 64 位处理器,建议主频高于 1 GHz
- 存储: 根据文档量和保留策略而定
- 网络: 用于 Web 访问的标准网络连接
生产环境推荐:
- 内存: 4 GB 以上 RAM 以获得最佳性能
- CPU: 多核处理器以支持并发文档处理
- 存储: 为数据库和高速文档访问使用 SSD 存储
- 网络: 为高可用性部署使用负载均衡器
来源:README.md:72-74, README.rst:37-40