总览(中文译文)
原始 DeepWiki 页面:https://deepwiki.com/mayan-edms/Mayan-EDMS/1-overview
翻译时间:2026-05-27T08:44:20.185Z
翻译模型:deepseek-chat
原文字符数:9473
项目:Mayan EDMS (mayan-edms)
--- 好的,作为一名资深技术文档翻译专家,我将严格遵循您的要求,对这份 DeepWiki 技术文档进行全文翻译和润色。
---
概述
相关源文件
以下文件被用作生成此 Wiki 页面的上下文:
.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 的主要功能区域及其交互方式:
高层系统组件
graph TB
subgraph "文档生命周期"
SOURCES["文档来源<br/>文件上传与导入"]
PROCESSING["文档处理<br/>OCR、转换、解析"]
STORAGE["文档存储<br/>文件、版本、页面"]
ORGANIZATION["文档组织<br/>元数据、标签、文件柜"]
end
subgraph "业务逻辑"
WORKFLOW["工作流引擎<br/>状态与转换"]
INDEXING["文档索引<br/>层级组织"]
SEARCH["搜索系统<br/>多后端搜索"]
PERMISSIONS["访问控制<br/>ACL 与基于角色的权限"]
end
subgraph "用户界面"
WEBUI["Web 界面<br/>Django 模板与 AJAX"]
RESTAPI["REST API<br/>程序化访问"]
NAVIGATION["导航系统<br/>菜单与链接"]
end
subgraph "基础设施"
DATABASE["数据库<br/>PostgreSQL/SQLite"]
CELERY["任务队列<br/>基于 Redis/RabbitMQ 的 Celery"]
FILESTORAGE["文件存储<br/>本地/对象存储"]
CACHE["缓存层<br/>图片与内容缓存"]
end
SOURCES --> PROCESSING
PROCESSING --> STORAGE
STORAGE --> ORGANIZATION
ORGANIZATION --> INDEXING
STORAGE --> SEARCH
WORKFLOW --> STORAGE
PERMISSIONS --> STORAGE
WEBUI --> WORKFLOW
WEBUI --> ORGANIZATION
RESTAPI --> WORKFLOW
RESTAPI --> ORGANIZATION
NAVIGATION --> WEBUI
PROCESSING --> CELERY
SEARCH --> DATABASE
STORAGE --> FILESTORAGE
PROCESSING --> CACHE
来源:基于聚类分析图和 README.md:37-41
核心架构与代码实体
此图将系统组件映射到代码库中的实际实现:
Django 应用架构
graph TB
subgraph "Django 项目结构"
SETTINGS["mayan.settings<br/>配置管理"]
APPS["MayanAppConfig<br/>应用引导"]
URLS["URL 配置<br/>路由与视图"]
end
subgraph "核心文档应用"
DOCUMENTS["mayan.apps.documents<br/>Document, DocumentType<br/>DocumentFile, DocumentVersion"]
METADATA["mayan.apps.metadata<br/>MetadataType, DocumentMetadata"]
TAGS["mayan.apps.tags<br/>Tag, DocumentTag"]
CABINETS["mayan.apps.cabinets<br/>文件柜组织"]
end
subgraph "处理应用"
CONVERTER["mayan.apps.converter<br/>文档转换"]
OCR["mayan.apps.ocr<br/>OCR 处理"]
PARSING["mayan.apps.document_parsing<br/>内容提取"]
SIGNATURES["mayan.apps.document_signatures<br/>数字签名"]
end
subgraph "工作流与组织"
WORKFLOWS["mayan.apps.document_states<br/>工作流引擎"]
INDEXING["mayan.apps.document_indexing<br/>索引模板与节点"]
SEARCH["mayan.apps.dynamic_search<br/>SearchModel, SearchBackend"]
end
subgraph "用户界面应用"
NAVIGATION["mayan.apps.navigation<br/>Link, Menu, SourceColumn"]
VIEWS["mayan.apps.views<br/>Django 视图与表单"]
REST["mayan.apps.rest_api<br/>DRF ViewSets 与 Serializers"]
end
subgraph "基础设施应用"
COMMON["mayan.apps.common<br/>ModelCopy, Events, Settings"]
PERMISSIONS["mayan.apps.permissions<br/>Permission, Role, ACL"]
SOURCES["mayan.apps.sources<br/>来源后端"]
STORAGE["mayan.apps.storage<br/>文件存储后端"]
end
APPS --> DOCUMENTS
APPS --> METADATA
APPS --> WORKFLOWS
APPS --> SEARCH
APPS --> NAVIGATION
APPS --> COMMON
DOCUMENTS --> CONVERTER
DOCUMENTS --> OCR
DOCUMENTS --> PARSING
DOCUMENTS --> INDEXING
WORKFLOWS --> DOCUMENTS
INDEXING --> DOCUMENTS
SEARCH --> DOCUMENTS
PERMISSIONS --> DOCUMENTS
NAVIGATION --> VIEWS
VIEWS --> REST
COMMON --> PERMISSIONS
SOURCES --> DOCUMENTS
来源:基于聚类分析和 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